1139825Simp/* -
296499Sbenno * Written by J.T. Conklin, Apr 6, 1995
396499Sbenno * Public domain.
496499Sbenno * $NetBSD: ieeefp.h,v 1.2 1999/07/07 01:52:26 danw Exp $
596499Sbenno * $FreeBSD: releng/10.2/sys/powerpc/include/ieeefp.h 226607 2011-10-21 06:41:46Z das $
696499Sbenno */
796499Sbenno
896499Sbenno#ifndef _MACHINE_IEEEFP_H_
996499Sbenno#define _MACHINE_IEEEFP_H_
1096499Sbenno
11226607Sdas/* Deprecated historical FPU control interface */
12226607Sdas
1396499Sbennotypedef int fp_except_t;
1496499Sbenno#define FP_X_IMP	0x01	/* imprecise (loss of precision) */
1596499Sbenno#define FP_X_DZ		0x02	/* divide-by-zero exception */
1696499Sbenno#define FP_X_UFL	0x04	/* underflow exception */
1796499Sbenno#define FP_X_OFL	0x08	/* overflow exception */
1896499Sbenno#define FP_X_INV	0x10	/* invalid operation exception */
1996499Sbenno
2096499Sbennotypedef enum {
2196499Sbenno    FP_RN=0,			/* round to nearest representable number */
2296499Sbenno    FP_RZ=1,			/* round to zero (truncate) */
2396499Sbenno    FP_RP=2,			/* round toward positive infinity */
2496499Sbenno    FP_RM=3			/* round toward negative infinity */
2596499Sbenno} fp_rnd_t;
2696499Sbenno
27226607Sdas__BEGIN_DECLS
28226607Sdasextern fp_rnd_t    fpgetround(void);
29226607Sdasextern fp_rnd_t    fpsetround(fp_rnd_t);
30226607Sdasextern fp_except_t fpgetmask(void);
31226607Sdasextern fp_except_t fpsetmask(fp_except_t);
32226607Sdasextern fp_except_t fpgetsticky(void);
33226607Sdas__END_DECLS
34226607Sdas
3596499Sbenno#endif /* _MACHINE_IEEEFP_H_ */
36