fp_precision()

Set or get the current precision

Synopsis:

#include <fpstatus.h>

int fp_precision( int newprecision );

Since:

BlackBerry 10.0.0

Arguments:

newprecision
The new precision; one of:
  • < 0 — return the current setting.
  • _FP_PREC_FLOAT
  • _FP_PREC_DOUBLE
  • _FP_PREC_EXTENDED
  • _FP_PREC_DOUBLE_EXTENDED

Library:

libm

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

Description:

The fp_precision() function sets or gets the current floating-point precision, depending on the value of newprecision.

Returns:

If newprecision is less than 0, the current precision; otherwise, the previous precision.

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>

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

   ret = fp_precision(-1);
   printf("Precision: ");
   if (ret == _FP_PREC_FLOAT)
      printf("Float \n");
   else if (ret == _FP_PREC_DOUBLE)
      printf("Double \n");
   else if (ret == _FP_PREC_EXTENDED)
      printf("Extended \n");
   else if (ret == _FP_PREC_DOUBLE_EXTENDED)
      printf("128 Bit \n");
   else if (ret == _FP_PREC_EXTENDED)
      printf("Extended \n");
   else if (ret == _FP_PREC_DOUBLE_EXTENDED)
      printf("128 Bit \n");
   else
      printf("Error \n");

   return(0);
}

Classification:

QNX Neutrino

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

Last modified: 2014-06-24



Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus