Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
Developer Support
QNX Documentation Library
QNX Developer Support

QNX Developer Support

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

[Previous] [Contents] [Index] [Next]

fp_rounding()

Set or get the current rounding

Synopsis:

#include <fpstatus.h>

int fp_rounding( int newrounding );

Arguments:

newrounding
The new rounding; one of:
  • < 0 -- return the current setting.
  • _FP_ROUND_NEAREST
  • _FP_ROUND_ZERO
  • _FP_ROUND_POSITIVE
  • _FP_ROUND_NEGATIVE

Library:

libm

Use the -l m option to qcc to link against this library.

Description:

The fp_rounding() function sets or gets the current rounding mode, depending on the value of newrounding.

Returns:

If newrounding is less than 0, the current rounding mode; otherwise, the previous mode.


Note: This function doesn't return a special value to indicate that an error occurred. If you want to check for errors, set errno to 0, call the function, and then check errno again.

Examples:

#include <fpstatus.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char** argv) 
{
   int ret;

   ret = fp_rounding(-1);
   printf("Rounding mode: ");
   if (ret == _FP_ROUND_NEAREST)
      printf("Nearest \n");
   else if (ret == _FP_ROUND_POSITIVE)
      printf("Positive \n");
   else if (ret == _FP_ROUND_NEGATIVE)
      printf("Negative \n");
   else if (ret == _FP_ROUND_ZERO)
      printf("To Zero \n");
   else
      printf("Error \n");

   return EXIT_SUCCESS;
}

Classification:

QNX Neutrino

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

fp_exception_mask(), fp_exception_value(), fp_precision()


[Previous] [Contents] [Index] [Next]