fp_exception_value()

Get the value of the current exception registers

Synopsis:

#include <fpstatus.h>

int fp_exception_value( int mask );

Since:

BlackBerry 10.0.0

Arguments:

mask
A mask whose bits indicate which registers you want the value of. The bits include:
  • _FP_EXC_INVALID
  • _FP_EXC_DIVZERO
  • _FP_EXC_OVERFLOW
  • _FP_EXC_UNDERFLOW
  • _FP_EXC_INEXACT
  • _FP_EXC_DENORMAL

Library:

libm

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

Description:

The fp_exception_value() function gets the value of the current exception registers. Set bits indicate that the exception has signaled, unset bits indicate that the exception hasn't signaled.

Returns:

The value of the current exception registers based on the values from <fpstatus.h>.

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;

/* Test to see if an operation has set (but not necessarily
 * signaled depending on the exception mask) the
 * division by zero bit:
 */

   if (fp_exception_value(_FP_EXC_DIVZERO) & _FP_EXC_DIVZERO)
      printf("Division by zero has occurred \n");
   else
      printf("Division by zero has not occurred \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