Dataflow Runtime API  4.0.1.0
Classes | Macros | Typedefs | Enumerations | Functions | Variables
openlibm_fenv_i387.h File Reference
#include "openlibm_defs.h"
#include "../inc/cdefs-compat.h"
#include "../inc/types-compat.h"

Classes

struct  fenv_t
 

Macros

#define __fenv_static   static
 
#define __get_mxcsr(env)
 
#define __set_mxcsr(env, x)
 
#define FE_INVALID   0x01
 
#define FE_DENORMAL   0x02
 
#define FE_DIVBYZERO   0x04
 
#define FE_OVERFLOW   0x08
 
#define FE_UNDERFLOW   0x10
 
#define FE_INEXACT   0x20
 
#define FE_ALL_EXCEPT
 
#define FE_TONEAREST   0x0000
 
#define FE_DOWNWARD   0x0400
 
#define FE_UPWARD   0x0800
 
#define FE_TOWARDZERO   0x0c00
 
#define _ROUND_MASK
 
#define _SSE_ROUND_SHIFT   3
 
#define _SSE_EMASK_SHIFT   7
 
#define __HAS_SSE()
 
#define FE_DFL_ENV   (&__fe_dfl_env)
 
#define __fldcw(__cw)   __asm __volatile("fldcw %0" : : "m" (__cw))
 
#define __fldenv(__env)   __asm __volatile("fldenv %0" : : "m" (__env))
 
#define __fldenvx(__env)
 
#define __fnclex()   __asm __volatile("fnclex")
 
#define __fnstenv(__env)   __asm __volatile("fnstenv %0" : "=m" (*(__env)))
 
#define __fnstcw(__cw)   __asm __volatile("fnstcw %0" : "=m" (*(__cw)))
 
#define __fnstsw(__sw)   __asm __volatile("fnstsw %0" : "=am" (*(__sw)))
 
#define __fwait()   __asm __volatile("fwait")
 
#define __ldmxcsr(__csr)   __asm __volatile("ldmxcsr %0" : : "m" (__csr))
 
#define __stmxcsr(__csr)   __asm __volatile("stmxcsr %0" : "=m" (*(__csr)))
 

Typedefs

typedef uint16_t fexcept_t
 

Enumerations

enum  __sse_support { __SSE_YES , __SSE_NO , __SSE_UNK }
 

Functions

int __test_sse (void)
 
__fenv_static int feclearexcept (int __excepts)
 
__fenv_static int fegetexceptflag (fexcept_t *__flagp, int __excepts)
 
OLM_DLLEXPORT int fesetexceptflag (const fexcept_t *__flagp, int __excepts)
 
OLM_DLLEXPORT int feraiseexcept (int __excepts)
 
__fenv_static int fetestexcept (int __excepts)
 
__fenv_static int fegetround (void)
 
__fenv_static int fesetround (int __round)
 
OLM_DLLEXPORT int fegetenv (fenv_t *__envp)
 
OLM_DLLEXPORT int feholdexcept (fenv_t *__envp)
 
__fenv_static int fesetenv (const fenv_t *__envp)
 
OLM_DLLEXPORT int feupdateenv (const fenv_t *__envp)
 

Variables

enum __sse_support __has_sse
 
const fenv_t __fe_dfl_env
 

Macro Definition Documentation

◆ __fenv_static

#define __fenv_static   static

◆ __fldcw

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

◆ __fldenv

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

◆ __fldenvx

#define __fldenvx (   __env)
Value:
__asm __volatile("fldenv %0" : : "m" (__env) \
: "st", "st(1)", "st(2)", "st(3)", "st(4)", \
"st(5)", "st(6)", "st(7)")
#define __volatile
Definition: bsd_cdefs.h:74

◆ __fnclex

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

◆ __fnstcw

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

◆ __fnstenv

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

◆ __fnstsw

#define __fnstsw (   __sw)    __asm __volatile("fnstsw %0" : "=am" (*(__sw)))

◆ __fwait

#define __fwait ( )    __asm __volatile("fwait")

◆ __get_mxcsr

#define __get_mxcsr (   env)
Value:
(((env).__mxcsr_hi << 16) | \
((env).__mxcsr_lo))

◆ __HAS_SSE

#define __HAS_SSE ( )
Value:
@ __SSE_YES
Definition: openlibm_fenv_i387.h:92
@ __SSE_UNK
Definition: openlibm_fenv_i387.h:92
enum __sse_support __has_sse
int __test_sse(void)

