Restore the floating-point environment and raise any previously raised exceptions
Synopsis:
#include <fenv.h>
int feupdateenv( const fenv_t *envp );
Arguments:
- envp
- A pointer to a fenv_t object that holds a previously saved floating-point environment.
You can set this by calling
feholdexcept()
or
fesetenv(),
or it can be FE_DFL_ENV, which points to a full copy of the default floating-point environment
(i.e., the environment as loaded at program startup).
Library:
- libm
- The general-purpose math library.
- libm-sve
- (QNX Neutrino 7.1 or later)
A library that optimizes the code for ARMv8.2 chips that have Scalable Vector Extension hardware.
Your system requirements will determine how you should work with these libraries:
- If you want only selected processes to run with the SVE version, you can include both libraries in your OS image
and use the -l m or -l m-sve option to
qcc
to link explicitly against the appropriate one.
- If you want all processes to use the SVE version, include libm-sve.so in your OS image
and set up a symbolic link from libm.so to libm-sve.so.
Use the -l m option to
qcc
to link against the library.
Note:
Compile your program with the -fno-builtin option to prevent the compiler from using a
built-in version of the function.
Description:
The feupdateenv() function
restores the floating-point environment the object that envp points to,
and then raises any previously raised exceptions that were saved.
You can use this function to end the nonstop mode that was earlier installed by
feholdexcept().
Classification:
C99,
POSIX 1003.1
Safety: |
|
Cancellation point |
No |
Interrupt handler |
Yes |
Signal handler |
Yes |
Thread |
Yes |