
Package Overview for Berkeley SoftFloat Release 3e

John R. Hauser
2018 January 20

Berkeley SoftFloat is a software implementation of binary floating-point
that conforms to the IEEE Standard for Floating-Point Arithmetic.  SoftFloat
is distributed in the form of C source code.  Building the SoftFloat sources
generates a library file (typically "softfloat.a" or "libsoftfloat.a")
containing the floating-point subroutines.

The SoftFloat package is documented in the following files in the "doc"
subdirectory:

    SoftFloat.html          Documentation for using the SoftFloat functions.
    SoftFloat-source.html   Documentation for building SoftFloat.
    SoftFloat-history.html  History of the major changes to SoftFloat.

Other files in the package comprise the source code for SoftFloat.