◆ __ldmxcsr

#define __ldmxcsr (   __csr)    __asm __volatile("ldmxcsr %0" : : "m" (__csr))

◆ __set_mxcsr

#define __set_mxcsr (   env,
 
)
Value:
do { \
(env).__mxcsr_hi = (uint32_t)(x) >> 16; \
(env).__mxcsr_lo = (uint16_t)(x); \
} while (0)
unsigned __int16 uint16_t
Definition: stdint.h:63
unsigned __int32 uint32_t
Definition: stdint.h:64

◆ __stmxcsr

#define __stmxcsr (   __csr)    __asm __volatile("stmxcsr %0" : "=m" (*(__csr)))

◆ _ROUND_MASK

#define _ROUND_MASK
Value:
FE_UPWARD | FE_TOWARDZERO)
#define FE_TONEAREST
Definition: openlibm_fenv_i387.h:74
#define FE_DOWNWARD
Definition: openlibm_fenv_i387.h:75
#define FE_TOWARDZERO
Definition: openlibm_fenv_i387.h:77

◆ _SSE_EMASK_SHIFT

#define _SSE_EMASK_SHIFT   7

◆ _SSE_ROUND_SHIFT

#define _SSE_ROUND_SHIFT   3

◆ FE_ALL_EXCEPT

#define FE_ALL_EXCEPT
Value:
FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW)
#define FE_DENORMAL
Definition: openlibm_fenv_i387.h:65
#define FE_UNDERFLOW
Definition: openlibm_fenv_i387.h:68
#define FE_INEXACT
Definition: openlibm_fenv_i387.h:69
#define FE_DIVBYZERO
Definition: openlibm_fenv_i387.h:66
#define FE_OVERFLOW
Definition: openlibm_fenv_i387.h:67

◆ FE_DENORMAL

#define FE_DENORMAL   0x02

◆ FE_DFL_ENV

#define FE_DFL_ENV   (&__fe_dfl_env)

◆ FE_DIVBYZERO

#define FE_DIVBYZERO   0x04

◆ FE_DOWNWARD

#define FE_DOWNWARD   0x0400

◆ FE_INEXACT

#define FE_INEXACT   0x20

◆ FE_INVALID

#define FE_INVALID   0x01

◆ FE_OVERFLOW

#define FE_OVERFLOW   0x08

◆ FE_TONEAREST

#define FE_TONEAREST   0x0000

◆ FE_TOWARDZERO

#define FE_TOWARDZERO   0x0c00

◆ FE_UNDERFLOW

#define FE_UNDERFLOW   0x10

◆ FE_UPWARD

#define FE_UPWARD   0x0800

Typedef Documentation

◆ fexcept_t

Enumeration Type Documentation

◆ __sse_support

Enumerator
__SSE_YES 
__SSE_NO 
__SSE_UNK 

Function Documentation

◆ __test_sse()

int __test_sse ( void  )

◆ feclearexcept()

__fenv_static int feclearexcept ( int  __excepts)
inline

◆ fegetenv()

OLM_DLLEXPORT int fegetenv ( fenv_t __envp)
inline

◆ fegetexceptflag()

__fenv_static int fegetexceptflag ( fexcept_t __flagp,
int  __excepts 
)
inline

◆ fegetround()

__fenv_static int fegetround ( void  )
inline

◆ feholdexcept()

OLM_DLLEXPORT int feholdexcept ( fenv_t __envp)
inline

◆ feraiseexcept()

OLM_DLLEXPORT int feraiseexcept ( int  __excepts)
inline

◆ fesetenv()

__fenv_static int fesetenv ( const fenv_t __envp)
inline

◆ fesetexceptflag()

OLM_DLLEXPORT int fesetexceptflag ( const fexcept_t __flagp,
int  __excepts 
)
inline

◆ fesetround()

__fenv_static int fesetround ( int  __round)
inline

◆ fetestexcept()

__fenv_static int fetestexcept ( int  __excepts)
inline

◆ feupdateenv()

OLM_DLLEXPORT int feupdateenv ( const fenv_t __envp)
inline

Variable Documentation

◆ __fe_dfl_env

const fenv_t __fe_dfl_env
extern

◆ __has_sse

enum __sse_support __has_sse
extern