fegetenv - Linux


fegetenv is a utility for printing and manipulating the floating-point environment of the calling process. It allows users to retrieve and set the current floating-point rounding mode, exception handling behavior, and other settings that affect the behavior of floating-point operations. This command is particularly useful for debugging and testing numerical applications or optimizing performance.


fegetenv [-s]


-s: Instead of printing the floating-point environment, store it in the global variable __fenv_save__.


Get the current floating-point environment:

$ fegetenv

Store the current floating-point environment in a variable:

$ fegetenv -s

Set the floating-point rounding mode to nearest:

$ fegetenv -s

Common Issues

  • Ensure that the __fenv_save__ variable is initialized before storing the floating-point environment using the -s flag.


  • fegetenv can be used in conjunction with the fesetenv command to change the floating-point environment of the calling process.
  • It can also be integrated into scripts or C programs to control the floating-point environment for specific operations or debugging purposes.

Related Commands

  • fesetenv: Sets the floating-point environment of the calling process.
  • feupdateenv: Updates the floating-point environment based on the exception flags.
  • fenv.h: C header file defining the floating-point environment and related functions.