Mercurial > projects > ldc
view tango/tango/stdc/fenv.d @ 303:4aa2b6753059 trunk
[svn r324] Small indentation fixes.
Added end of line to complex.cpp.
author | ChristianK |
---|---|
date | Wed, 25 Jun 2008 20:42:30 +0200 |
parents | 1700239cab2e |
children |
line wrap: on
line source
/** * D header file for C99. * * Copyright: Public Domain * License: Public Domain * Authors: Sean Kelly, Walter Bright * Standards: ISO/IEC 9899:1999 (E) */ module tango.stdc.fenv; extern (C): version( Win32 ) { struct fenv_t { ushort status; ushort control; ushort round; ushort[2] reserved; } alias int fexcept_t; } else version( linux ) { struct fenv_t { ushort __control_word; ushort __unused1; ushort __status_word; ushort __unused2; ushort __tags; ushort __unused3; uint __eip; ushort __cs_selector; ushort __opcode; uint __data_offset; ushort __data_selector; ushort __unused5; } alias int fexcept_t; } else version ( darwin ) { version ( BigEndian ) { alias uint fenv_t; alias uint fexcept_t; } version ( LittleEndian ) { struct fenv_t { ushort __control; ushort __status; uint __mxcsr; byte[8] __reserved; } alias ushort fexcept_t; } } else { static assert( false ); } enum { FE_INVALID = 1, FE_DENORMAL = 2, // non-standard FE_DIVBYZERO = 4, FE_OVERFLOW = 8, FE_UNDERFLOW = 0x10, FE_INEXACT = 0x20, FE_ALL_EXCEPT = 0x3F, FE_TONEAREST = 0, FE_UPWARD = 0x800, FE_DOWNWARD = 0x400, FE_TOWARDZERO = 0xC00, } version( Win32 ) { private extern fenv_t _FE_DFL_ENV; fenv_t* FE_DFL_ENV = &_FE_DFL_ENV; } else version( linux ) { fenv_t* FE_DFL_ENV = cast(fenv_t*)(-1); } else version( darwin ) { private extern fenv_t _FE_DFL_ENV; fenv_t* FE_DFL_ENV = &_FE_DFL_ENV; } else { static assert( false ); } void feraiseexcept(int excepts); void feclearexcept(int excepts); int fetestexcept(int excepts); int feholdexcept(fenv_t* envp); void fegetexceptflag(fexcept_t* flagp, int excepts); void fesetexceptflag(fexcept_t* flagp, int excepts); int fegetround(); int fesetround(int round); void fegetenv(fenv_t* envp); void fesetenv(fenv_t* envp); void feupdateenv(fenv_t* envp);