Embedded Artistry Framework
Embedded Systems C++ Framework
Macros | Enumerations | Functions
bsd_ieeefp.h File Reference
This graph shows which files directly or indirectly include this file:

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_REG   0 /* exception masks */
 
#define FP_PRC_REG   0 /* precision */
 
#define FP_RND_REG   0 /* direction */
 
#define FP_STKY_REG   1 /* sticky flags */
 
#define FP_MSKS_FLD   0x3f /* exception masks field */
 
#define FP_PRC_FLD   0x300 /* precision control field */
 
#define FP_RND_FLD   0xc00 /* round control field */
 
#define FP_STKY_FLD   0x3f /* sticky flags field */
 
#define SSE_STKY_FLD   0x3f /* exception flags */
 
#define SSE_DAZ_FLD   0x40 /* Denormals are zero */
 
#define SSE_MSKS_FLD   0x1f80 /* exception masks field */
 
#define SSE_RND_FLD   0x6000 /* rounding control */
 
#define SSE_FZ_FLD   0x8000 /* flush to zero on underflow */
 
#define FP_MSKS_OFF   0 /* exception masks offset */
 
#define FP_PRC_OFF   8 /* precision control offset */
 
#define FP_RND_OFF   10 /* round control offset */
 
#define FP_STKY_OFF   0 /* sticky flags offset */
 
#define SSE_STKY_OFF   0 /* exception flags offset */
 
#define SSE_DAZ_OFF   6 /* DAZ exception mask offset */
 
#define SSE_MSKS_OFF   7 /* other exception masks offset */
 
#define SSE_RND_OFF   13 /* rounding control offset */
 
#define SSE_FZ_OFF   15 /* flush to zero offset */
 

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

__BEGIN_DECLS fp_prec_t fpgetprec (void)
 
fp_prec_t fpsetprec (fp_prec_t)
 

Macro Definition Documentation

◆ fp_except_t

#define fp_except_t   int

◆ FP_MSKS_FLD

#define FP_MSKS_FLD   0x3f /* exception masks field */

◆ FP_MSKS_OFF

#define FP_MSKS_OFF   0 /* exception masks offset */

◆ FP_MSKS_REG

#define FP_MSKS_REG   0 /* exception masks */

◆ FP_PRC_FLD

#define FP_PRC_FLD   0x300 /* precision control field */

◆ FP_PRC_OFF

#define FP_PRC_OFF   8 /* precision control offset */

◆ FP_PRC_REG

#define FP_PRC_REG   0 /* precision */

◆ FP_RND_FLD

#define FP_RND_FLD   0xc00 /* round control field */

◆ FP_RND_OFF

#define FP_RND_OFF   10 /* round control offset */

◆ FP_RND_REG

#define FP_RND_REG   0 /* direction */

◆ FP_STKY_FLD

#define FP_STKY_FLD   0x3f /* sticky flags field */

◆ FP_STKY_OFF

#define FP_STKY_OFF   0 /* sticky flags offset */

◆ FP_STKY_REG

#define FP_STKY_REG   1 /* sticky flags */

◆ FP_X_DNML

#define FP_X_DNML   0x02 /* denormal */

◆ FP_X_DZ

#define FP_X_DZ   0x04 /* zero divide */

◆ FP_X_IMP

#define FP_X_IMP   0x20 /* (im)precision */

◆ FP_X_INV

#define FP_X_INV   0x01 /* invalid operation */

◆ FP_X_OFL

#define FP_X_OFL   0x08 /* overflow */

◆ FP_X_STK

#define FP_X_STK   0x40 /* stack fault */

◆ FP_X_UFL

#define FP_X_UFL   0x10 /* underflow */

◆ SSE_DAZ_FLD

#define SSE_DAZ_FLD   0x40 /* Denormals are zero */

◆ SSE_DAZ_OFF

#define SSE_DAZ_OFF   6 /* DAZ exception mask offset */

◆ SSE_FZ_FLD

#define SSE_FZ_FLD   0x8000 /* flush to zero on underflow */

◆ SSE_FZ_OFF

#define SSE_FZ_OFF   15 /* flush to zero offset */

◆ SSE_MSKS_FLD

#define SSE_MSKS_FLD   0x1f80 /* exception masks field */

◆ SSE_MSKS_OFF

#define SSE_MSKS_OFF   7 /* other exception masks offset */

◆ SSE_RND_FLD

#define SSE_RND_FLD   0x6000 /* rounding control */

◆ SSE_RND_OFF

#define SSE_RND_OFF   13 /* rounding control offset */

◆ SSE_STKY_FLD

#define SSE_STKY_FLD   0x3f /* exception flags */

◆ SSE_STKY_OFF

#define SSE_STKY_OFF   0 /* exception flags offset */

Enumeration Type Documentation

◆ fp_prec_t

enum fp_prec_t
Enumerator
FP_PS 
FP_PRS 
FP_PD 
FP_PE 
FP_PS 
FP_PRS 
FP_PD 
FP_PE 

◆ fp_rnd_t

enum fp_rnd_t
Enumerator
FP_RN 
FP_RM 
FP_RP 
FP_RZ 
FP_RN 
FP_RM 
FP_RP 
FP_RZ 

Function Documentation

◆ fpgetprec()

__BEGIN_DECLS fp_prec_t fpgetprec ( void  )

References __fnstcw, FP_PRC_FLD, and FP_PRC_OFF.

Referenced by cbrtl().

Here is the caller graph for this function:

◆ fpsetprec()

fp_prec_t fpsetprec ( fp_prec_t  )

References __fnldcw(), __fnstcw, FP_PRC_FLD, and FP_PRC_OFF.

Referenced by cbrtl().

Here is the caller graph for this function: