|
Embedded Artistry Framework
Embedded Systems C++ Framework
|
Macros | |
| #define | fp_except_t int |
| #define | FP_X_INV 0x01 /* invalid operation */ |
| #define | FP_X_DNML 0x02 /* denormal */ |
| #define | FP_X_DZ 0x04 /* zero divide */ |
| #define | FP_X_OFL 0x08 /* overflow */ |
| #define | FP_X_UFL 0x10 /* underflow */ |
| #define | FP_X_IMP 0x20 /* (im)precision */ |
| #define | FP_X_STK 0x40 /* stack fault */ |
| #define | FP_MSKS_FLD 0x3f /* exception masks field */ |
| #define | FP_PRC_FLD 0x300 /* precision control field */ |
| #define | FP_RND_FLD 0xc00 /* rounding control field */ |
| #define | FP_STKY_FLD 0x3f /* sticky flags field */ |
| #define | FP_MSKS_OFF 0 /* exception masks offset */ |
| #define | FP_PRC_OFF 8 /* precision control offset */ |
| #define | FP_RND_OFF 10 /* rounding control offset */ |
| #define | FP_STKY_OFF 0 /* sticky flags offset */ |
| #define | __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) |
| #define | __fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr))) |
| #define | __fnclex() __asm __volatile("fnclex") |
| #define | __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) |
| #define | __fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr))) |
| #define | __fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr))) |
Enumerations | |
| enum | fp_rnd_t { FP_RN =0, FP_RM, FP_RP, FP_RZ, FP_RN =0, FP_RM, FP_RP, FP_RZ } |
| enum | fp_prec_t { FP_PS =0, FP_PRS, FP_PD, FP_PE, FP_PS =0, FP_PRS, FP_PD, FP_PE } |
Functions | |
| static __inline void | __fnldcw (unsigned short _cw, unsigned short _newcw) |
| static __inline fp_rnd_t | fpgetround (void) |
| static __inline fp_rnd_t | fpsetround (fp_rnd_t _m) |
| OLM_DLLEXPORT fp_prec_t | fpgetprec (void) |
| OLM_DLLEXPORT fp_prec_t | fpsetprec (fp_prec_t _m) |
| static __inline fp_except_t | fpgetmask (void) |
| static __inline fp_except_t | fpsetmask (fp_except_t _m) |
| static __inline fp_except_t | fpgetsticky (void) |
| static __inline fp_except_t | fpresetsticky (fp_except_t _m) |
| #define __fldcw | ( | addr | ) | __asm __volatile("fldcw %0" : : "m" (*(addr))) |
| #define __fldenv | ( | addr | ) | __asm __volatile("fldenv %0" : : "m" (*(addr))) |
| #define __fnclex | ( | ) | __asm __volatile("fnclex") |
| #define __fnstcw | ( | addr | ) | __asm __volatile("fnstcw %0" : "=m" (*(addr))) |
| #define __fnstenv | ( | addr | ) | __asm __volatile("fnstenv %0" : "=m" (*(addr))) |
| #define __fnstsw | ( | addr | ) | __asm __volatile("fnstsw %0" : "=m" (*(addr))) |
| #define fp_except_t int |
| #define FP_MSKS_FLD 0x3f /* exception masks field */ |
| #define FP_MSKS_OFF 0 /* exception masks offset */ |
| #define FP_PRC_FLD 0x300 /* precision control field */ |
| #define FP_PRC_OFF 8 /* precision control offset */ |
| #define FP_RND_FLD 0xc00 /* rounding control field */ |
| #define FP_RND_OFF 10 /* rounding control offset */ |
| #define FP_STKY_FLD 0x3f /* sticky flags field */ |
| #define FP_STKY_OFF 0 /* sticky flags offset */ |
| #define FP_X_DNML 0x02 /* denormal */ |
| #define FP_X_DZ 0x04 /* zero divide */ |
| #define FP_X_IMP 0x20 /* (im)precision */ |
| #define FP_X_INV 0x01 /* invalid operation */ |
| #define FP_X_OFL 0x08 /* overflow */ |
| #define FP_X_STK 0x40 /* stack fault */ |
| #define FP_X_UFL 0x10 /* underflow */ |
| enum fp_prec_t |
| enum fp_rnd_t |
|
static |
References __fldcw, __fldenv, __fnstenv, __fnstsw, FP_MSKS_FLD, and FP_STKY_FLD.
Referenced by fpsetmask(), fpsetprec(), and fpsetround().
|
static |
References __fnstcw, FP_MSKS_FLD, and FP_MSKS_OFF.
| OLM_DLLEXPORT fp_prec_t fpgetprec | ( | void | ) |
References __fnstcw, FP_PRC_FLD, and FP_PRC_OFF.
Referenced by cbrtl().

References __fnstcw, FP_RND_FLD, and FP_RND_OFF.
|
static |
References __fnstsw, fp_except_t, FP_STKY_FLD, and FP_STKY_OFF.
Referenced by fpresetsticky().
|
static |
References __fldenv, __fnclex, __fnstenv, fp_except_t, FP_STKY_FLD, FP_STKY_OFF, and fpgetsticky().
|
static |
References __fnldcw(), __fnstcw, fp_except_t, FP_MSKS_FLD, and FP_MSKS_OFF.
| OLM_DLLEXPORT fp_prec_t fpsetprec | ( | fp_prec_t | _m | ) |
References __fnldcw(), __fnstcw, FP_PRC_FLD, and FP_PRC_OFF.
Referenced by cbrtl().

References __fnldcw(), __fnstcw, FP_RND_FLD, and FP_RND_OFF.
1.8.15