]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - sys/sparc64/include/ieeefp.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / sys / sparc64 / include / ieeefp.h
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
14 typedef 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
21 typedef 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
29 extern fp_rnd_t    fpgetround(void);
30 extern fp_rnd_t    fpsetround(fp_rnd_t);
31 extern fp_except_t fpgetmask(void);
32 extern fp_except_t fpsetmask(fp_except_t);
33 extern fp_except_t fpgetsticky(void);
34 __END_DECLS
35
36
37 #endif /* _MACHINE_IEEEFP_H_ */