Operating systems, development tools, and professional services
for connected embedded systems
for connected embedded systems
![]() |
![]() |
![]() |
![]() |
fp_precision()
Set or get the current precision
Synopsis:
#include <fpstatus.h> int fp_precision( int newprecision );
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:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | No |
| Thread | Yes |
See also:
fp_exception_mask(), fp_exception_value(), fp_rounding()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
