Quote:>>Hi y'all -

>>I have a need for an fast exp(x) function...

>>x is a float and can range inside +-10.0.

You can calculate exp(x) in fixed-point with a series of shifts

and adds and a small lookup table using CORDIC iterations.

Convergence is linear, so you get about one bit of precision with

each iteration through a simple loop. With 32-bit words, you can

probably get 26 bits of precision. If you can get by with less

bits of precision, you can by with less iterations.

I don't have the references handy, but I just recently published

a paper in Graphics Gems (Academic Press, 1990) on CORDIC trigonometry.

In the references to that paper are pointer to papers by Walthers

and Chen which address exp, log, sqrt, and a host of other nonlinear

functions.

--

Applelink: TURK

UUCP: sun!apple!turk