xref: /netbsd-src/sys/arch/hppa/include/ieeefp.h (revision 4cc5b607682ceca71f6228ea9e6d734ead006129)
1*4cc5b607Sskrll /*	$NetBSD: ieeefp.h,v 1.8 2019/04/16 12:25:17 skrll Exp $	*/
2f4f0d8a3Sfredette 
3f4f0d8a3Sfredette /*
4f4f0d8a3Sfredette  * Written by J.T. Conklin, Apr 6, 1995
5f4f0d8a3Sfredette  * Public domain.
6f4f0d8a3Sfredette  */
7f4f0d8a3Sfredette 
8f4f0d8a3Sfredette #ifndef _HPPA_IEEEFP_H_
9f4f0d8a3Sfredette #define _HPPA_IEEEFP_H_
10f4f0d8a3Sfredette 
1191d4704cSmatt #include <sys/featuretest.h>
1291d4704cSmatt 
1391d4704cSmatt #if defined(_NETBSD_SOURCE) || defined(_ISOC99_SOURCE)
1491d4704cSmatt 
1591d4704cSmatt #if !defined(_ISOC99_SOURCE)
1691d4704cSmatt 
17f4f0d8a3Sfredette typedef int fp_except;
185b588e71Smartin #define FP_X_INV	0x10		/* invalid operation exception */
195b588e71Smartin #define FP_X_DZ		0x08		/* divide-by-zero exception */
205b588e71Smartin #define FP_X_OFL	0x04		/* overflow exception */
215b588e71Smartin #define FP_X_UFL	0x02		/* underflow exception */
225b588e71Smartin #define FP_X_IMP	0x01		/* imprecise (loss of precision) */
23f4f0d8a3Sfredette 
24f4f0d8a3Sfredette typedef enum {
255b588e71Smartin     FP_RN=0,			/* round to nearest representable number */
265b588e71Smartin     FP_RZ=1,			/* round to zero (truncate) */
275b588e71Smartin     FP_RP=2,			/* round toward positive infinity */
285b588e71Smartin     FP_RM=3			/* round toward negative infinity */
29f4f0d8a3Sfredette } fp_rnd;
30f4f0d8a3Sfredette 
3191d4704cSmatt #endif /* !_ISOC99_SOURCE */
3291d4704cSmatt 
3391d4704cSmatt #endif /* _NETBSD_SOURCE || _ISOC99_SOURCE */
3491d4704cSmatt 
35f4f0d8a3Sfredette #endif /* _HPPA_IEEEFP_H_ */
36