Imt.Base C++ API V4.1.1.0
Loading...
Searching...
No Matches
math_private.h File Reference
#include "../inc/openlibm_defs.h"
#include "../inc/cdefs-compat.h"
#include "../inc/types-compat.h"
#include "fpmath.h"
#include <stdint.h>
#include "math_private_openbsd.h"

Go to the source code of this file.

Classes

union  ieee_double_shape_type
 
union  ieee_float_shape_type
 

Macros

#define EXTRACT_WORDS(ix0, ix1, d)
 
#define EXTRACT_WORD64(ix, d)
 
#define GET_HIGH_WORD(i, d)
 
#define GET_LOW_WORD(i, d)
 
#define INSERT_WORDS(d, ix0, ix1)
 
#define INSERT_WORD64(d, ix)
 
#define SET_HIGH_WORD(d, v)
 
#define SET_LOW_WORD(d, v)
 
#define GET_FLOAT_WORD(i, d)
 
#define SET_FLOAT_WORD(d, i)
 
#define GET_LDBL_EXPSIGN(i, d)
 
#define SET_LDBL_EXPSIGN(d, v)
 
#define STRICT_ASSIGN(type, lval, rval)   ((lval) = (rval))
 
#define nan_mix(x, y)   (((x) + 0.0L) + ((y) + 0))
 
#define __ieee754_sqrt   c_sqrt
 
#define __ieee754_acos   c_acos
 
#define __ieee754_acosh   c_acosh
 
#define __ieee754_log   c_log
 
#define __ieee754_log2   c_log2
 
#define __ieee754_atanh   c_atanh
 
#define __ieee754_asin   c_asin
 
#define __ieee754_atan2   c_atan2
 
#define __ieee754_exp   c_exp
 
#define __ieee754_cosh   c_cosh
 
#define __ieee754_fmod   c_fmod
 
#define __ieee754_pow   c_pow
 
#define __ieee754_lgamma   c_lgamma
 
#define __ieee754_lgamma_r   c_lgamma_r
 
#define __ieee754_log10   c_log10
 
#define __ieee754_sinh   c_sinh
 
#define __ieee754_hypot   c_hypot
 
#define __ieee754_j0   c_j0
 
#define __ieee754_j1   c_j1
 
#define __ieee754_y0   c_y0
 
#define __ieee754_y1   c_y1
 
#define __ieee754_jn   c_jn
 
#define __ieee754_yn   c_yn
 
#define __ieee754_remainder   c_remainder
 
#define __ieee754_sqrtf   c_sqrtf
 
#define __ieee754_acosf   c_acosf
 
#define __ieee754_acoshf   c_acoshf
 
#define __ieee754_logf   c_logf
 
#define __ieee754_atanhf   c_atanhf
 
#define __ieee754_asinf   c_asinf
 
#define __ieee754_atan2f   c_atan2f
 
#define __ieee754_expf   c_expf
 
#define __ieee754_coshf   c_coshf
 
#define __ieee754_fmodf   c_fmodf
 
#define __ieee754_powf   c_powf
 
#define __ieee754_lgammaf   c_lgammaf
 
#define __ieee754_lgammaf_r   c_lgammaf_r
 
#define __ieee754_log10f   c_log10f
 
#define __ieee754_log2f   c_log2f
 
#define __ieee754_sinhf   c_sinhf
 
#define __ieee754_hypotf   c_hypotf
 
#define __ieee754_j0f   c_j0f
 
#define __ieee754_j1f   c_j1f
 
#define __ieee754_y0f   c_y0f
 
#define __ieee754_y1f   c_y1f
 
#define __ieee754_jnf   c_jnf
 
#define __ieee754_ynf   c_ynf
 
#define __ieee754_remainderf   c_remainderf
 

Functions

void __scan_nan (u_int32_t *__words, int __num_words, const char *__s)
 
int __kernel_rem_pio2 (double *, double *, int, int, int)
 
