Stereo System User Manual
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