2 * D header file for C99.
4 * Copyright: Public Domain
5 * License: Public Domain
6 * Authors: Sean Kelly, Walter Bright
7 * Standards: ISO/IEC 9899:1999 (E)
29 ushort __control_word;
39 ushort __data_selector;
45 else version ( darwin )
52 version ( LittleEndian )
62 alias ushort fexcept_t;
65 else version ( freebsd )
77 alias ushort fexcept_t;
81 static assert( false );
87 FE_DENORMAL = 2, // non-standard
96 FE_TOWARDZERO = 0xC00,
101 private extern fenv_t _FE_DFL_ENV;
102 fenv_t* FE_DFL_ENV = &_FE_DFL_ENV;
104 else version( linux )
106 fenv_t* FE_DFL_ENV = cast(fenv_t*)(-1);
108 else version( darwin )
110 private extern fenv_t _FE_DFL_ENV;
111 fenv_t* FE_DFL_ENV = &_FE_DFL_ENV;
113 else version( freebsd )
115 private extern fenv_t __fe_dfl_env;
116 fenv_t* FE_DFL_ENV = &__fe_dfl_env;
120 static assert( false );
123 void feraiseexcept(int excepts);
124 void feclearexcept(int excepts);
126 int fetestexcept(int excepts);
127 int feholdexcept(fenv_t* envp);
129 void fegetexceptflag(fexcept_t* flagp, int excepts);
130 void fesetexceptflag(in fexcept_t* flagp, int excepts);
133 int fesetround(int round);
135 void fegetenv(fenv_t* envp);
136 void fesetenv(in fenv_t* envp);
137 void feupdateenv(in fenv_t* envp);