int __ieee754_rem_pio2 (double, double *)
 
double __kernel_sin (double, double, int)
 
double __kernel_cos (double, double)
 
double __kernel_tan (double, double, int)
 
double __ldexp_exp (double, int)
 
int __ieee754_rem_pio2f (float, double *)
 
float __kernel_sindf (double)
 
float __kernel_cosdf (double)
 
float __kernel_tandf (double, int)
 
float __ldexp_expf (float, int)
 
long double __kernel_sinl (long double, long double, int)
 
long double __kernel_cosl (long double, long double)
 
long double __kernel_tanl (long double, long double, int)
 

Macro Definition Documentation

◆ __ieee754_acos

#define __ieee754_acos   c_acos

Definition at line 287 of file math_private.h.

◆ __ieee754_acosf

#define __ieee754_acosf   c_acosf

Definition at line 311 of file math_private.h.

◆ __ieee754_acosh

#define __ieee754_acosh   c_acosh

Definition at line 288 of file math_private.h.

◆ __ieee754_acoshf

#define __ieee754_acoshf   c_acoshf

Definition at line 312 of file math_private.h.

◆ __ieee754_asin

#define __ieee754_asin   c_asin

Definition at line 292 of file math_private.h.

◆ __ieee754_asinf

#define __ieee754_asinf   c_asinf

Definition at line 315 of file math_private.h.

◆ __ieee754_atan2

#define __ieee754_atan2   c_atan2

Definition at line 293 of file math_private.h.

◆ __ieee754_atan2f

#define __ieee754_atan2f   c_atan2f

Definition at line 316 of file math_private.h.

◆ __ieee754_atanh

#define __ieee754_atanh   c_atanh

Definition at line 291 of file math_private.h.

◆ __ieee754_atanhf

#define __ieee754_atanhf   c_atanhf

Definition at line 314 of file math_private.h.

◆ __ieee754_cosh

#define __ieee754_cosh   c_cosh

Definition at line 295 of file math_private.h.

◆ __ieee754_coshf

#define __ieee754_coshf   c_coshf

Definition at line 318 of file math_private.h.

◆ __ieee754_exp

#define __ieee754_exp   c_exp

Definition at line 294 of file math_private.h.

◆ __ieee754_expf

#define __ieee754_expf   c_expf

Definition at line 317 of file math_private.h.

◆ __ieee754_fmod

#define __ieee754_fmod   c_fmod

Definition at line 296 of file math_private.h.

◆ __ieee754_fmodf

#define __ieee754_fmodf   c_fmodf

Definition at line 319 of file math_private.h.

◆ __ieee754_hypot

#define __ieee754_hypot   c_hypot

Definition at line 302 of file math_private.h.

◆ __ieee754_hypotf

#define __ieee754_hypotf   c_hypotf

Definition at line 326 of file math_private.h.

◆ __ieee754_j0

#define __ieee754_j0   c_j0

Definition at line 303 of file math_private.h.

◆ __ieee754_j0f

#define __ieee754_j0f   c_j0f

Definition at line 327 of file math_private.h.

◆ __ieee754_j1

#define __ieee754_j1   c_j1

Definition at line 304 of file math_private.h.

◆ __ieee754_j1f

#define __ieee754_j1f   c_j1f

Definition at line 328 of file math_private.h.

◆ __ieee754_jn

#define __ieee754_jn   c_jn

Definition at line 307 of file math_private.h.

◆ __ieee754_jnf

#define __ieee754_jnf   c_jnf

Definition at line 331 of file math_private.h.

◆ __ieee754_lgamma

#define __ieee754_lgamma   c_lgamma

Definition at line 298 of file math_private.h.

◆ __ieee754_lgamma_r

#define __ieee754_lgamma_r   c_lgamma_r

Definition at line 299 of file math_private.h.

◆ __ieee754_lgammaf

#define __ieee754_lgammaf   c_lgammaf

