blob: 6223e5f85a2352b856c20d3f7358df67ffb012d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
.text
.type exp10,@function
.global exp10
.type pow10,@function
.global pow10
pow10:
exp10: # note: 10^(x) = 2^(x*log2(10))
fldl2t
fmull 4(%esp) # x*log2(10)
fld %st(0) # x*log2(10) x*log2(10)
frndint # int(x*log2(10)) x*log2(10)
fxch # x*log2(10) int(x*log2(10))
fsub %st(1),%st(0) # frac(x*log2(10)) int(x*log2(10))
f2xm1 # 2^(fract(x*log2(10)))-1 int(x*log2(10))
fld1 # 1 2^(fract(x*log2(10)))-1 int(x*log2(10))
faddp %st(0),%st(1) # 2^(fract(x*log2(10))) int(x*log2(10))
fscale # 2^(x*log2(10)) int(x*log2(10))
fstp %st(1) # 2^(x*log2(10))
ret
.ende:
.size exp10,.ende-exp10
.size pow10,.ende-pow10
|