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_ */
|