Use the definitions in machine/fsr.h instead of duplicating these magic
numbers here (the values need to correspond to the %fsr ones for some libc functions to work right).
This commit is contained in:
parent
a139e40971
commit
69c3f107e2
@ -7,18 +7,20 @@
|
||||
#ifndef _MACHINE_IEEEFP_H_
|
||||
#define _MACHINE_IEEEFP_H_
|
||||
|
||||
#include <machine/fsr.h>
|
||||
|
||||
typedef int fp_except_t;
|
||||
#define FP_X_IMP 0x01 /* imprecise (loss of precision) */
|
||||
#define FP_X_DZ 0x02 /* divide-by-zero exception */
|
||||
#define FP_X_UFL 0x04 /* underflow exception */
|
||||
#define FP_X_OFL 0x08 /* overflow exception */
|
||||
#define FP_X_INV 0x10 /* invalid operation exception */
|
||||
#define FP_X_IMP FSR_NX /* imprecise (loss of precision) */
|
||||
#define FP_X_DZ FSR_DZ /* divide-by-zero exception */
|
||||
#define FP_X_UFL FSR_UF /* underflow exception */
|
||||
#define FP_X_OFL FSR_OF /* overflow exception */
|
||||
#define FP_X_INV FSR_NV /* invalid operation exception */
|
||||
|
||||
typedef enum {
|
||||
FP_RN=0, /* round to nearest representable number */
|
||||
FP_RZ=1, /* round to zero (truncate) */
|
||||
FP_RP=2, /* round toward positive infinity */
|
||||
FP_RM=3 /* round toward negative infinity */
|
||||
FP_RN = FSR_RD_N, /* round to nearest representable number */
|
||||
FP_RZ = FSR_RD_Z, /* round to zero (truncate) */
|
||||
FP_RP = FSR_RD_PINF, /* round toward positive infinity */
|
||||
FP_RM = FSR_RD_NINF /* round toward negative infinity */
|
||||
} fp_rnd_t;
|
||||
|
||||
#endif /* _MACHINE_IEEEFP_H_ */
|
||||
|
Loading…
x
Reference in New Issue
Block a user