beautypg.com

Motorola DSP96002 User Manual

Page 635

background image

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