Definition at line 321 of file math_private.h.

◆ __ieee754_lgammaf_r

#define __ieee754_lgammaf_r   c_lgammaf_r

Definition at line 322 of file math_private.h.

◆ __ieee754_log

#define __ieee754_log   c_log

Definition at line 289 of file math_private.h.

◆ __ieee754_log10

#define __ieee754_log10   c_log10

Definition at line 300 of file math_private.h.

◆ __ieee754_log10f

#define __ieee754_log10f   c_log10f

Definition at line 323 of file math_private.h.

◆ __ieee754_log2

#define __ieee754_log2   c_log2

Definition at line 290 of file math_private.h.

◆ __ieee754_log2f

#define __ieee754_log2f   c_log2f

Definition at line 324 of file math_private.h.

◆ __ieee754_logf

#define __ieee754_logf   c_logf

Definition at line 313 of file math_private.h.

◆ __ieee754_pow

#define __ieee754_pow   c_pow

Definition at line 297 of file math_private.h.

◆ __ieee754_powf

#define __ieee754_powf   c_powf

Definition at line 320 of file math_private.h.

◆ __ieee754_remainder

#define __ieee754_remainder   c_remainder

Definition at line 309 of file math_private.h.

◆ __ieee754_remainderf

#define __ieee754_remainderf   c_remainderf

Definition at line 333 of file math_private.h.

◆ __ieee754_sinh

#define __ieee754_sinh   c_sinh

Definition at line 301 of file math_private.h.

◆ __ieee754_sinhf

#define __ieee754_sinhf   c_sinhf

Definition at line 325 of file math_private.h.

◆ __ieee754_sqrt

#define __ieee754_sqrt   c_sqrt

Definition at line 286 of file math_private.h.

◆ __ieee754_sqrtf

#define __ieee754_sqrtf   c_sqrtf

Definition at line 310 of file math_private.h.

◆ __ieee754_y0

#define __ieee754_y0   c_y0

Definition at line 305 of file math_private.h.

◆ __ieee754_y0f

#define __ieee754_y0f   c_y0f

Definition at line 329 of file math_private.h.

◆ __ieee754_y1

#define __ieee754_y1   c_y1

Definition at line 306 of file math_private.h.

◆ __ieee754_y1f

#define __ieee754_y1f   c_y1f

Definition at line 330 of file math_private.h.

◆ __ieee754_yn

#define __ieee754_yn   c_yn

Definition at line 308 of file math_private.h.

◆ __ieee754_ynf

#define __ieee754_ynf   c_ynf

Definition at line 332 of file math_private.h.

◆ EXTRACT_WORD64

#define EXTRACT_WORD64 (   ix,
 
)
Value:
do { \
ew_u.value = (d); \
(ix) = ew_u.xparts.w; \
} while (0)
struct ieee_double_shape_type::@13 xparts

Definition at line 92 of file math_private.h.

◆ EXTRACT_WORDS

#define EXTRACT_WORDS (   ix0,
  ix1,
 
)
Value:
do { \
ew_u.value = (d); \
(ix0) = ew_u.parts.msw; \
(ix1) = ew_u.parts.lsw; \
} while (0)
struct ieee_double_shape_type::@12 parts

Definition at line 83 of file math_private.h.

◆ GET_FLOAT_WORD

#define GET_FLOAT_WORD (   i,
 
)
Value:
do { \
gf_u.value = (d); \
(i) = gf_u.word; \
} while (0)

Definition at line 169 of file math_private.h.

◆ GET_HIGH_WORD

#define GET_HIGH_WORD (   i,
 
)
Value:
do { \
gh_u.value = (d); \
(i) = gh_u.parts.msw; \
} while (0)

Definition at line 101 of file math_private.h.

◆ GET_LDBL_EXPSIGN

