VirtualBox

source: vbox/trunk/src/libs/softfloat-3e/testfloat/doc/TestFloat-history.html@ 102455

Last change on this file since 102455 was 94551, checked in by vboxsync, 3 years ago

libs/softfloat: Copied TestFloat-3e from vendor branch and to testfloat subdir. bugref:9898

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/html
File size: 6.5 KB
Line 
1
2<HTML>
3
4<HEAD>
5<TITLE>Berkeley TestFloat History</TITLE>
6</HEAD>
7
8<BODY>
9
10<H1>History of Berkeley TestFloat, to Release 3e</H1>
11
12<P>
13John R. Hauser<BR>
142018 January 20<BR>
15</P>
16
17
18<P>
19Releases of Berkeley TestFloat normally parallel those of Berkeley SoftFloat,
20on which TestFloat is based.
21Each TestFloat release necessarily incorporates all bug fixes from the
22corresponding release of SoftFloat.
23</P>
24
25
26<H3>Release 3e (2018 January)</H3>
27
28<UL>
29
30<LI>
31Fixed a problem with the all-in-one <CODE>testfloat</CODE> program whereby
32function set <CODE>-all1</CODE> incorrectly also tested the three-operand fused
33multiply-add operations.
34
35<LI>
36Modified the expected behavior of rounding mode <CODE>odd</CODE> (jamming) when
37rounding to an integer value (either conversion to an integer format or a
38&lsquo;<CODE>roundToInt</CODE>&rsquo; function).
39Previously, for those cases only, rounding mode <CODE>odd</CODE> was expected
40to act the same as rounding to minimum magnitude.
41Now, when rounding to an integer value, the nearest odd integer is expected,
42consistent with the round-to-odd result of other operations.
43
44<LI>
45Added options <CODE>-checkInvInts</CODE> and <CODE>-checkAll</CODE> to programs
46<CODE>testfloat_ver</CODE> and <CODE>testfloat</CODE>.
47
48<LI>
49Improved the checking of integer results of invalid operations.
50
51</UL>
52
53
54<H3>Release 3d (2017 August)</H3>
55
56<UL>
57
58<LI>
59When the all-in-one <CODE>testfloat</CODE> program is compiled to test the C
60language&rsquo;s arithmetic, added the ability to test library functions
61<CODE>sqrtf</CODE>, <CODE>sqrtl</CODE>, <CODE>fmaf</CODE>, <CODE>fma</CODE>,
62and <CODE>fmal</CODE>, which were added to the <NOBR>C Standard</NOBR> in 1999.
63
64</UL>
65
66
67<H3>Release 3c (2017 February)</H3>
68
69<UL>
70
71<LI>
72Added support for testing rounding mode <CODE>odd</CODE> (jamming).
73
74<LI>
75Made support for testing <NOBR>64-bit</NOBR> double-precistion floating-point
76be subject to macro <CODE>FLOAT64</CODE> (akin to macros <CODE>FLOAT16</CODE>,
77<CODE>EXTFLOAT80</CODE>, and <CODE>FLOAT128</CODE> from before).
78
79<LI>
80Fixed some bugs that caused compilation to fail with certain combinations of
81option macro settings.
82
83<LI>
84Corrected the types of two internal variables to be <CODE>sig_atomic_t</CODE>
85instead of <CODE>bool</CODE>.
86
87<LI>
88Improved the formatting of some error reports (concerning where lines are
89broken when they exceed 79 characters in length).
90
91</UL>
92
93
94<H3>Release 3b (2016 July)</H3>
95
96<UL>
97
98<LI>
99Added the ability to test the common <NOBR>16-bit</NOBR>
100&ldquo;half-precision&rdquo; floating-point format.
101
102<LI>
103Added a <CODE>-seed</CODE> option to programs <CODE>testfloat_gen</CODE>,
104<CODE>testfloat</CODE>, and <CODE>testsoftfloat</CODE> for setting the seed for
105the pseudo-random number generator used to generate test cases.
106
107<LI>
108Where a specific choice is needed for how tininess is detected on underflow,
109changed the default to be the detection of tininess after rounding
110(<CODE>-tininessafter</CODE>) instead of before rounding
111(<CODE>-tininessbefore</CODE>).
112
113<LI>
114Modified the format of reported discrepancies to show the signs of
115floating-point values using <CODE>+</CODE> and <CODE>-</CODE> characters.
116
117<LI>
118Documented the use of the <CODE>INLINE</CODE> macro, and fixed the sources for
119the case that function inlining is not supported by the C compiler.
120
121<LI>
122Documented the possible need to define macro <CODE>THREAD_LOCAL</CODE> to match
123how the SoftFloat library was built.
124
125<LI>
126Modified the provided Makefiles to allow some options to be overridden from the
127<CODE>make</CODE> command.
128
129</UL>
130
131
132<H3>Release 3a (2015 October)</H3>
133
134<UL>
135
136<LI>
137Replaced the license text supplied by the University of California, Berkeley,
138and fixed some minor build problems.
139
140</UL>
141
142
143<H3>Release 3 (2015 February)</H3>
144
145<UL>
146
147<LI>
148Complete rewrite, funded by the University of California, Berkeley, and
149consequently having a different use license than earlier releases.
150Visible changes included different names for testable functions and command
151options.
152
153<LI>
154Reinstated separate programs for generating test cases
155(<CODE>testfloat_ver</CODE>) and verifying test results
156(<CODE>testfloat_gen</CODE>), as alternatives to the all-in-one
157<CODE>testfloat</CODE> program (which remained supported).
158
159<LI>
160Added support for testing conversions between floating-point and unsigned
161integers, both <NOBR>32-bit</NOBR> and <NOBR>64-bit</NOBR>.
162
163<LI>
164Added support for testing a fused multiply-add operation, for all testable
165floating-point formats except <NOBR>80-bit</NOBR> double-extended-precision.
166
167<LI>
168Added support for testing a fifth rounding mode, <CODE>near_maxMag</CODE>
169(round to nearest, with ties to maximum magnitude, away from zero).
170
171<LI>
172Added <CODE>timesoftfloat</CODE> (previously found in the Berkeley SoftFloat
173package).
174
175</UL>
176
177
178<H3>Release 2c (2015 January)</H3>
179
180<UL>
181
182<LI>
183Fixed mistakes affecting some <NOBR>64-bit</NOBR> processors.
184
185<LI>
186Made minor updates to the documentation, including improved wording for the
187legal restrictions on using TestFloat releases <NOBR>through 2c</NOBR> (not
188applicable to <NOBR>Release 3</NOBR> or later).
189
190</UL>
191
192
193<P>
194There was never a <NOBR>Release 2b</NOBR>.
195</P>
196
197
198<H3>Release 2a (1998 December)</H3>
199
200<UL>
201
202<LI>
203Added support for testing conversions between floating-point and
204<NOBR>64-bit</NOBR> signed integers.
205
206<LI>
207Improved the Makefiles.
208
209</UL>
210
211
212<H3>Release 2 (1997 June)</H3>
213
214<UL>
215
216<LI>
217Integrated the generation of test cases and the checking of system results into
218a single program.
219(Before they were separate programs, normally joined by explicit command-line
220pipes.)
221
222<LI>
223Improved the sequence of test cases.
224
225<LI>
226Added support for testing <NOBR>80-bit</NOBR> double-extended-precision and
227<NOBR>128-bit</NOBR> quadruple precision.
228
229<LI>
230Made program output more readable, and added new command arguments.
231
232<LI>
233Reduced dependence on the quality of the standard <CODE>rand</CODE> function
234for generating test cases.
235(Previously naively expected <CODE>rand</CODE> to be able to generate good
236random bits for the entire machine word width.)
237
238<LI>
239Created <CODE>testsoftfloat</CODE>, with its own simpler complete software
240floating-point (&ldquo;slowfloat&rdquo;) for comparison purposes.
241
242<LI>
243Made some changes to the source file structure, including renaming
244<CODE>environment.h</CODE> to <CODE>milieu.h</CODE> (to avoid confusion with
245environment variables).
246
247</UL>
248
249
250<H3>Release 1a (1996 July)</H3>
251
252<UL>
253
254<LI>
255Added the <CODE>-tininessbefore</CODE> and <CODE>-tininessafter</CODE> options
256to control whether tininess should be detected before or after rounding.
257
258</UL>
259
260
261<H3>Release 1 (1996 July)</H3>
262
263<UL>
264
265<LI>
266Original release.
267
268</UL>
269
270
271</BODY>
272
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette