1139825Simp/*- 286551Sjake * Written by J.T. Conklin, Apr 6, 1995 386551Sjake * Public domain. 486551Sjake * $FreeBSD: releng/11.0/sys/sparc64/include/ieeefp.h 226607 2011-10-21 06:41:46Z das $ 586551Sjake */ 686551Sjake 786556Sjake#ifndef _MACHINE_IEEEFP_H_ 886556Sjake#define _MACHINE_IEEEFP_H_ 986551Sjake 10226607Sdas/* Deprecated FPU control interface */ 11226607Sdas 12103322Stmm#include <machine/fsr.h> 13103322Stmm 1486551Sjaketypedef int fp_except_t; 15103322Stmm#define FP_X_IMP FSR_NX /* imprecise (loss of precision) */ 16103322Stmm#define FP_X_DZ FSR_DZ /* divide-by-zero exception */ 17103322Stmm#define FP_X_UFL FSR_UF /* underflow exception */ 18103322Stmm#define FP_X_OFL FSR_OF /* overflow exception */ 19103322Stmm#define FP_X_INV FSR_NV /* invalid operation exception */ 2086551Sjake 2186551Sjaketypedef enum { 22103322Stmm FP_RN = FSR_RD_N, /* round to nearest representable number */ 23103322Stmm FP_RZ = FSR_RD_Z, /* round to zero (truncate) */ 24103322Stmm FP_RP = FSR_RD_PINF, /* round toward positive infinity */ 25103322Stmm FP_RM = FSR_RD_NINF /* round toward negative infinity */ 2686551Sjake} fp_rnd_t; 2786551Sjake 28226607Sdas__BEGIN_DECLS 29226607Sdasextern fp_rnd_t fpgetround(void); 30226607Sdasextern fp_rnd_t fpsetround(fp_rnd_t); 31226607Sdasextern fp_except_t fpgetmask(void); 32226607Sdasextern fp_except_t fpsetmask(fp_except_t); 33226607Sdasextern fp_except_t fpgetsticky(void); 34226607Sdas__END_DECLS 35226607Sdas 36226607Sdas 3786556Sjake#endif /* _MACHINE_IEEEFP_H_ */ 38