Motorola DSP96002 User Manual
Page 635
B-116
DSP96002 USER’S MANUAL
MOTOROLA
B.1.47
Evaluation of EXP2(x)
Floating-point evaluation of exp2(x) can be performed by representing x as i+f where f is the fractional part
and i is the greatest integer in x that does not exceed x. Then, exp2(i+f) = exp2(f)*(2**i). After extracting
the fractional part f, exp2(f) can be evaluated with a polynomial. By scaling by the integer part, exp2(x)
results. Various execution speeds and accuracies may be determined by using different order polynomi-
als.
page 132,60,1,1
org x:0
polyc
dc -0.5770606e-03 ;**8
dc 0.2093549e-02 ;**7
dc -.02777411e-02 ;**6
dc 0.3357901e-02 ;**5
dc 0.8940958e-02 ;**4
dc 0.5558203e-01 ;**3
dc 0.2402348e+00 ;**2
dc 0.6931450e+00 ;**1
dc 0.1000000e+01 ;**0
org p:$100
;
; calculate d2=exp2(d0)
;
Program
ICycles
Words
floor d0,d7 #polyc,r0 2 2
fsub.x d7,d0 1 1
fclr d2 x:(r0)+,d1.s 1 1
int d7 1 1
do #9,_log2sig 2 3
fmpy.x d2,d0,d2 d7.l,d7.h 1 1
fadd.x d1,d2 x:(r0)+,d1.s 1 1
_log2sig
fscale.s d7,d2 1 1
--- ---
Totals: 10 27