Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
e_pow.c File Reference

Functions

double __ieee754_pow (double x, double y) double __ieee754_pow(x
 
 if ((iy|ly)==0)
 
 if (ly==0)
 
 if (lx==0)
 
 if (((((int) hx > > 31)+1)|yisint)==0)
 
 if (iy > 0x41e00000)
 
 if (ix< 0x00100000)
 
 if (j<=0x3988E) k=0
 
 __HI (ax)
 
 __LO (s_h)=0
 
 __HI (t_h)
 
 __LO (t_h)=0
 
 __LO (p_h)=0
 
 __LO (t1)=0
 
 if (((((int) hx > > 31)+1)|(yisint - 1))==0)
 
else if ((j &0x7fffffff) >=0x4090cc00)
 
 if (i > 0x3fe00000)
 
 __LO (t)=0
 
 if ((j > > 20)<=0) z
 
else __HI (z)+
 

Variables

static const static double double bp [] = {1.0, 1.5,}
 
static const static double double dp_h [] = { 0.0, 5.84962487220764160156e-01,}
 
static const static double double dp_l [] = { 0.0, 1.35003920212974897128e-08,}
 
static const static double double zero = 0.0
 
static const static double double one = 1.0
 
static const static double double two = 2.0
 
static const static double double two53 = 9007199254740992.0
 
static const static double double huge = 1.0e300
 
static const static double double tiny = 1.0e-300
 
static const static double double L1 = 5.99999999999994648725e-01
 
static const static double double L2 = 4.28571428578550184252e-01
 
static const static double double L3 = 3.33333329818377432918e-01
 
static const static double double L4 = 2.72728123808534006489e-01
 
static const static double double L5 = 2.30660745775561754067e-01
 
static const static double double L6 = 2.06975017800338417784e-01
 
static const static double double P1 = 1.66666666666666019037e-01
 
static const static double double P2 = -2.77777777770155933842e-03
 
static const static double double P3 = 6.61375632143793436117e-05
 
static const static double double P4 = -1.65339022054652515390e-06
 
static const static double double P5 = 4.13813679705723846039e-08
 
static const static double double lg2 = 6.93147180559945286227e-01
 
static const static double double lg2_h = 6.93147182464599609375e-01
 
static const static double double lg2_l = -1.90465429995776804525e-09
 
static const static double double ovt = 8.0085662595372944372e-0017
 
static const static double double cp = 9.61796693925975554329e-01
 
static const static double double cp_h = 9.61796700954437255859e-01
 
static const static double double cp_l = -7.02846165095275826516e-09
 
static const static double double ivln2 = 1.44269504088896338700e+00
 
static const static double double ivln2_h = 1.44269502162933349609e+00
 
static const static double double ivln2_l = 1.92596299112661746887e-08
 
double y double x
 
double y double y
 
double y1
 
double t1 = (((z_h + z_l) + dp_h[k]) + t)
 
double t2 = z_l - (((t1 - t) - dp_h[k]) - z_h)
 
double r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6)))))
 
double s = u * v
 
double t = (double)n
 
double u = ax - bp[k]
 
double v = one / (ax + bp[k])
 
double w = v - (z - u)
 
double qqq = ax
 
int i0 = ((*(int*)&one) >> 29) ^ 1
 
int i1 = 1 - i0
 
int i = j & 0x7fffffff
 
int j = ix & 0x000fffff
 
int k = (i >> 20) - 0x3ff
 
int yisint
 
int n = 0
 
int hx = __HI(x)
 
int hy = __HI(y)
 
int ix = hx & 0x7fffffff
 
int iy = hy & 0x7fffffff
 
u32 lx = __LO(x)
 
u32 ly = __LO(y)
 
 ax = __fabs(x)
 
 else
 
 s_h = s
 
 t_h = zero
 
 t_l = ax - (t_h - bp[k])
 
 s_l = v * ((u - s_h * t_h) - s_h * t_l)
 
 s2 = s * s
 
 p_h = u + v
 
 p_l = v - (p_h - u)
 
 z_h = cp_h * p_h
 
 z_l = cp_l * p_h + p_l * cp + dp_l[k]
 
 z = u + v
 

Function Documentation

◆ __HI() [1/3]

__HI ( ax  )

◆ __HI() [2/3]

__HI ( t_h  )

◆ __HI() [3/3]

else __HI ( z  )

◆ __ieee754_pow()

double __ieee754_pow ( double  x,
double  y 
)

◆ __LO() [1/5]

__LO ( p_h  )
pure virtual

◆ __LO() [2/5]

__LO ( s_h  )
pure virtual

◆ __LO() [3/5]

__LO ( t  )
pure virtual

◆ __LO() [4/5]

__LO ( t1  )
pure virtual

◆ __LO() [5/5]

__LO ( t_h  )
pure virtual

◆ if() [1/11]

if ( ((((int) hx > > 31)+1)|(yisint - 1))  = = 0)

◆ if() [2/11]

