Embedded Artistry Framework
Embedded Systems C++ Framework
Macros | Functions | Variables
e_powl.c File Reference
#include <float.h>
#include <openlibm_math.h>
#include "math_private.h"
Include dependency graph for e_powl.c:

Macros

#define NXT   32
 
#define LNXT   5
 
#define douba(k)   A[k]
 
#define doubb(k)   B[k]
 
#define MEXP   (NXT*16384.0L)
 
#define MNEXP   (-NXT*(16384.0L+64.0L))
 
#define LOG2EA   0.44269504088896340735992L
 
#define F   W
 
#define Fa   Wa
 
#define Fb   Wb
 
#define G   W
 
#define Ga   Wa
 
#define Gb   u
 
#define H   W
 
#define Ha   Wb
 
#define Hb   Wb
 

Functions

static long double reducl (long double)
 
static long double powil (long double, int)
 
long double powl (long double x, long double y)
 

Variables

static long double P []
 
static long double Q []
 
static long double A [33]
 
static long double B [17]
 
static long double R []
 
static const long double MAXLOGL = 1.1356523406294143949492E4L
 
static const long double MINLOGL = -1.13994985314888605586758E4L
 
static const long double LOGE2L = 6.9314718055994530941723E-1L
 
static volatile long double z
 
static long double w
 
static long double W
 
static long double Wa
 
static long double Wb
 
static long double ya
 
static long double yb
 
static long double u
 
static const long double huge = 0x1p10000L
 
static volatile long double twom10000 = 0x1p-10000L
 

Macro Definition Documentation

◆ douba

#define douba (   k)    A[k]

◆ doubb

#define doubb (   k)    B[k]

◆ F

#define F   W

◆ Fa

#define Fa   Wa

◆ Fb

#define Fb   Wb

◆ G

#define G   W

◆ Ga

#define Ga   Wa

◆ Gb

#define Gb   u

◆ H

#define H   W

◆ Ha

#define Ha   Wb

◆ Hb

#define Hb   Wb

◆ LNXT

#define LNXT   5

◆ LOG2EA

#define LOG2EA   0.44269504088896340735992L

◆ MEXP

#define MEXP   (NXT*16384.0L)

◆ MNEXP

#define MNEXP   (-NXT*(16384.0L+64.0L))

◆ NXT

#define NXT   32

Function Documentation

◆ powil()

static long double powil ( long double  x,
int  nn 
)
static

References IEEEl2bits::e, frexpl(), huge, LDBL_MAX, LOGE2L, MAXLOGL, MINLOGL, n, s, and twom10000.

Referenced by powl().

◆ powl()

long double powl ( long double  x,
long double  y 
)

References __p1evll(), __polevll(), douba, doubb, IEEEl2bits::e, F, Fa, fabsl(), Fb, floorl(), frexpl(), G, Ga, Gb, H, Ha, Hb, huge, INFINITY, isfinite, isnan, LDBL_MAX, ldexpl(), LNXT, LOG2EA, MEXP, MNEXP, NXT, P, powil(), Q, R, reducl(), signbit, twom10000, w, ya, yb, and z.

Referenced by cpowl(), and stirf().

Here is the caller graph for this function:

◆ reducl()

static long double reducl ( long double  x)
static

References floorl(), ldexpl(), LNXT, and t.

Referenced by powl().

Variable Documentation

◆ A

long double A[33]
static

◆ B

long double B[17]
static
Initial value:
= {
0.0000000000000000000000E0L,
2.6176170809902549338711E-20L,
-1.0126791927256478897086E-20L,
1.3438228172316276937655E-21L,
1.2207982955417546912101E-20L,
-6.3084814358060867200133E-21L,
1.3164426894366316434230E-20L,
-1.8527916071632873716786E-20L,
1.8950325588932570796551E-20L,
1.5564775779538780478155E-20L,
6.0859793637556860974380E-21L,
-2.0208749253662532228949E-20L,
1.4966292219224761844552E-20L,
3.3540909728056476875639E-21L,
-8.6987564101742849540743E-22L,
-1.2327176863327626135542E-20L,
0.0000000000000000000000E0L,
}

Referenced by strtoId(), strtoIdd(), strtoIf(), strtoIg(), strtoIQ(), strtoIx(), and strtoIxL().

◆ huge

const long double huge = 0x1p10000L
static

Referenced by powil(), and powl().

◆ LOGE2L

const long double LOGE2L = 6.9314718055994530941723E-1L
static

