Dataflow Runtime API  4.0.1.0
Classes | Macros | Typedefs | Functions | Variables
openlibm_fenv_amd64.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 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 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
 

Functions

__fenv_static __attribute__ ((always_inline)) inline 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 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

__BEGIN_DECLS 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")

◆ __ldmxcsr

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

◆ __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_amd64.h:63
#define FE_DOWNWARD
Definition: openlibm_fenv_amd64.h:64
#define FE_TOWARDZERO
Definition: openlibm_fenv_amd64.h:66

◆ _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_amd64.h:54
#define FE_UNDERFLOW
Definition: openlibm_fenv_amd64.h:57
#define FE_INEXACT
Definition: openlibm_fenv_amd64.h:58
#define FE_DIVBYZERO
Definition: openlibm_fenv_amd64.h:55
#define FE_OVERFLOW
Definition: openlibm_fenv_amd64.h:56

◆ 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

Function Documentation

◆ __attribute__()

__fenv_static __attribute__ ( (always_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

◆ feupdateenv()

OLM_DLLEXPORT int feupdateenv ( const fenv_t __envp)
inline

Variable Documentation

◆ __fe_dfl_env

__BEGIN_DECLS const fenv_t __fe_dfl_env
extern