Deleted Added
full compact
ieeefp.h (139825) ieeefp.h (226607)
1/*-
2 * Written by J.T. Conklin, Apr 6, 1995
3 * Public domain.
1/*-
2 * Written by J.T. Conklin, Apr 6, 1995
3 * Public domain.
4 * $FreeBSD: head/sys/sparc64/include/ieeefp.h 139825 2005-01-07 02:29:27Z imp $
4 * $FreeBSD: head/sys/sparc64/include/ieeefp.h 226607 2011-10-21 06:41:46Z das $
5 */
6
7#ifndef _MACHINE_IEEEFP_H_
8#define _MACHINE_IEEEFP_H_
9
5 */
6
7#ifndef _MACHINE_IEEEFP_H_
8#define _MACHINE_IEEEFP_H_
9
10/* Deprecated FPU control interface */
11
10#include <machine/fsr.h>
11
12typedef int fp_except_t;
13#define FP_X_IMP FSR_NX /* imprecise (loss of precision) */
14#define FP_X_DZ FSR_DZ /* divide-by-zero exception */
15#define FP_X_UFL FSR_UF /* underflow exception */
16#define FP_X_OFL FSR_OF /* overflow exception */
17#define FP_X_INV FSR_NV /* invalid operation exception */
18
19typedef enum {
20 FP_RN = FSR_RD_N, /* round to nearest representable number */
21 FP_RZ = FSR_RD_Z, /* round to zero (truncate) */
22 FP_RP = FSR_RD_PINF, /* round toward positive infinity */
23 FP_RM = FSR_RD_NINF /* round toward negative infinity */
24} fp_rnd_t;
25
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
26#endif /* _MACHINE_IEEEFP_H_ */
37#endif /* _MACHINE_IEEEFP_H_ */