Dataflow Runtime API  4.0.1.0
Macros | Enumerations | Functions
bsd_ieeefp.h File Reference

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 }
 
enum  fp_prec_t { FP_PS =0 , FP_PRS , FP_PD , FP_PE }
 

Functions

OLM_DLLEXPORT fp_prec_t fpgetprec (void)
 
OLM_DLLEXPORT fp_prec_t fpsetprec (fp_prec_t _m)
 

Macro Definition Documentation

◆ __fldcw

#define __fldcw (   addr)    __asm __volatile("fldcw %0" : : "m" (*(addr)))

◆ __fldenv

#define __fldenv (   addr)    __asm __volatile("fldenv %0" : : "m" (*(addr)))

◆ __fnclex

#define __fnclex ( )    __asm __volatile("fnclex")

◆ __fnstcw

#define __fnstcw (   addr)    __asm __volatile("fnstcw %0" : "=m" (*(addr)))

◆ __fnstenv

#define __fnstenv (   addr)    __asm __volatile("fnstenv %0" : "=m" (*(addr)))

◆ __fnstsw

#define __fnstsw (   addr)    __asm __volatile("fnstsw %0" : "=m" (*(addr)))

◆ 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_PRC_FLD

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

◆ FP_PRC_OFF

#define FP_PRC_OFF   8 /* precision control offset */

◆ FP_RND_FLD

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

◆ FP_RND_OFF

#define FP_RND_OFF   10 /* rounding control offset */

◆ FP_STKY_FLD

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

◆ FP_STKY_OFF

#define FP_STKY_OFF   0 /* sticky flags offset */

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

Enumeration Type Documentation

◆ fp_prec_t

enum fp_prec_t
Enumerator
FP_PS 
FP_PRS 
FP_PD 
FP_PE 

◆ fp_rnd_t

enum fp_rnd_t
Enumerator
FP_RN 
FP_RM 
FP_RP 
FP_RZ 

Function Documentation

◆ fpgetprec()

OLM_DLLEXPORT fp_prec_t fpgetprec ( void  )

◆ fpsetprec()

OLM_DLLEXPORT fp_prec_t fpsetprec ( fp_prec_t  _m)