9

The IEEE 754 floating point arithmetic working group began in 1977 and was formally accepted in 1985. One of the original driving factors of the standard itself was Intel who wanted a standard to go along with their new floating point co-processor, the 8087. Because the standards process took an unexpectedly long time, the 8087 was actually taped out and shipped before the standard it inspired was ratified and the specification it met was a version of the "KCS spec" (for Kahan, Coonen, and Stone) circulated among working group members in 1979.

The standard was not meant to govern hardware per se, but to ensure that a mathematical computation would produce the same result whether performed in hardware or in software. So a conforming environment could be one that was in hardware, software, or a combination of the two.

BSD 4.3, released in 1986, contained a math library (libm) which was designed to operate with IEEE 754 and VAX arithmetic. To my understanding, this is the first library produced with the intent of conforming to the standard as it was ratified (much of the work in building the library took place from ~1983-1985).

My question is, like the 8087 was designed to conform to a snapshot of the standard as it was taking shape in 1979-1980, what floating point or mathematics libraries were designed to meet the standard before ratification?

I have added one such library, Intel's FPAL ("floating point arithmetic library"), as an answer. There may be others. Other libraries created for Intel processors but not with an aim to meet the 754 spec, such as Lawrence Livermore's floating point library from 1975 would not count.

Edit:

@hotpaw2's answer reminds me I should be asking for environments, not libraries. Environments like SANE are good answers.

2 Answers 2

8

One such library is Intel's "Floating Point Arithmetic Library" or FPAL, created in 1977-78. The manual for the library has been preserved by Bitsavers: 8080/8085 Floating-Point Arithmetic Library User's Manual.

This library was mentioned in a 1977 talk by John Palmer (one of the architects of the 8087) in “The Intel Standard for Floating-point Arithmetic”, John F. Palmer IEEE COMPSAC77 Proceedings - International Computer Software & Applications Conference pp. 107-112, IEEE Catalog number 77CH1291-4C where page 108 notes "A software Floating-point Arithmetic Library (FPAL) for the 8080 and a Math Board (SBC-310) made of series 3000 bit slices have already been produced using this standard."

1
  • 1
    I've removed that last line. I'm going to keep the mention of the answer in the question because it's an example of the kind of answer I'm looking for and I feel that's valuable for questions like this. Commented Apr 24 at 14:45
2

Jerome Coonen (the "C" in KCS) joined the Mac team at Apple circa 1982. At some point the software floating point library he helped develop became the Standard Apple Numerics Environment (SANE). This FP library was used in 68k software for the 68k Lisa, Mac, and even in some 6502 Apple II software.

2
  • Right you are, see the last page of the foreward from Kahan to the 1982 SANE manual: arithmazium.org/library/lib/wk_foreword_to_apple_82.pdf "The Standard Apple Numerics Environment (SANE) is the most thorough implementation of IEEE Standard 754 to date." Commented Apr 27 at 5:57
  • One correction, that's the 2nd edition to the manual, which was printed in 1987. The first edition from 1985 doesn't have the forward from Kahan but does describe an IEEE compliant arithmetic. Commented Apr 27 at 15:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .