sl@0: /** @file ../arm/fenv.h sl@0: @internalComponent sl@0: */ sl@0: sl@0: /** @typedef typedef __uint32_t fenv_t; sl@0: sl@0: Represents the entire floating-point environment. The floating-point environment refers collectively to any floating-point status flags and control modes supported by the implementation. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @typedef typedef __uint32_t fexcept_t; sl@0: sl@0: Represents the floating-point status flags collectively, including any status the implementation associates with the flags. A floating-point status flag is a system variable whose value is set (but never cleared) when a floating-point exception is raised, which occurs as a side effect of exceptional floating-point arithmetic to provide auxiliary information. A floating-point control mode is a system variable whose value may be set by the user to affect the subsequent behavior of floating-point arithmetic. sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def FE_INVALID sl@0: sl@0: Exception flags sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def FE_DIVBYZERO sl@0: sl@0: Exception flags sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def FE_OVERFLOW sl@0: sl@0: Exception flags sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def FE_UNDERFLOW sl@0: sl@0: Exception flags sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def FE_INEXACT sl@0: sl@0: Exception flags sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def FE_ALL_EXCEPT sl@0: sl@0: Exception flags sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def FE_TONEAREST sl@0: sl@0: Rounding modes sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def FE_TOWARDZERO sl@0: sl@0: Rounding modes sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def FE_UPWARD sl@0: sl@0: Rounding modes sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def FE_DOWNWARD sl@0: sl@0: Rounding modes sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def FE_DFL_ENV sl@0: sl@0: Default floating-point environment sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @def _FPUSW_SHIFT sl@0: sl@0: We need to be able to map status flag positions to mask flag positions sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn feclearexcept(int __excepts) sl@0: sl@0: clear floating-point exception sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn fesetexceptflag(const fexcept_t *__flagp, int __excepts) sl@0: sl@0: set floating-point status flags sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn fetestexcept(int __excepts) sl@0: sl@0: test floating-point exception flags sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn feraiseexcept(int __excepts) sl@0: sl@0: raise floating-point exception sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn fegetround(void) sl@0: sl@0: get current rounding direction sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn fesetround(int __round) sl@0: sl@0: set current rounding direction sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn fegetenv(fenv_t *__envp) sl@0: sl@0: get current floating-point environment sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn feholdexcept(fenv_t *__envp) sl@0: sl@0: save current floating-point environment sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn fesetenv(const fenv_t *__envp) sl@0: sl@0: set current floating-point environment sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn feupdateenv(const fenv_t *__envp) sl@0: sl@0: update floating-point environment sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn feenableexcept(int __mask) sl@0: sl@0: enable floating-point exception sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn fedisableexcept(int __mask) sl@0: sl@0: disable floating-point exception sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn fegetexcept(void) sl@0: sl@0: get floating-point status flags sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */ sl@0: sl@0: /** @fn fegetexceptflag(fexcept_t *__flagp, int __excepts) sl@0: sl@0: get floating-point status flags sl@0: sl@0: @publishedAll sl@0: @externallyDefinedApi sl@0: */