aboutsummaryrefslogtreecommitdiff
path: root/source/testfloat_ver.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/testfloat_ver.c')
-rw-r--r--source/testfloat_ver.c60
1 files changed, 34 insertions, 26 deletions
diff --git a/source/testfloat_ver.c b/source/testfloat_ver.c
index 97edcbf..9a52c10 100644
--- a/source/testfloat_ver.c
+++ b/source/testfloat_ver.c
@@ -1,34 +1,37 @@
/*============================================================================
-This C source file is part of TestFloat, Release 3, a package of programs for
+This C source file is part of TestFloat, Release 3a, a package of programs for
testing the correctness of floating-point arithmetic complying with the IEEE
Standard for Floating-Point, by John R. Hauser.
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California
-(Regents). All Rights Reserved. Redistribution and use in source and binary
-forms, with or without modification, are permitted provided that the following
-conditions are met:
+Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
+California. All rights reserved.
-Redistributions of source code must retain the above copyright notice,
-this list of conditions, and the following two paragraphs of disclaimer.
-Redistributions in binary form must reproduce the above copyright notice,
-this list of conditions, and the following two paragraphs of disclaimer in the
-documentation and/or other materials provided with the distribution. Neither
-the name of the Regents nor the names of its contributors may be used to
-endorse or promote products derived from this software without specific prior
-written permission.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
-IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
-SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING
-OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS
-BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
-REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED
-HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE
-MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions, and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ 3. Neither the name of the University nor the names of its contributors may
+ be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
+DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
=============================================================================*/
@@ -234,13 +237,18 @@ int main( int argc, char *argv[] )
functionAttribs & (FUNC_ARG_ROUNDINGMODE | FUNC_EFF_ROUNDINGMODE)
? roundingCode
: 0;
+#ifdef EXTFLOAT80
verCases_tininessCode =
- functionAttribs
- & (extF80_roundingPrecision && (extF80_roundingPrecision < 80)
- ? FUNC_EFF_TININESSMODE_REDUCEDPREC
- : FUNC_EFF_TININESSMODE)
+ (functionAttribs & FUNC_EFF_TININESSMODE)
+ || ((functionAttribs & FUNC_EFF_TININESSMODE_REDUCEDPREC)
+ && extF80_roundingPrecision
+ && (extF80_roundingPrecision < 80))
? tininessCode
: 0;
+#else
+ verCases_tininessCode =
+ functionAttribs & FUNC_EFF_TININESSMODE ? tininessCode : 0;
+#endif
verCases_usesExact = ((functionAttribs & FUNC_ARG_EXACT) != 0);
verCases_exact = exact;
roundingMode = roundingModes[roundingCode];