Imt.Base C++ API V4.1.1.0
Loading...
Searching...
No Matches
openlibm_fenv_i387.h File Reference

Go to the source code of this file.

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

Definition at line 37 of file openlibm_fenv_i387.h.

◆ __fldcw

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

Definition at line 107 of file openlibm_fenv_i387.h.

◆ __fldenv

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

Definition at line 108 of file openlibm_fenv_i387.h.

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

Definition at line 109 of file openlibm_fenv_i387.h.

◆ __fnclex

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

Definition at line 112 of file openlibm_fenv_i387.h.

◆ __fnstcw

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

Definition at line 114 of file openlibm_fenv_i387.h.

◆ __fnstenv

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

Definition at line 113 of file openlibm_fenv_i387.h.

◆ __fnstsw

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

Definition at line 115 of file openlibm_fenv_i387.h.

◆ __fwait

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

Definition at line 116 of file openlibm_fenv_i387.h.

◆ __get_mxcsr

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

Definition at line 53 of file openlibm_fenv_i387.h.

◆ __HAS_SSE

#define __HAS_SSE ( )
Value:
@ __SSE_YES
@ __SSE_UNK
enum __sse_support __has_sse
int __test_sse(void)

Definition at line 98 of file openlibm_fenv_i387.h.

◆ __ldmxcsr

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

Definition at line 117 of file openlibm_fenv_i387.h.

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

Definition at line 56 of file openlibm_fenv_i387.h.

◆ __stmxcsr

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

Definition at line 118 of file openlibm_fenv_i387.h.

◆ _ROUND_MASK

#define _ROUND_MASK
Value:
#define FE_UPWARD
#define FE_TONEAREST
#define FE_DOWNWARD
#define FE_TOWARDZERO

Definition at line 78 of file openlibm_fenv_i387.h.

◆ _SSE_EMASK_SHIFT

#define _SSE_EMASK_SHIFT   7

Definition at line 87 of file openlibm_fenv_i387.h.

◆ _SSE_ROUND_SHIFT

#define _SSE_ROUND_SHIFT   3

Definition at line 86 of file openlibm_fenv_i387.h.

◆ FE_ALL_EXCEPT

#define FE_ALL_EXCEPT
Value:
#define FE_DENORMAL
#define FE_UNDERFLOW
#define FE_INVALID
#define FE_INEXACT
#define FE_DIVBYZERO
#define FE_OVERFLOW

Definition at line 70 of file openlibm_fenv_i387.h.

◆ FE_DENORMAL

#define FE_DENORMAL   0x02

Definition at line 65 of file openlibm_fenv_i387.h.

◆ FE_DFL_ENV

#define FE_DFL_ENV   (&__fe_dfl_env)

Definition at line 104 of file openlibm_fenv_i387.h.

◆ FE_DIVBYZERO

#define FE_DIVBYZERO   0x04

Definition at line 66 of file openlibm_fenv_i387.h.

◆ FE_DOWNWARD

#define FE_DOWNWARD   0x0400

Definition at line 75 of file openlibm_fenv_i387.h.

◆ FE_INEXACT

#define FE_INEXACT   0x20

Definition at line 69 of file openlibm_fenv_i387.h.

◆ FE_INVALID

#define FE_INVALID   0x01

Definition at line 64 of file openlibm_fenv_i387.h.

◆ FE_OVERFLOW

#define FE_OVERFLOW   0x08

Definition at line 67 of file openlibm_fenv_i387.h.

◆ FE_TONEAREST

#define FE_TONEAREST   0x0000

Definition at line 74 of file openlibm_fenv_i387.h.

◆ FE_TOWARDZERO

#define FE_TOWARDZERO   0x0c00

Definition at line 77 of file openlibm_fenv_i387.h.

◆ FE_UNDERFLOW

#define FE_UNDERFLOW   0x10

Definition at line 68 of file openlibm_fenv_i387.h.

◆ FE_UPWARD

#define FE_UPWARD   0x0800

Definition at line 76 of file openlibm_fenv_i387.h.

Typedef Documentation

◆ fexcept_t

Definition at line 61 of file openlibm_fenv_i387.h.

Enumeration Type Documentation

◆ __sse_support

Enumerator
__SSE_YES 
__SSE_NO 
__SSE_UNK 

Definition at line 92 of file openlibm_fenv_i387.h.

Function Documentation

◆ __test_sse()

int __test_sse ( void  )

◆ feclearexcept()

__fenv_static int feclearexcept ( int  __excepts)
inline

Definition at line 133 of file openlibm_fenv_i387.h.

◆ fegetenv()

OLM_DLLEXPORT int fegetenv ( fenv_t __envp)
inline

Definition at line 153 of file openlibm_fenv_arm.h.

◆ fegetexceptflag()

__fenv_static int fegetexceptflag ( fexcept_t __flagp,
int  __excepts 
)
inline

Definition at line 177 of file openlibm_fenv_i387.h.

◆ fegetround()

__fenv_static int fegetround ( void  )
inline

Definition at line 229 of file openlibm_fenv_i387.h.

◆ feholdexcept()

OLM_DLLEXPORT int feholdexcept ( fenv_t __envp)
inline

Definition at line 161 of file openlibm_fenv_arm.h.

◆ feraiseexcept()

OLM_DLLEXPORT int feraiseexcept ( int  __excepts)
inline

Definition at line 116 of file openlibm_fenv_arm.h.

◆ fesetenv()

__fenv_static int fesetenv ( const fenv_t __envp)
inline

Definition at line 271 of file openlibm_fenv_i387.h.

◆ fesetexceptflag()

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

Definition at line 104 of file openlibm_fenv_arm.h.

◆ fesetround()

__fenv_static int fesetround ( int  __round)
inline

Definition at line 244 of file openlibm_fenv_i387.h.

◆ fetestexcept()

__fenv_static int fetestexcept ( int  __excepts)
inline

Definition at line 215 of file openlibm_fenv_i387.h.

◆ feupdateenv()

OLM_DLLEXPORT int feupdateenv ( const fenv_t __envp)
inline

Definition at line 181 of file openlibm_fenv_arm.h.

Variable Documentation

◆ __fe_dfl_env

const fenv_t __fe_dfl_env
extern

◆ __has_sse

enum __sse_support __has_sse
extern