haiku/headers/posix/arch/m68k/fenv.h

64 lines
1.0 KiB
C
Raw Normal View History

/*
* Copyright (c) 2005-2019 Rich Felker, et al.
*
* Part of MUSL, released under the MIT license.
*/
#ifndef _FENV_H_
#define _FENV_H_
#ifdef __cplusplus
extern "C" {
#endif
#if __HAVE_68881__ || __mcffpu__
#define FE_INEXACT 8
#define FE_DIVBYZERO 16
#define FE_UNDERFLOW 32
#define FE_OVERFLOW 64
#define FE_INVALID 128
#define FE_ALL_EXCEPT 0xf8
#define FE_TONEAREST 0
#define FE_TOWARDZERO 16
#define FE_DOWNWARD 32
#define FE_UPWARD 48
#else
#define FE_ALL_EXCEPT 0
#define FE_TONEAREST 0
#endif
typedef unsigned fexcept_t;
typedef struct {
unsigned __control_register, __status_register, __instruction_address;
} fenv_t;
#define FE_DFL_ENV ((const fenv_t *) -1)
int feclearexcept(int);
int fegetexceptflag(fexcept_t *, int);
int feraiseexcept(int);
int fesetexceptflag(const fexcept_t *, int);
int fetestexcept(int);
int fegetround(void);
int fesetround(int);
int fegetenv(fenv_t *);
int feholdexcept(fenv_t *);
int fesetenv(const fenv_t *);
int feupdateenv(const fenv_t *);
#ifdef __cplusplus
}
#endif
#endif