non-IEEE Float Format and libm

Joel Sherrill
Fri Nov 17 10:03:00 GMT 2000

The discussion on long double makes me want to ask another libm
question.  I have been working on the TI C3x/C4x DSP port of
newlib.  The CPU family has a non-IEEE FPU and this has caused
great pain with dtoa.c and libm.  Our solution to dtoa.c is a 
hack. But our solution (still not complete) to the libm issue
is more permanent.  

We have collected or written free source for most of the 
libm routines that do NOT depend in anyway on the underlying
FP format.  These routines implement series, formulas, etc.
rather than bit-twiddle.  At this point, we have not address
erf(), Bessel or Gamma functions.  We are using macros to
instantiate the algorithms for float, double, and long double
with different interface names.  By using newlib's trick of
adding machine specific versions after the portable version,
we are overriding a couple of functions with TI C3x assembly
versions.  Is any of this of interest to the newlib community?

Joel Sherrill, Ph.D.             Director of Research & Development                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985

More information about the Newlib mailing list