xref: /openbsd/sys/arch/i386/include/ieeefp.h (revision 2fa72412)
1*2fa72412Spirofti /*	$OpenBSD: ieeefp.h,v 1.3 2011/03/23 16:54:35 pirofti Exp $	*/
2aac4e97eSniklas 
3df930be7Sderaadt /*
4df930be7Sderaadt  * Written by J.T. Conklin, Apr 6, 1995
5df930be7Sderaadt  * Public domain.
6df930be7Sderaadt  */
7df930be7Sderaadt 
8*2fa72412Spirofti #ifndef _MACHINE_IEEEFP_H_
9*2fa72412Spirofti #define _MACHINE_IEEEFP_H_
10df930be7Sderaadt 
11df930be7Sderaadt typedef int fp_except;
12df930be7Sderaadt #define FP_X_INV	0x01	/* invalid operation exception */
13df930be7Sderaadt #define FP_X_DNML	0x02	/* denormalization exception */
14df930be7Sderaadt #define FP_X_DZ		0x04	/* divide-by-zero exception */
15df930be7Sderaadt #define FP_X_OFL	0x08	/* overflow exception */
16df930be7Sderaadt #define FP_X_UFL	0x10	/* underflow exception */
17df930be7Sderaadt #define FP_X_IMP	0x20	/* imprecise (loss of precision) */
18df930be7Sderaadt 
19df930be7Sderaadt typedef enum {
20df930be7Sderaadt     FP_RN=0,			/* round to nearest representable number */
21df930be7Sderaadt     FP_RM=1,			/* round toward negative infinity */
22df930be7Sderaadt     FP_RP=2,			/* round toward positive infinity */
23df930be7Sderaadt     FP_RZ=3			/* round to zero (truncate) */
24df930be7Sderaadt } fp_rnd;
25df930be7Sderaadt 
26*2fa72412Spirofti #endif /* _MACHINE_IEEEFP_H_ */
27