1/*-
2 * Written by J.T. Conklin, Apr 6, 1995
3 * Public domain.
4 * $FreeBSD$
5 */
6
7#ifndef _MACHINE_IEEEFP_H_
8#define _MACHINE_IEEEFP_H_
9
10/* Deprecated FPU control interface */
11
12#include <machine/fsr.h>
13
14typedef int fp_except_t;
15#define FP_X_IMP	FSR_NX	/* imprecise (loss of precision) */
16#define FP_X_DZ		FSR_DZ	/* divide-by-zero exception */
17#define FP_X_UFL	FSR_UF	/* underflow exception */
18#define FP_X_OFL	FSR_OF	/* overflow exception */
19#define FP_X_INV	FSR_NV	/* invalid operation exception */
20
21typedef enum {
22	FP_RN = FSR_RD_N,	/* round to nearest representable number */
23	FP_RZ = FSR_RD_Z,	/* round to zero (truncate) */
24	FP_RP = FSR_RD_PINF,	/* round toward positive infinity */
25	FP_RM = FSR_RD_NINF	/* round toward negative infinity */
26} fp_rnd_t;
27
28__BEGIN_DECLS
29extern fp_rnd_t    fpgetround(void);
30extern fp_rnd_t    fpsetround(fp_rnd_t);
31extern fp_except_t fpgetmask(void);
32extern fp_except_t fpsetmask(fp_except_t);
33extern fp_except_t fpgetsticky(void);
34__END_DECLS
35
36
37#endif /* _MACHINE_IEEEFP_H_ */
38