Referenced by powil().

◆ MAXLOGL

const long double MAXLOGL = 1.1356523406294143949492E4L
static

Referenced by powil().

◆ MINLOGL

const long double MINLOGL = -1.13994985314888605586758E4L
static

Referenced by powil().

◆ P

long double P[]
static
Initial value:
= {
8.3319510773868690346226E-4L,
4.9000050881978028599627E-1L,
1.7500123722550302671919E0L,
1.4000100839971580279335E0L,
}

Referenced by powl().

◆ Q

long double Q[]
static
Initial value:
= {
5.2500282295834889175431E0L,
8.4000598057587009834666E0L,
4.2000302519914740834728E0L,
}

Referenced by powl().

◆ R

long double R[]
static
Initial value:
= {
1.5089970579127659901157E-5L,
1.5402715328927013076125E-4L,
1.3333556028915671091390E-3L,
9.6181291046036762031786E-3L,
5.5504108664798463044015E-2L,
2.4022650695910062854352E-1L,
6.9314718055994530931447E-1L,
}

Referenced by powl().

◆ twom10000

volatile long double twom10000 = 0x1p-10000L
static

Referenced by powil(), and powl().

◆ u

long double u
static

◆ W

long double W
static

◆ w

long double w
static

◆ Wa

long double Wa
static

◆ Wb

long double Wb
static

◆ ya

long double ya
static

Referenced by powl().

◆ yb

long double yb
static

Referenced by powl().

◆ z

volatile long double z
static

Referenced by __exp__D(), __ieee754_acos(), __ieee754_acosf(), __ieee754_atan2(), __ieee754_atan2f(), __ieee754_j0(), __ieee754_j0f(), __ieee754_j1(), __ieee754_j1f(), __ieee754_jn(), __ieee754_jnf(), __ieee754_lgamma_r(), __ieee754_lgammaf_r(), __ieee754_log(), __ieee754_logf(), __ieee754_pow(), __ieee754_powf(), __ieee754_rem_pio2(), __ieee754_rem_pio2f(), __ieee754_rem_pio2l(), __ieee754_sqrt(), __ieee754_sqrtf(), __ieee754_y0(), __ieee754_y0f(), __ieee754_y1(), __ieee754_y1f(), __kernel_cos(), __kernel_cosdf(), __kernel_cosl(), __kernel_rem_pio2(), __kernel_sin(), __kernel_sincos(), __kernel_sincosdf(), __kernel_sindf(), __kernel_sinl(), __kernel_tan(), __kernel_tandf(), __kernel_tanl(), __ldexp_cexp(), __ldexp_cexpf(), _ctans(), _ctansf(), _etoa(), acosl(), atan(), atan2l(), atanf(), atanl(), b2d(), cabs(), cabsf(), cabsl(), cacos(), cacosf(), cacosh(), cacoshf(), cacoshl(), cacosl(), carg(), cargf(), cargl(), casin(), casinf(), casinh(), casinhf(), casinhl(), casinl(), catan(), catanf(), catanh(), catanhf(), catanhl(), catanl(), ccos(), ccosf(), ccosh(), ccoshf(), ccoshl(), ccosl(), cexp(), cexpf(), cexpl(), cimag(), cimagf(), cimagl(), clog(), clogf(), clogl(), CMPLX(), CMPLXF(), CMPLXL(), conj(), conjf(), conjl(), cos(), cosl(), cpow(), cpowf(), cpowl(), cproj(), cprojf(), cprojl(), creal(), crealf(), creall(), csin(), csinf(), csinh(), csinhf(), csinhl(), csinl(), csqrt(), csqrtf(), csqrtl(), ctan(), ctanf(), ctanh(), ctanhf(), ctanhl(), ctanl(), ctansl(), d2b(), diff(), erf(), erfc(), erfcf(), erfcl(), erff(), erfl(), exp2(), exp2f(), exp2l(), fma(), fmaf(), fmal(), g_ddfmt(), k_log1p(), k_log1pf(), lgammal_r(), log10l(), log1p(), log1pf(), log1pl(), log2l(), logl(), lshift(), mult(), multadd(), neg_gam(), pone(), ponef(), powl(), pzero(), pzerof(), qone(), qonef(), quorem(), qzero(), qzerof(), sin(), sin_pi(), sin_pif(), sinl(), strtod(), strtodg(), sum(), tan(), tanh(), tanhf(), tanhl(), tanl(), and tgammal().