11.5Sriastrad/* $NetBSD: fenv.h,v 1.5 2024/05/12 20:04:12 riastradh Exp $ */ 21.1Smatt 31.3Sskrll/* 41.1Smatt * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995 51.1Smatt * Public domain. 61.1Smatt */ 71.1Smatt 81.1Smatt#ifndef _RISCV_FENV_H_ 91.1Smatt#define _RISCV_FENV_H_ 101.1Smatt 111.1Smatttypedef int fenv_t; /* FPSCR */ 121.1Smatttypedef int fexcept_t; 131.1Smatt 141.5Sriastrad#define FE_INEXACT ((int)__BIT(0)) /* Result inexact */ 151.5Sriastrad#define FE_UNDERFLOW ((int)__BIT(1)) /* Result underflowed */ 161.5Sriastrad#define FE_OVERFLOW ((int)__BIT(2)) /* Result overflowed */ 171.5Sriastrad#define FE_DIVBYZERO ((int)__BIT(3)) /* divide-by-zero */ 181.5Sriastrad#define FE_INVALID ((int)__BIT(4)) /* Result invalid */ 191.1Smatt 201.4Sskrll#define FE_ALL_EXCEPT \ 211.4Sskrll (FE_INEXACT | FE_UNDERFLOW | FE_OVERFLOW | FE_DIVBYZERO | FE_INVALID) 221.1Smatt 231.1Smatt#define FE_TONEAREST 0 /* round to nearest representable number */ 241.1Smatt#define FE_TOWARDZERO 1 /* round to zero (truncate) */ 251.1Smatt#define FE_DOWNWARD 2 /* round toward negative infinity */ 261.1Smatt#define FE_UPWARD 3 /* round toward positive infinity */ 271.1Smatt 281.1Smatt__BEGIN_DECLS 291.1Smatt 301.1Smatt/* Default floating-point environment */ 311.2Schsextern const fenv_t __fe_dfl_env; 321.1Smatt#define FE_DFL_ENV (&__fe_dfl_env) 331.1Smatt 341.1Smatt__END_DECLS 351.1Smatt 361.1Smatt#endif /* _RISCV_FENV_H_ */ 37