/* $NetBSD: fenv.h,v 1.5 2024/05/12 20:04:12 riastradh Exp $ */
/*
* Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995
* Public domain.
*/
#ifndef _RISCV_FENV_H_
#define _RISCV_FENV_H_
typedef int fenv_t; /* FPSCR */
typedef int fexcept_t;
#define FE_INEXACT ((int)__BIT(0)) /* Result inexact */
#define FE_UNDERFLOW ((int)__BIT(1)) /* Result underflowed */
#define FE_OVERFLOW ((int)__BIT(2)) /* Result overflowed */
#define FE_DIVBYZERO ((int)__BIT(3)) /* divide-by-zero */
#define FE_INVALID ((int)__BIT(4)) /* Result invalid */
#define FE_ALL_EXCEPT \
(FE_INEXACT | FE_UNDERFLOW | FE_OVERFLOW | FE_DIVBYZERO | FE_INVALID)
#define FE_TONEAREST 0 /* round to nearest representable number */
#define FE_TOWARDZERO 1 /* round to zero (truncate) */
#define FE_DOWNWARD 2 /* round toward negative infinity */
#define FE_UPWARD 3 /* round toward positive infinity */
__BEGIN_DECLS
/* Default floating-point environment */
extern const fenv_t __fe_dfl_env;
#define FE_DFL_ENV (&__fe_dfl_env)
__END_DECLS
#endif /* _RISCV_FENV_H_ */