
March 7, 1992
			 Mach386 Math Library
			 --------------------

This library can completely replace the floating point math library
provided with Mach386 systems, such as Mt. Xinu's BSD 4.3.

Note that I wrote absolutely none of the assembly code in this
library, but simply changed the names to underscored names and edited
the Makefile to include missing functions from the original Mt. Xinu
math library.  The thanks go to Glenn Geers for this great package
<glenn@qed.physics.su.oz.au>. Read his README file for more info.

I am also very pleased to note that this math library is significantly
faster than Mt. Xinu's.  Glenn Geers hand-coded all of the routines in
80387 assembly, and did a great job of speed optimization.

There are a few minor functions that were not included in Glenn's
code, so the Makefile will extract them from your existing math
library.  This is especially important if you plan to compile X11R5,
as it calls the (missing) cbrt() function.

There was a bug in atan2() (both double and single precision versions)
in the first release of 386-mathlib-2.0.  I have applied the patches
supplied by Glenn.  There was also a bug in the pow() routine, which
was fixed by David Brown <dbrown@ucsd.edu>.  I know of no other bugs
in this library.  Please let me know if you find any.


			     INSTALLATION
			     ------------

You should be able to just type "make" and end up with the complete
math libraries.  If not, please send me Email.

The libraries are:
libfpu.a  - double version
libffpu.a - float version
libcfpu.a - combined version

There should also be an executable called "paranoia" that will
exercise the math functions and verify the results.  Run this to make
sure that all is well.

Once you are comfortable with your new library, make a copy of your
old /usr/lib/libm.a and put libcfpu.a in its place.  (You don't need
libfpu.a or libffpu.a as they are both subsets of libcfpu.a.)
You could also link libcfpu.a to libm.a

You also need to install fpumath.h in /usr/include and include
the file whenever you do math stuff.  

I can't supply a compiled binary because it needs functions that are 
copyrighted, and will be extracted from /usr/lib/libm.a during the make.

  Many thanks to --> Steve Haehnichen -- E-Mail: shaehnic@ucsd.edu

  Any questions mail to  Steve H.  or   mach@vernam.cs.uwm.edu

