1 /* $NetBSD: fenv.h,v 1.1 2014/09/03 19:34:26 matt Exp $ */ 2 3 /* 4 * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995 5 * Public domain. 6 */ 7 8 #ifndef _OR1K_FENV_H_ 9 #define _OR1K_FENV_H_ 10 11 typedef int fenv_t; /* FPSCR */ 12 typedef int fexcept_t; 13 14 #define FE_OVERFLOW 0x001 /* Result overflowed */ 15 #define FE_UNDERFLOW 0x002 /* Result underflowed */ 16 #define FE_SNAN 0x004 /* Result SNaN */ 17 #define FE_QNAN 0x008 /* Result QNaN */ 18 #define FE_ZERO 0x010 /* Result zero */ 19 #define FE_INEXACT 0x020 /* Result inexact */ 20 #define FE_INVALID 0x040 /* Result invalid */ 21 #define FE_INFINITY 0x080 /* Result infinite */ 22 #define FE_DIVBYZERO 0x100 /* divide-by-zero */ 23 24 #define FE_ALL_EXCEPT 0x1ff 25 26 #define FE_TONEAREST 0 /* round to nearest representable number */ 27 #define FE_TOWARDZERO 1 /* round to zero (truncate) */ 28 #define FE_UPWARD 2 /* round toward positive infinity */ 29 #define FE_DOWNWARD 3 /* round toward negative infinity */ 30 31 __BEGIN_DECLS 32 33 /* Default floating-point environment */ 34 extern const fenv_t __fe_dfl_env; 35 #define FE_DFL_ENV (&__fe_dfl_env) 36 37 __END_DECLS 38 39 #endif /* _OR1K_FENV_H_ */ 40