aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJohn Hauser <jhauser@eecs.berkeley.edu>2017-08-10 16:26:24 -0700
committerJohn Hauser <jhauser@eecs.berkeley.edu>2017-08-10 16:26:24 -0700
commitdb047c521e07644199a679db36d842c05959e067 (patch)
tree2071959425595ce5ed7590597edd149fa995f584 /doc
parent9d731d45e86ae28cf13b0094979577061e0e811c (diff)
downloadberkeley-softfloat-3-db047c521e07644199a679db36d842c05959e067.zip
berkeley-softfloat-3-db047c521e07644199a679db36d842c05959e067.tar.gz
berkeley-softfloat-3-db047c521e07644199a679db36d842c05959e067.tar.bz2
Release 3d. See "doc/SoftFloat-history.html".
Diffstat (limited to 'doc')
-rw-r--r--doc/SoftFloat-history.html22
-rw-r--r--doc/SoftFloat-source.html19
-rw-r--r--doc/SoftFloat.html52
3 files changed, 66 insertions, 27 deletions
diff --git a/doc/SoftFloat-history.html b/doc/SoftFloat-history.html
index 515633e..e7d791b 100644
--- a/doc/SoftFloat-history.html
+++ b/doc/SoftFloat-history.html
@@ -7,14 +7,32 @@
<BODY>
-<H1>History of Berkeley SoftFloat, to Release 3c</H1>
+<H1>History of Berkeley SoftFloat, to Release 3d</H1>
<P>
John R. Hauser<BR>
-2017 February 10<BR>
+2017 August 10<BR>
</P>
+<H3>Release 3d (2017 August)</H3>
+
+<UL>
+
+<LI>
+Fixed bugs in the square root functions for <NOBR>64-bit</NOBR>
+double-precision, <NOBR>80-bit</NOBR> double-extended-precision, and
+<NOBR>128-bit</NOBR> quadruple-precision.
+For <NOBR>64-bit</NOBR> double-precision (<CODE>f64_sqrt</CODE>), the result
+could sometimes be off by <NOBR>1 unit</NOBR> in the last place
+(<NOBR>1 ulp</NOBR>) from what it should be.
+For the larger formats, the square root could be wrong in a large portion of
+the less-significant bits.
+(A bug in <CODE>f128_sqrt</CODE> was first reported by Alexei Sibidanov.)
+
+</UL>
+
+
<H3>Release 3c (2017 February)</H3>
<UL>
diff --git a/doc/SoftFloat-source.html b/doc/SoftFloat-source.html
index d94da48..8001964 100644
--- a/doc/SoftFloat-source.html
+++ b/doc/SoftFloat-source.html
@@ -7,11 +7,11 @@
<BODY>
-<H1>Berkeley SoftFloat Release 3c: Source Documentation</H1>
+<H1>Berkeley SoftFloat Release 3d: Source Documentation</H1>
<P>
John R. Hauser<BR>
-2017 February 10<BR>
+2017 August 10<BR>
</P>
@@ -69,7 +69,7 @@ SoftFloat has been successfully compiled with the GNU C Compiler
<NOBR>Release 2</NOBR> or earlier.
Changes to the interface of SoftFloat functions are documented in
<A HREF="SoftFloat.html"><NOBR><CODE>SoftFloat.html</CODE></NOBR></A>.
-The current version of SoftFloat is <NOBR>Release 3c</NOBR>.
+The current version of SoftFloat is <NOBR>Release 3d</NOBR>.
</P>
@@ -114,7 +114,7 @@ and <CODE>&lt;stdint.h&gt;</CODE></I>.
The SoftFloat package was written by me, <NOBR>John R.</NOBR> Hauser.
<NOBR>Release 3</NOBR> of SoftFloat was a completely new implementation
supplanting earlier releases.
-The project to create <NOBR>Release 3</NOBR> (now <NOBR>through 3c</NOBR>) was
+The project to create <NOBR>Release 3</NOBR> (now <NOBR>through 3d</NOBR>) was
done in the employ of the University of California, Berkeley, within the
Department of Electrical Engineering and Computer Sciences, first for the
Parallel Computing Laboratory (Par Lab) and then for the ASPIRE Lab.
@@ -148,7 +148,7 @@ Oracle, and Samsung.
</P>
<P>
-The following applies to the whole of SoftFloat <NOBR>Release 3c</NOBR> as well
+The following applies to the whole of SoftFloat <NOBR>Release 3d</NOBR> as well
as to each source file individually.
</P>
@@ -271,6 +271,15 @@ For the example targets,
</P>
<P>
+At the current time, all of the supplied target directories are merely examples
+that may or may not be correct for compiling on any particular system.
+Despite requests, there are currently no plans to include and maintain in the
+SoftFloat package the build files needed for a great many users&rsquo;
+compilation environments, which after all can span a broad range of operating
+systems, compilers, and other tools.
+</P>
+
+<P>
As supplied, each target directory contains two files:
<BLOCKQUOTE>
<PRE>
diff --git a/doc/SoftFloat.html b/doc/SoftFloat.html
index af7292c..8953d68 100644
--- a/doc/SoftFloat.html
+++ b/doc/SoftFloat.html
@@ -7,11 +7,11 @@
<BODY>
-<H1>Berkeley SoftFloat Release 3c: Library Interface</H1>
+<H1>Berkeley SoftFloat Release 3d: Library Interface</H1>
<P>
John R. Hauser<BR>
-2017 February 10<BR>
+2017 August 10<BR>
</P>
@@ -106,26 +106,38 @@ Information about the standard is available elsewhere.
</P>
<P>
-The current version of SoftFloat is <NOBR>Release 3c</NOBR>.
-The only significant difference between this release and the previous
-<NOBR>Release 3b</NOBR> is optional support for a rarely used rounding mode,
-<I>round to odd</I>, also known as <I>jamming</I>.
-</P>
-
-<P>
-<NOBR>Release 3b</NOBR> differed from the earlier <NOBR>Release 3a</NOBR>
-mainly in the addition of support for the <NOBR>16-bit</NOBR> half-precision
-format.
-Depending on the specific port of SoftFloat, <NOBR>Release 3b</NOBR> may also
-have changed the result obtained when conversion of a floating-point number to
-an integer format overflows or is otherwise invalid.
+The current version of SoftFloat is <NOBR>Release 3d</NOBR>.
+This release fixes bugs that were found in the square root functions for the
+<NOBR>64-bit</NOBR>, <NOBR>80-bit</NOBR>, and <NOBR>128-bit</NOBR>
+floating-point formats.
+(Thanks to Alexei Sibidanov at the University of Victoria for reporting an
+incorrect result.)
+The bugs affected all prior <NOBR>Release-3</NOBR> versions of SoftFloat.
+The flaw in the <NOBR>64-bit</NOBR> floating-point square root function was of
+very minor impact, causing a <NOBR>1-ulp</NOBR> error (<NOBR>1 unit</NOBR> in
+the last place) a few times out of a billion.
+The bugs in the <NOBR>80-bit</NOBR> and <NOBR>128-bit</NOBR> square root
+functions were more serious.
+Although incorrect results again occurred only a few times out of a billion,
+when they did occur a large portion of the less-significant bits could be
+wrong.
+</P>
+
+<P>
+<NOBR>Release 3d</NOBR> makes no changes to the SoftFloat library interface
+compared to the previous <NOBR>Release 3c</NOBR>.
+Since the original <NOBR>Release 3</NOBR>, the main changes to the interface
+have been that <NOBR>Release 3b</NOBR> added support for the
+<NOBR>16-bit</NOBR> half-precision format, and <NOBR>Release 3c</NOBR> added
+optional support for a rarely used rounding mode, <I>round to odd</I>, also
+known as <I>jamming</I>.
For more about the evolution of SoftFloat releases, see
<A HREF="SoftFloat-history.html"><NOBR><CODE>SoftFloat-history.html</CODE></NOBR></A>.
</P>
<P>
The functional interface of SoftFloat <NOBR>Release 3</NOBR> and later differs
-in many details from that of earlier releases.
+in many details from the releases that came before.
For specifics of these differences, see <NOBR>section 9</NOBR> below,
<I>Changes from SoftFloat <NOBR>Release 2</NOBR></I>.
</P>
@@ -157,7 +169,7 @@ strictly required.
<P>
Most operations not required by the original 1985 version of the IEEE
Floating-Point Standard but added in the 2008 version are not yet supported in
-SoftFloat <NOBR>Release 3c</NOBR>.
+SoftFloat <NOBR>Release 3d</NOBR>.
</P>
@@ -167,7 +179,7 @@ SoftFloat <NOBR>Release 3c</NOBR>.
The SoftFloat package was written by me, <NOBR>John R.</NOBR> Hauser.
<NOBR>Release 3</NOBR> of SoftFloat was a completely new implementation
supplanting earlier releases.
-The project to create <NOBR>Release 3</NOBR> (now <NOBR>through 3c</NOBR>) was
+The project to create <NOBR>Release 3</NOBR> (now <NOBR>through 3d</NOBR>) was
done in the employ of the University of California, Berkeley, within the
Department of Electrical Engineering and Computer Sciences, first for the
Parallel Computing Laboratory (Par Lab) and then for the ASPIRE Lab.
@@ -201,7 +213,7 @@ Oracle, and Samsung.
</P>
<P>
-The following applies to the whole of SoftFloat <NOBR>Release 3c</NOBR> as well
+The following applies to the whole of SoftFloat <NOBR>Release 3d</NOBR> as well
as to each source file individually.
</P>
@@ -383,7 +395,7 @@ comparisons between two values in the same floating-point format.
<P>
The following operations required by the 2008 IEEE Floating-Point Standard are
-not supported in SoftFloat <NOBR>Release 3c</NOBR>:
+not supported in SoftFloat <NOBR>Release 3d</NOBR>:
<UL>
<LI>
<B>nextUp</B>, <B>nextDown</B>, <B>minNum</B>, <B>maxNum</B>, <B>minNumMag</B>,