if ( ((((int) hx > > 31)+1)|yisint = = 0)

◆ if() [3/11]

if ( (iy|ly = = 0)

◆ if() [4/11]

else if ( (j &0x7fffffff) >=  0x4090cc00)

◆ if() [5/11]

if ( (j > > 20)<=  0)

◆ if() [6/11]

if ( i  ,
0x3fe00000   
)

◆ if() [7/11]

if ( )

◆ if() [8/11]

if ( iy  ,
0x41e00000   
)

◆ if() [9/11]

if ( j<=  0x3988E)
pure virtual

◆ if() [10/11]

if ( lx  = = 0)

◆ if() [11/11]

if ( ly  = = 0)

Variable Documentation

◆ ax

ax = __fabs(x)

◆ bp

const static double double bp[] = {1.0, 1.5,}
static

◆ cp

const static double double cp = 9.61796693925975554329e-01
static

◆ cp_h

const static double double cp_h = 9.61796700954437255859e-01
static

◆ cp_l

const static double double cp_l = -7.02846165095275826516e-09
static

◆ dp_h

const static double double dp_h[] = { 0.0, 5.84962487220764160156e-01,}
static

◆ dp_l

const static double double dp_l[] = { 0.0, 1.35003920212974897128e-08,}
static

◆ else

else
Initial value:
{
double s2, s_h, s_l, t_h, t_l
s_h
Definition e_pow.c:312
s2
Definition e_pow.c:320
t_h
Definition e_pow.c:315
s_l
Definition e_pow.c:318
t_l
Definition e_pow.c:317

◆ huge

const static double double huge = 1.0e300
static

◆ hx

hx = __HI(x)

◆ hy

hy = __HI(y)

◆ i

i = j & 0x7fffffff

◆ i0

i0 = ((*(int*)&one) >> 29) ^ 1

◆ i1

i1 = 1 - i0

◆ ivln2

const static double double ivln2 = 1.44269504088896338700e+00
static

◆ ivln2_h

const static double double ivln2_h = 1.44269502162933349609e+00
static

◆ ivln2_l

const static double double ivln2_l = 1.92596299112661746887e-08
static

◆ ix

ix = hx & 0x7fffffff

◆ iy

iy = hy & 0x7fffffff

◆ j

j = ix & 0x000fffff

◆ k

k = (i >> 20) - 0x3ff

◆ L1

const static double double L1 = 5.99999999999994648725e-01
static

◆ L2

const static double double L2 = 4.28571428578550184252e-01
static

◆ L3

const static double double L3 = 3.33333329818377432918e-01
static

◆ L4

const static double double L4 = 2.72728123808534006489e-01
static

◆ L5

const static double double L5 = 2.30660745775561754067e-01
static

◆ L6

const static double double L6 = 2.06975017800338417784e-01
static

◆ lg2

const static double double lg2 = 6.93147180559945286227e-01
static

◆ lg2_h

const static double double lg2_h = 6.93147182464599609375e-01
static

◆ lg2_l

const static double double lg2_l = -1.90465429995776804525e-09
static

◆ lx

lx = __LO(x)

◆ ly

ly = __LO(y)

◆ n

n = 0

◆ one

const static double double one = 1.0
static

◆ ovt

const static double double ovt = 8.0085662595372944372e-0017
static

◆ P1

const static double double P1 = 1.66666666666666019037e-01
static

◆ P2

const static double double P2 = -2.77777777770155933842e-03
static

◆ P3

const static double double P3 = 6.61375632143793436117e-05
static

◆ P4

const static double double P4 = -1.65339022054652515390e-06
static

◆ P5

const static double double P5 = 4.13813679705723846039e-08
static

◆ p_h

p_h = u + v

◆ p_l

p_l = v - (p_h - u)

◆ qqq

qqq = ax

◆ r

r = s2 * s2 * (L1 + s2 * (L2 + s2 * (L3 + s2 * (L4 + s2 * (L5 + s2 * L6)))))

◆ s

s = u * v

◆ s2

s2 = s * s

◆ s_h

s_h = s

◆ s_l

s_l = v * ((u - s_h * t_h) - s_h * t_l)

◆ t

t = (double)n

◆ t1

t1 = (((z_h + z_l) + dp_h[k]) + t)

◆ t2

t2 = z_l - (((t1 - t) - dp_h[k]) - z_h)

◆ t_h

t_h = zero

◆ t_l

t_l = ax - (t_h - bp[k])

◆ tiny

const static double double tiny = 1.0e-300
static

◆ two

const static double double two = 2.0
static

◆ two53

const static double double two53 = 9007199254740992.0
static

◆ u

u = ax - bp[k]

◆ v

v = one / (ax + bp[k])

◆ w

w = v - (z - u)

◆ x

◆ y

◆ y1

double y1
Initial value:
{
double z, ax, z_h, z_l, p_h, p_l
p_h
Definition e_pow.c:331
z_l
Definition e_pow.c:335
z_h
Definition e_pow.c:334
ax
Definition e_pow.c:233
z
Definition e_pow.c:390
p_l
Definition e_pow.c:333

◆ yisint

int yisint

◆ z

return s * z = u + v

◆ z_h

z_h = cp_h * p_h

◆ z_l

z_l = cp_l * p_h + p_l * cp + dp_l[k]

◆ zero

const static double double zero = 0.0
static