#define GET_LDBL_EXPSIGN (   i,
 
)
Value:
do { \
union IEEEl2bits ge_u; \
ge_u.e = (d); \
(i) = ge_u.xbits.expsign; \
} while (0)
long double e

Definition at line 187 of file math_private.h.

◆ GET_LOW_WORD

#define GET_LOW_WORD (   i,
 
)
Value:
do { \
gl_u.value = (d); \
(i) = gl_u.parts.lsw; \
} while (0)

Definition at line 110 of file math_private.h.

◆ INSERT_WORD64

#define INSERT_WORD64 (   d,
  ix 
)
Value:
do { \
iw_u.xparts.w = (ix); \
(d) = iw_u.value; \
} while (0)

Definition at line 128 of file math_private.h.

◆ INSERT_WORDS

#define INSERT_WORDS (   d,
  ix0,
  ix1 
)
Value:
do { \
iw_u.parts.msw = (ix0); \
iw_u.parts.lsw = (ix1); \
(d) = iw_u.value; \
} while (0)

Definition at line 119 of file math_private.h.

◆ nan_mix

#define nan_mix (   x,
 
)    (((x) + 0.0L) + ((y) + 0))

Definition at line 248 of file math_private.h.

◆ SET_FLOAT_WORD

#define SET_FLOAT_WORD (   d,
 
)
Value:
do { \
sf_u.word = (i); \
(d) = sf_u.value; \
} while (0)

Definition at line 178 of file math_private.h.

◆ SET_HIGH_WORD

#define SET_HIGH_WORD (   d,
 
)
Value:
do { \
sh_u.value = (d); \
sh_u.parts.msw = (v); \
(d) = sh_u.value; \
} while (0)

Definition at line 137 of file math_private.h.

◆ SET_LDBL_EXPSIGN

#define SET_LDBL_EXPSIGN (   d,
 
)
Value:
do { \
union IEEEl2bits se_u; \
se_u.e = (d); \
se_u.xbits.expsign = (v); \
(d) = se_u.e; \
} while (0)

Definition at line 196 of file math_private.h.

◆ SET_LOW_WORD

#define SET_LOW_WORD (   d,
 
)
Value:
do { \
sl_u.value = (d); \
sl_u.parts.lsw = (v); \
(d) = sl_u.value; \
} while (0)

Definition at line 147 of file math_private.h.

◆ STRICT_ASSIGN

#define STRICT_ASSIGN (   type,
  lval,
  rval 
)    ((lval) = (rval))

Definition at line 206 of file math_private.h.

Function Documentation

◆ __ieee754_rem_pio2()

int __ieee754_rem_pio2 ( double  ,
double *   
)

◆ __ieee754_rem_pio2f()

int __ieee754_rem_pio2f ( float  ,
double *   
)

◆ __kernel_cos()

double __kernel_cos ( double  ,
double   
)

◆ __kernel_cosdf()

float __kernel_cosdf ( double  )

◆ __kernel_cosl()

long double __kernel_cosl ( long double  ,
long double   
)

◆ __kernel_rem_pio2()

int __kernel_rem_pio2 ( double *  ,
double *  ,
int  ,
int  ,
int   
)

◆ __kernel_sin()

double __kernel_sin ( double  ,
double  ,
int   
)

◆ __kernel_sindf()

float __kernel_sindf ( double  )

◆ __kernel_sinl()

long double __kernel_sinl ( long double  ,
long double  ,
int   
)

◆ __kernel_tan()

double __kernel_tan ( double  ,
double  ,
int   
)

◆ __kernel_tandf()

float __kernel_tandf ( double  ,
int   
)

◆ __kernel_tanl()

long double __kernel_tanl ( long double  ,
long double  ,
int   
)

◆ __ldexp_exp()

double __ldexp_exp ( double  ,
int   
)

◆ __ldexp_expf()

float __ldexp_expf ( float  ,
int   
)

◆ __scan_nan()

void __scan_nan ( u_int32_t __words,
int  __num_words,
const char *  __s 
)