nextUp, nextDown, minNum, maxNum, minNumMag,
@@ -445,8 +447,8 @@ exponent must both be zero.
-SoftFloat's functions are not guaranteed to operate as expected when inputs of
-type extFloat80_t are non-canonical.
+SoftFloat’s functions are not guaranteed to operate as expected when
+inputs of type extFloat80_t are non-canonical.
Assuming all of a function’s extFloat80_t inputs (if any)
are canonical, function outputs of type extFloat80_t will always
be canonical.
@@ -591,16 +593,15 @@ Variable softfloat_roundingMode is initialized to
-If supported, mode softfloat_round_odd first rounds a
-floating-point result to minimum magnitude, the same as
+When softfloat_round_odd is the rounding mode for a function that
+rounds to an integer value (either conversion to an integer format or a
+‘roundToInt’ function), if the input is not already an
+integer, the rounded result is the closest odd integer.
+For other operations, this rounding mode acts as though the floating-point
+result is first rounded to minimum magnitude, the same as
softfloat_round_minMag, and then, if the result is inexact, the
least-significant bit of the result is set to 1.
-This rounding mode is also known as jamming.
-As a special case, when softfloat_round_odd is the rounding mode
-for a function that rounds to an integer value (either conversion to an integer
-format or a ‘roundToInt’ function), rounding is the
-same as softfloat_round_minMag, without any change to the
-least-significant integer bit.
+Rounding to odd is also known as jamming.
6.2. Underflow Detection
@@ -820,12 +821,6 @@ The roundingMode argument specifies the rounding mode for
the conversion.
The variable that usually indicates rounding mode,
softfloat_roundingMode, is ignored.
-If roundingMode is softfloat_round_odd,
-rounding is to minimum magnitude, the same as
-softfloat_round_minMag, rather than to an odd integer.
-
-
-
Argument exact determines whether the inexact
exception flag is raised if the conversion is not exact.
If exact is true, the inexact flag may
@@ -1087,12 +1082,6 @@ The roundingMode argument specifies the rounding mode to
apply.
The variable that usually indicates rounding mode,
softfloat_roundingMode, is ignored.
-If roundingMode is softfloat_round_odd,
-rounding is to minimum magnitude, the same as
-softfloat_round_minMag, rather than to an odd integer value.
-
-
-
Argument exact determines whether the inexact
exception flag is raised if the conversion is not exact.
If exact is true, the inexact flag may
diff --git a/deps/SoftFloat-3d/source/8086-SSE/extF80M_isSignalingNaN.c b/deps/SoftFloat-3e/source/8086-SSE/extF80M_isSignalingNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/extF80M_isSignalingNaN.c
rename to deps/SoftFloat-3e/source/8086-SSE/extF80M_isSignalingNaN.c
index 9abc018542ee14317695f396327ee9a86af3302e..85ee211c28d7bf24a6b170abec6980669750e799 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/extF80M_isSignalingNaN.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/extF80M_isSignalingNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/f128M_isSignalingNaN.c b/deps/SoftFloat-3e/source/8086-SSE/f128M_isSignalingNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/f128M_isSignalingNaN.c
rename to deps/SoftFloat-3e/source/8086-SSE/f128M_isSignalingNaN.c
index 7d7a78af7e35ee30cd504a923665cae579f4699b..79a70777167298fec17931215f3bce2e68517d28 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/f128M_isSignalingNaN.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/f128M_isSignalingNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_commonNaNToExtF80M.c b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToExtF80M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_commonNaNToExtF80M.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToExtF80M.c
index 80991a95acd5c893c95ac8223dfd51825e26a95c..3405b3ba4efb006a1849703ebd8f4f4f7719b05e 100644
--- a/deps/SoftFloat-3d/source/8086/s_commonNaNToExtF80M.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToExtF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_commonNaNToExtF80UI.c b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToExtF80UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_commonNaNToExtF80UI.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToExtF80UI.c
index 29da88ac87ed3645ba94649beffdc9e6c7ecb363..cb7424f430c95ad9fec098a9111ab5baf78d722b 100644
--- a/deps/SoftFloat-3d/source/8086/s_commonNaNToExtF80UI.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToExtF80UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF128M.c b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF128M.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF128M.c
index 6eb1e3661524bab1994509b7f40afc098bbd332a..e7ea80258916e1a7d1565af8304ebf31f4cffb86 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF128M.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF128UI.c b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF128UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF128UI.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF128UI.c
index 0036fa5476e09f9f2e4fe08f021640efc734d1cc..7a9423bea2903c0cffbbb08fa6153a83d8acc1db 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF128UI.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF128UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_commonNaNToF16UI.c b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF16UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_commonNaNToF16UI.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF16UI.c
index b247a5dd48f5a83d118a62120e9443dfd590c3bd..d4e458a9414373ee40630cea77dfe8bc501bff3b 100644
--- a/deps/SoftFloat-3d/source/8086/s_commonNaNToF16UI.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF16UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF32UI.c b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF32UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF32UI.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF32UI.c
index ef117c88ffcb0b6cb3c0d24db8e0b1ea132439f8..ed6c2268f31f6228cea297d9b04441fd273c9e0b 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF32UI.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF32UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF64UI.c b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF64UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF64UI.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF64UI.c
index 2ca37f7a9fa67d06a3c9d2e49c63a3a5b7fd1763..1182be3c9cdff20fa575505b513503bb1098667b 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF64UI.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_commonNaNToF64UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_extF80MToCommonNaN.c b/deps/SoftFloat-3e/source/8086-SSE/s_extF80MToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_extF80MToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_extF80MToCommonNaN.c
index fa3d637230b73761a1a9f6ef504acef532d8af9c..00baf35f893a827f456de18693b3c0224386cd9e 100644
--- a/deps/SoftFloat-3d/source/8086/s_extF80MToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_extF80MToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_extF80UIToCommonNaN.c b/deps/SoftFloat-3e/source/8086-SSE/s_extF80UIToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_extF80UIToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_extF80UIToCommonNaN.c
index e3b4e66fdacfac1c8789d18948b5e4544ac05efe..ab6311ef290683825b32f3931a1fb44fac687611 100644
--- a/deps/SoftFloat-3d/source/8086/s_extF80UIToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_extF80UIToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_f128MToCommonNaN.c b/deps/SoftFloat-3e/source/8086-SSE/s_f128MToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_f128MToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_f128MToCommonNaN.c
index 61498d7d006faaf50702409bf1483c34722478e2..55ec25b58c8db3bbe716e014c7cb47ae5d9dc224 100644
--- a/deps/SoftFloat-3d/source/8086/s_f128MToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_f128MToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_f128UIToCommonNaN.c b/deps/SoftFloat-3e/source/8086-SSE/s_f128UIToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_f128UIToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_f128UIToCommonNaN.c
index bd066090f474355e7285ad60a7ca4837b445e2ba..f838f02aaf1fe5515747c170980a76c9c835dd15 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_f128UIToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_f128UIToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_f16UIToCommonNaN.c b/deps/SoftFloat-3e/source/8086-SSE/s_f16UIToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_f16UIToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_f16UIToCommonNaN.c
index fe306e5952f892c7f4f8ce4ffc768c76eee8d099..c1e242d23684ee64b01f7bb3850f3aefac84d0d2 100644
--- a/deps/SoftFloat-3d/source/8086/s_f16UIToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_f16UIToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_f32UIToCommonNaN.c b/deps/SoftFloat-3e/source/8086-SSE/s_f32UIToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_f32UIToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_f32UIToCommonNaN.c
index 050f8d122ac6bc238d00154f9f0e9cd9e758b6e7..b21ba660398dca0269a7b206d7e3f829863fd4db 100644
--- a/deps/SoftFloat-3d/source/8086/s_f32UIToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_f32UIToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_f64UIToCommonNaN.c b/deps/SoftFloat-3e/source/8086-SSE/s_f64UIToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_f64UIToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_f64UIToCommonNaN.c
index 6b98ed09e747e8be15f8963927464ebeb7b3f534..6529d2ee5fd12be7f80092f13241363b3ef07d27 100644
--- a/deps/SoftFloat-3d/source/8086/s_f64UIToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_f64UIToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNExtF80M.c b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNExtF80M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNExtF80M.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNExtF80M.c
index f25d940f95f7d709c2ba2f526fe00060d32bfaa2..ea1d57a7881449d0e676f58339f54372a1136d96 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNExtF80M.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNExtF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_propagateNaNExtF80UI.c b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNExtF80UI.c
similarity index 88%
rename from deps/SoftFloat-3d/source/8086/s_propagateNaNExtF80UI.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNExtF80UI.c
index 2c063e128dfa42f84d5e4a211c56df7c6a489456..cc3f0f42c55db3f7f0b557f083359ad484b116cb 100644
--- a/deps/SoftFloat-3d/source/8086/s_propagateNaNExtF80UI.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNExtF80UI.c
@@ -2,10 +2,10 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
-All rights reserved.
+Copyright 2011, 2012, 2013, 2014, 2018 The Regents of the University of
+California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -42,9 +42,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "softfloat.h"
/*----------------------------------------------------------------------------
-| Interpreting the unsigned integer formed from concatenating `uiA64' and
-| `uiA0' as an 80-bit extended floating-point value, and likewise interpreting
-| the unsigned integer formed from concatenating `uiB64' and `uiB0' as another
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as an 80-bit extended floating-point value, and likewise interpreting
+| the unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
| 80-bit extended floating-point value, and assuming at least on of these
| floating-point values is a NaN, returns the bit pattern of the combined NaN
| result. If either original floating-point value is a signaling NaN, the
@@ -90,8 +90,8 @@ struct uint128
uiMagB64 = uiB64 & 0x7FFF;
if ( uiMagA64 < uiMagB64 ) goto returnB;
if ( uiMagB64 < uiMagA64 ) goto returnA;
- if ( uiNonsigA0 < uiNonsigB0 ) goto returnB;
- if ( uiNonsigB0 < uiNonsigA0 ) goto returnA;
+ if ( uiA0 < uiB0 ) goto returnB;
+ if ( uiB0 < uiA0 ) goto returnA;
if ( uiA64 < uiB64 ) goto returnA;
returnB:
uiZ.v64 = uiB64;
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF128M.c b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF128M.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF128M.c
index d432c3318f8195b40fbed6301803948719b1393c..aa903bf809095a6ec9412ce46239a87489523cfc 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF128M.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF128UI.c b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF128UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF128UI.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF128UI.c
index 948bb32b0c63c08f4ef09e9f4238411550ac35e6..1c1c2f4a09830ffa4a10b6e2d537a5292f119b19 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF128UI.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF128UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF16UI.c b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF16UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF16UI.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF16UI.c
index 78f7146df6ca2b0809823d7cc9285551acfb0999..4e87ff41f8069fd8913e4ea4cffa3058423e815a 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF16UI.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF16UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF32UI.c b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF32UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF32UI.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF32UI.c
index bef013c005e30ff3a6d727c67e0c1865b8873999..e1a87552506fb46dbecb3b52d733b0e54c5ab679 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF32UI.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF32UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF64UI.c b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF64UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF64UI.c
rename to deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF64UI.c
index bd695131365814068963397bbf3e75cd9e663287..1af349f3e3245e23d742c5a2292fdbbc4de4c6b1 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNF64UI.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/s_propagateNaNF64UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/softfloat_raiseFlags.c b/deps/SoftFloat-3e/source/8086-SSE/softfloat_raiseFlags.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/softfloat_raiseFlags.c
rename to deps/SoftFloat-3e/source/8086-SSE/softfloat_raiseFlags.c
index 5da372882d385ef32deee920bb10eda8526e4783..3115306beedd2b72557eba826f1afeccdcf02503 100644
--- a/deps/SoftFloat-3d/source/8086/softfloat_raiseFlags.c
+++ b/deps/SoftFloat-3e/source/8086-SSE/softfloat_raiseFlags.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/specialize.h b/deps/SoftFloat-3e/source/8086-SSE/specialize.h
similarity index 79%
rename from deps/SoftFloat-3d/source/8086-SSE/specialize.h
rename to deps/SoftFloat-3e/source/8086-SSE/specialize.h
index e403193dc7c298c175a20201155d40f5b08b8def..5fe119a1e1f1311c504d05078224eb452551f2de 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/specialize.h
+++ b/deps/SoftFloat-3e/source/8086-SSE/specialize.h
@@ -2,10 +2,10 @@
/*============================================================================
This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
-Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
-California. All rights reserved.
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2018 The Regents of the
+University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -39,10 +39,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include
#include
-#include "softfloat_types.h"
+#include "primitiveTypes.h"
+#include "softfloat.h"
/*----------------------------------------------------------------------------
-| Default value for `softfloat_detectTininess'.
+| Default value for 'softfloat_detectTininess'.
*----------------------------------------------------------------------------*/
#define init_detectTininess softfloat_tininess_afterRounding
@@ -51,22 +52,22 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| invalid exception.
*----------------------------------------------------------------------------*/
#define ui32_fromPosOverflow 0xFFFFFFFF
-#define ui32_fromNegOverflow 0
+#define ui32_fromNegOverflow 0xFFFFFFFF
#define ui32_fromNaN 0xFFFFFFFF
-#define i32_fromPosOverflow 0x7FFFFFFF
+#define i32_fromPosOverflow (-0x7FFFFFFF - 1)
#define i32_fromNegOverflow (-0x7FFFFFFF - 1)
-#define i32_fromNaN 0x7FFFFFFF
+#define i32_fromNaN (-0x7FFFFFFF - 1)
/*----------------------------------------------------------------------------
| The values to return on conversions to 64-bit integer formats that raise an
| invalid exception.
*----------------------------------------------------------------------------*/
#define ui64_fromPosOverflow UINT64_C( 0xFFFFFFFFFFFFFFFF )
-#define ui64_fromNegOverflow 0
+#define ui64_fromNegOverflow UINT64_C( 0xFFFFFFFFFFFFFFFF )
#define ui64_fromNaN UINT64_C( 0xFFFFFFFFFFFFFFFF )
-#define i64_fromPosOverflow UINT64_C( 0x7FFFFFFFFFFFFFFF )
-#define i64_fromNegOverflow (-UINT64_C( 0x7FFFFFFFFFFFFFFF ) - 1)
-#define i64_fromNaN UINT64_C( 0x7FFFFFFFFFFFFFFF )
+#define i64_fromPosOverflow (-INT64_C( 0x7FFFFFFFFFFFFFFF ) - 1)
+#define i64_fromNegOverflow (-INT64_C( 0x7FFFFFFFFFFFFFFF ) - 1)
+#define i64_fromNaN (-INT64_C( 0x7FFFFFFFFFFFFFFF ) - 1)
/*----------------------------------------------------------------------------
| "Common NaN" structure, used to transfer NaN representations from one format
@@ -87,30 +88,30 @@ struct commonNaN {
#define defaultNaNF16UI 0xFE00
/*----------------------------------------------------------------------------
-| Returns true when 16-bit unsigned integer `uiA' has the bit pattern of a
+| Returns true when 16-bit unsigned integer 'uiA' has the bit pattern of a
| 16-bit floating-point signaling NaN.
| Note: This macro evaluates its argument more than once.
*----------------------------------------------------------------------------*/
#define softfloat_isSigNaNF16UI( uiA ) ((((uiA) & 0x7E00) == 0x7C00) && ((uiA) & 0x01FF))
/*----------------------------------------------------------------------------
-| Assuming `uiA' has the bit pattern of a 16-bit floating-point NaN, converts
+| Assuming 'uiA' has the bit pattern of a 16-bit floating-point NaN, converts
| this NaN to the common NaN form, and stores the resulting common NaN at the
-| location pointed to by `zPtr'. If the NaN is a signaling NaN, the invalid
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
| exception is raised.
*----------------------------------------------------------------------------*/
void softfloat_f16UIToCommonNaN( uint_fast16_t uiA, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into a 16-bit floating-point
+| Converts the common NaN pointed to by 'aPtr' into a 16-bit floating-point
| NaN, and returns the bit pattern of this value as an unsigned integer.
*----------------------------------------------------------------------------*/
uint_fast16_t softfloat_commonNaNToF16UI( const struct commonNaN *aPtr );
/*----------------------------------------------------------------------------
-| Interpreting `uiA' and `uiB' as the bit patterns of two 16-bit floating-
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 16-bit floating-
| point values, at least one of which is a NaN, returns the bit pattern of
-| the combined NaN result. If either `uiA' or `uiB' has the pattern of a
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
| signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
uint_fast16_t
@@ -122,30 +123,30 @@ uint_fast16_t
#define defaultNaNF32UI 0xFFC00000
/*----------------------------------------------------------------------------
-| Returns true when 32-bit unsigned integer `uiA' has the bit pattern of a
+| Returns true when 32-bit unsigned integer 'uiA' has the bit pattern of a
| 32-bit floating-point signaling NaN.
| Note: This macro evaluates its argument more than once.
*----------------------------------------------------------------------------*/
#define softfloat_isSigNaNF32UI( uiA ) ((((uiA) & 0x7FC00000) == 0x7F800000) && ((uiA) & 0x003FFFFF))
/*----------------------------------------------------------------------------
-| Assuming `uiA' has the bit pattern of a 32-bit floating-point NaN, converts
+| Assuming 'uiA' has the bit pattern of a 32-bit floating-point NaN, converts
| this NaN to the common NaN form, and stores the resulting common NaN at the
-| location pointed to by `zPtr'. If the NaN is a signaling NaN, the invalid
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
| exception is raised.
*----------------------------------------------------------------------------*/
void softfloat_f32UIToCommonNaN( uint_fast32_t uiA, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into a 32-bit floating-point
+| Converts the common NaN pointed to by 'aPtr' into a 32-bit floating-point
| NaN, and returns the bit pattern of this value as an unsigned integer.
*----------------------------------------------------------------------------*/
uint_fast32_t softfloat_commonNaNToF32UI( const struct commonNaN *aPtr );
/*----------------------------------------------------------------------------
-| Interpreting `uiA' and `uiB' as the bit patterns of two 32-bit floating-
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 32-bit floating-
| point values, at least one of which is a NaN, returns the bit pattern of
-| the combined NaN result. If either `uiA' or `uiB' has the pattern of a
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
| signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
uint_fast32_t
@@ -157,30 +158,30 @@ uint_fast32_t
#define defaultNaNF64UI UINT64_C( 0xFFF8000000000000 )
/*----------------------------------------------------------------------------
-| Returns true when 64-bit unsigned integer `uiA' has the bit pattern of a
+| Returns true when 64-bit unsigned integer 'uiA' has the bit pattern of a
| 64-bit floating-point signaling NaN.
| Note: This macro evaluates its argument more than once.
*----------------------------------------------------------------------------*/
#define softfloat_isSigNaNF64UI( uiA ) ((((uiA) & UINT64_C( 0x7FF8000000000000 )) == UINT64_C( 0x7FF0000000000000 )) && ((uiA) & UINT64_C( 0x0007FFFFFFFFFFFF )))
/*----------------------------------------------------------------------------
-| Assuming `uiA' has the bit pattern of a 64-bit floating-point NaN, converts
+| Assuming 'uiA' has the bit pattern of a 64-bit floating-point NaN, converts
| this NaN to the common NaN form, and stores the resulting common NaN at the
-| location pointed to by `zPtr'. If the NaN is a signaling NaN, the invalid
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
| exception is raised.
*----------------------------------------------------------------------------*/
void softfloat_f64UIToCommonNaN( uint_fast64_t uiA, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into a 64-bit floating-point
+| Converts the common NaN pointed to by 'aPtr' into a 64-bit floating-point
| NaN, and returns the bit pattern of this value as an unsigned integer.
*----------------------------------------------------------------------------*/
uint_fast64_t softfloat_commonNaNToF64UI( const struct commonNaN *aPtr );
/*----------------------------------------------------------------------------
-| Interpreting `uiA' and `uiB' as the bit patterns of two 64-bit floating-
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 64-bit floating-
| point values, at least one of which is a NaN, returns the bit pattern of
-| the combined NaN result. If either `uiA' or `uiB' has the pattern of a
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
| signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
uint_fast64_t
@@ -194,7 +195,7 @@ uint_fast64_t
/*----------------------------------------------------------------------------
| Returns true when the 80-bit unsigned integer formed from concatenating
-| 16-bit `uiA64' and 64-bit `uiA0' has the bit pattern of an 80-bit extended
+| 16-bit 'uiA64' and 64-bit 'uiA0' has the bit pattern of an 80-bit extended
| floating-point signaling NaN.
| Note: This macro evaluates its arguments more than once.
*----------------------------------------------------------------------------*/
@@ -203,15 +204,15 @@ uint_fast64_t
#ifdef SOFTFLOAT_FAST_INT64
/*----------------------------------------------------------------------------
-| The following functions are needed only when `SOFTFLOAT_FAST_INT64' is
+| The following functions are needed only when 'SOFTFLOAT_FAST_INT64' is
| defined.
*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
-| Assuming the unsigned integer formed from concatenating `uiA64' and `uiA0'
+| Assuming the unsigned integer formed from concatenating 'uiA64' and 'uiA0'
| has the bit pattern of an 80-bit extended floating-point NaN, converts
| this NaN to the common NaN form, and stores the resulting common NaN at the
-| location pointed to by `zPtr'. If the NaN is a signaling NaN, the invalid
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
| exception is raised.
*----------------------------------------------------------------------------*/
void
@@ -219,16 +220,16 @@ void
uint_fast16_t uiA64, uint_fast64_t uiA0, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into an 80-bit extended
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
| floating-point NaN, and returns the bit pattern of this value as an unsigned
| integer.
*----------------------------------------------------------------------------*/
struct uint128 softfloat_commonNaNToExtF80UI( const struct commonNaN *aPtr );
/*----------------------------------------------------------------------------
-| Interpreting the unsigned integer formed from concatenating `uiA64' and
-| `uiA0' as an 80-bit extended floating-point value, and likewise interpreting
-| the unsigned integer formed from concatenating `uiB64' and `uiB0' as another
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as an 80-bit extended floating-point value, and likewise interpreting
+| the unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
| 80-bit extended floating-point value, and assuming at least on of these
| floating-point values is a NaN, returns the bit pattern of the combined NaN
| result. If either original floating-point value is a signaling NaN, the
@@ -250,17 +251,17 @@ struct uint128
/*----------------------------------------------------------------------------
| Returns true when the 128-bit unsigned integer formed from concatenating
-| 64-bit `uiA64' and 64-bit `uiA0' has the bit pattern of a 128-bit floating-
+| 64-bit 'uiA64' and 64-bit 'uiA0' has the bit pattern of a 128-bit floating-
| point signaling NaN.
| Note: This macro evaluates its arguments more than once.
*----------------------------------------------------------------------------*/
#define softfloat_isSigNaNF128UI( uiA64, uiA0 ) ((((uiA64) & UINT64_C( 0x7FFF800000000000 )) == UINT64_C( 0x7FFF000000000000 )) && ((uiA0) || ((uiA64) & UINT64_C( 0x00007FFFFFFFFFFF ))))
/*----------------------------------------------------------------------------
-| Assuming the unsigned integer formed from concatenating `uiA64' and `uiA0'
+| Assuming the unsigned integer formed from concatenating 'uiA64' and 'uiA0'
| has the bit pattern of a 128-bit floating-point NaN, converts this NaN to
| the common NaN form, and stores the resulting common NaN at the location
-| pointed to by `zPtr'. If the NaN is a signaling NaN, the invalid exception
+| pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid exception
| is raised.
*----------------------------------------------------------------------------*/
void
@@ -268,15 +269,15 @@ void
uint_fast64_t uiA64, uint_fast64_t uiA0, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into a 128-bit floating-point
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
| NaN, and returns the bit pattern of this value as an unsigned integer.
*----------------------------------------------------------------------------*/
struct uint128 softfloat_commonNaNToF128UI( const struct commonNaN * );
/*----------------------------------------------------------------------------
-| Interpreting the unsigned integer formed from concatenating `uiA64' and
-| `uiA0' as a 128-bit floating-point value, and likewise interpreting the
-| unsigned integer formed from concatenating `uiB64' and `uiB0' as another
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as a 128-bit floating-point value, and likewise interpreting the
+| unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
| 128-bit floating-point value, and assuming at least on of these floating-
| point values is a NaN, returns the bit pattern of the combined NaN result.
| If either original floating-point value is a signaling NaN, the invalid
@@ -293,14 +294,14 @@ struct uint128
#else
/*----------------------------------------------------------------------------
-| The following functions are needed only when `SOFTFLOAT_FAST_INT64' is not
+| The following functions are needed only when 'SOFTFLOAT_FAST_INT64' is not
| defined.
*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
-| Assuming the 80-bit extended floating-point value pointed to by `aSPtr' is
+| Assuming the 80-bit extended floating-point value pointed to by 'aSPtr' is
| a NaN, converts this NaN to the common NaN form, and stores the resulting
-| common NaN at the location pointed to by `zPtr'. If the NaN is a signaling
+| common NaN at the location pointed to by 'zPtr'. If the NaN is a signaling
| NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
void
@@ -308,9 +309,9 @@ void
const struct extFloat80M *aSPtr, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into an 80-bit extended
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
| floating-point NaN, and stores this NaN at the location pointed to by
-| `zSPtr'.
+| 'zSPtr'.
*----------------------------------------------------------------------------*/
void
softfloat_commonNaNToExtF80M(
@@ -318,8 +319,8 @@ void
/*----------------------------------------------------------------------------
| Assuming at least one of the two 80-bit extended floating-point values
-| pointed to by `aSPtr' and `bSPtr' is a NaN, stores the combined NaN result
-| at the location pointed to by `zSPtr'. If either original floating-point
+| pointed to by 'aSPtr' and 'bSPtr' is a NaN, stores the combined NaN result
+| at the location pointed to by 'zSPtr'. If either original floating-point
| value is a signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
void
@@ -338,10 +339,10 @@ void
#define defaultNaNF128UI0 0
/*----------------------------------------------------------------------------
-| Assuming the 128-bit floating-point value pointed to by `aWPtr' is a NaN,
+| Assuming the 128-bit floating-point value pointed to by 'aWPtr' is a NaN,
| converts this NaN to the common NaN form, and stores the resulting common
-| NaN at the location pointed to by `zPtr'. If the NaN is a signaling NaN,
-| the invalid exception is raised. Argument `aWPtr' points to an array of
+| NaN at the location pointed to by 'zPtr'. If the NaN is a signaling NaN,
+| the invalid exception is raised. Argument 'aWPtr' points to an array of
| four 32-bit elements that concatenate in the platform's normal endian order
| to form a 128-bit floating-point value.
*----------------------------------------------------------------------------*/
@@ -349,9 +350,9 @@ void
softfloat_f128MToCommonNaN( const uint32_t *aWPtr, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into a 128-bit floating-point
-| NaN, and stores this NaN at the location pointed to by `zWPtr'. Argument
-| `zWPtr' points to an array of four 32-bit elements that concatenate in the
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
+| NaN, and stores this NaN at the location pointed to by 'zWPtr'. Argument
+| 'zWPtr' points to an array of four 32-bit elements that concatenate in the
| platform's normal endian order to form a 128-bit floating-point value.
*----------------------------------------------------------------------------*/
void
@@ -359,10 +360,10 @@ void
/*----------------------------------------------------------------------------
| Assuming at least one of the two 128-bit floating-point values pointed to by
-| `aWPtr' and `bWPtr' is a NaN, stores the combined NaN result at the location
-| pointed to by `zWPtr'. If either original floating-point value is a
-| signaling NaN, the invalid exception is raised. Each of `aWPtr', `bWPtr',
-| and `zWPtr' points to an array of four 32-bit elements that concatenate in
+| 'aWPtr' and 'bWPtr' is a NaN, stores the combined NaN result at the location
+| pointed to by 'zWPtr'. If either original floating-point value is a
+| signaling NaN, the invalid exception is raised. Each of 'aWPtr', 'bWPtr',
+| and 'zWPtr' points to an array of four 32-bit elements that concatenate in
| the platform's normal endian order to form a 128-bit floating-point value.
*----------------------------------------------------------------------------*/
void
diff --git a/deps/SoftFloat-3d/source/8086/extF80M_isSignalingNaN.c b/deps/SoftFloat-3e/source/8086/extF80M_isSignalingNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/extF80M_isSignalingNaN.c
rename to deps/SoftFloat-3e/source/8086/extF80M_isSignalingNaN.c
index 9abc018542ee14317695f396327ee9a86af3302e..85ee211c28d7bf24a6b170abec6980669750e799 100644
--- a/deps/SoftFloat-3d/source/8086/extF80M_isSignalingNaN.c
+++ b/deps/SoftFloat-3e/source/8086/extF80M_isSignalingNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/f128M_isSignalingNaN.c b/deps/SoftFloat-3e/source/8086/f128M_isSignalingNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/f128M_isSignalingNaN.c
rename to deps/SoftFloat-3e/source/8086/f128M_isSignalingNaN.c
index 7d7a78af7e35ee30cd504a923665cae579f4699b..79a70777167298fec17931215f3bce2e68517d28 100644
--- a/deps/SoftFloat-3d/source/8086/f128M_isSignalingNaN.c
+++ b/deps/SoftFloat-3e/source/8086/f128M_isSignalingNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToExtF80M.c b/deps/SoftFloat-3e/source/8086/s_commonNaNToExtF80M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToExtF80M.c
rename to deps/SoftFloat-3e/source/8086/s_commonNaNToExtF80M.c
index 80991a95acd5c893c95ac8223dfd51825e26a95c..3405b3ba4efb006a1849703ebd8f4f4f7719b05e 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToExtF80M.c
+++ b/deps/SoftFloat-3e/source/8086/s_commonNaNToExtF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToExtF80UI.c b/deps/SoftFloat-3e/source/8086/s_commonNaNToExtF80UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToExtF80UI.c
rename to deps/SoftFloat-3e/source/8086/s_commonNaNToExtF80UI.c
index 29da88ac87ed3645ba94649beffdc9e6c7ecb363..cb7424f430c95ad9fec098a9111ab5baf78d722b 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToExtF80UI.c
+++ b/deps/SoftFloat-3e/source/8086/s_commonNaNToExtF80UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_commonNaNToF128M.c b/deps/SoftFloat-3e/source/8086/s_commonNaNToF128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_commonNaNToF128M.c
rename to deps/SoftFloat-3e/source/8086/s_commonNaNToF128M.c
index 6eb1e3661524bab1994509b7f40afc098bbd332a..e7ea80258916e1a7d1565af8304ebf31f4cffb86 100644
--- a/deps/SoftFloat-3d/source/8086/s_commonNaNToF128M.c
+++ b/deps/SoftFloat-3e/source/8086/s_commonNaNToF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_commonNaNToF128UI.c b/deps/SoftFloat-3e/source/8086/s_commonNaNToF128UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_commonNaNToF128UI.c
rename to deps/SoftFloat-3e/source/8086/s_commonNaNToF128UI.c
index 0036fa5476e09f9f2e4fe08f021640efc734d1cc..7a9423bea2903c0cffbbb08fa6153a83d8acc1db 100644
--- a/deps/SoftFloat-3d/source/8086/s_commonNaNToF128UI.c
+++ b/deps/SoftFloat-3e/source/8086/s_commonNaNToF128UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF16UI.c b/deps/SoftFloat-3e/source/8086/s_commonNaNToF16UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF16UI.c
rename to deps/SoftFloat-3e/source/8086/s_commonNaNToF16UI.c
index b247a5dd48f5a83d118a62120e9443dfd590c3bd..d4e458a9414373ee40630cea77dfe8bc501bff3b 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_commonNaNToF16UI.c
+++ b/deps/SoftFloat-3e/source/8086/s_commonNaNToF16UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_commonNaNToF32UI.c b/deps/SoftFloat-3e/source/8086/s_commonNaNToF32UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_commonNaNToF32UI.c
rename to deps/SoftFloat-3e/source/8086/s_commonNaNToF32UI.c
index ef117c88ffcb0b6cb3c0d24db8e0b1ea132439f8..ed6c2268f31f6228cea297d9b04441fd273c9e0b 100644
--- a/deps/SoftFloat-3d/source/8086/s_commonNaNToF32UI.c
+++ b/deps/SoftFloat-3e/source/8086/s_commonNaNToF32UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_commonNaNToF64UI.c b/deps/SoftFloat-3e/source/8086/s_commonNaNToF64UI.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_commonNaNToF64UI.c
rename to deps/SoftFloat-3e/source/8086/s_commonNaNToF64UI.c
index 2ca37f7a9fa67d06a3c9d2e49c63a3a5b7fd1763..1182be3c9cdff20fa575505b513503bb1098667b 100644
--- a/deps/SoftFloat-3d/source/8086/s_commonNaNToF64UI.c
+++ b/deps/SoftFloat-3e/source/8086/s_commonNaNToF64UI.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_extF80MToCommonNaN.c b/deps/SoftFloat-3e/source/8086/s_extF80MToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_extF80MToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086/s_extF80MToCommonNaN.c
index fa3d637230b73761a1a9f6ef504acef532d8af9c..00baf35f893a827f456de18693b3c0224386cd9e 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_extF80MToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086/s_extF80MToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_extF80UIToCommonNaN.c b/deps/SoftFloat-3e/source/8086/s_extF80UIToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_extF80UIToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086/s_extF80UIToCommonNaN.c
index e3b4e66fdacfac1c8789d18948b5e4544ac05efe..ab6311ef290683825b32f3931a1fb44fac687611 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_extF80UIToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086/s_extF80UIToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_f128MToCommonNaN.c b/deps/SoftFloat-3e/source/8086/s_f128MToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_f128MToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086/s_f128MToCommonNaN.c
index 61498d7d006faaf50702409bf1483c34722478e2..55ec25b58c8db3bbe716e014c7cb47ae5d9dc224 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_f128MToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086/s_f128MToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_f128UIToCommonNaN.c b/deps/SoftFloat-3e/source/8086/s_f128UIToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_f128UIToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086/s_f128UIToCommonNaN.c
index bd066090f474355e7285ad60a7ca4837b445e2ba..f838f02aaf1fe5515747c170980a76c9c835dd15 100644
--- a/deps/SoftFloat-3d/source/8086/s_f128UIToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086/s_f128UIToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_f16UIToCommonNaN.c b/deps/SoftFloat-3e/source/8086/s_f16UIToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_f16UIToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086/s_f16UIToCommonNaN.c
index fe306e5952f892c7f4f8ce4ffc768c76eee8d099..c1e242d23684ee64b01f7bb3850f3aefac84d0d2 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_f16UIToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086/s_f16UIToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_f32UIToCommonNaN.c b/deps/SoftFloat-3e/source/8086/s_f32UIToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_f32UIToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086/s_f32UIToCommonNaN.c
index 050f8d122ac6bc238d00154f9f0e9cd9e758b6e7..b21ba660398dca0269a7b206d7e3f829863fd4db 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_f32UIToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086/s_f32UIToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_f64UIToCommonNaN.c b/deps/SoftFloat-3e/source/8086/s_f64UIToCommonNaN.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/s_f64UIToCommonNaN.c
rename to deps/SoftFloat-3e/source/8086/s_f64UIToCommonNaN.c
index 6b98ed09e747e8be15f8963927464ebeb7b3f534..6529d2ee5fd12be7f80092f13241363b3ef07d27 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_f64UIToCommonNaN.c
+++ b/deps/SoftFloat-3e/source/8086/s_f64UIToCommonNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_propagateNaNExtF80M.c b/deps/SoftFloat-3e/source/8086/s_propagateNaNExtF80M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_propagateNaNExtF80M.c
rename to deps/SoftFloat-3e/source/8086/s_propagateNaNExtF80M.c
index f25d940f95f7d709c2ba2f526fe00060d32bfaa2..ea1d57a7881449d0e676f58339f54372a1136d96 100644
--- a/deps/SoftFloat-3d/source/8086/s_propagateNaNExtF80M.c
+++ b/deps/SoftFloat-3e/source/8086/s_propagateNaNExtF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNExtF80UI.c b/deps/SoftFloat-3e/source/8086/s_propagateNaNExtF80UI.c
similarity index 88%
rename from deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNExtF80UI.c
rename to deps/SoftFloat-3e/source/8086/s_propagateNaNExtF80UI.c
index 2c063e128dfa42f84d5e4a211c56df7c6a489456..cc3f0f42c55db3f7f0b557f083359ad484b116cb 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/s_propagateNaNExtF80UI.c
+++ b/deps/SoftFloat-3e/source/8086/s_propagateNaNExtF80UI.c
@@ -2,10 +2,10 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
-All rights reserved.
+Copyright 2011, 2012, 2013, 2014, 2018 The Regents of the University of
+California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -42,9 +42,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "softfloat.h"
/*----------------------------------------------------------------------------
-| Interpreting the unsigned integer formed from concatenating `uiA64' and
-| `uiA0' as an 80-bit extended floating-point value, and likewise interpreting
-| the unsigned integer formed from concatenating `uiB64' and `uiB0' as another
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as an 80-bit extended floating-point value, and likewise interpreting
+| the unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
| 80-bit extended floating-point value, and assuming at least on of these
| floating-point values is a NaN, returns the bit pattern of the combined NaN
| result. If either original floating-point value is a signaling NaN, the
@@ -90,8 +90,8 @@ struct uint128
uiMagB64 = uiB64 & 0x7FFF;
if ( uiMagA64 < uiMagB64 ) goto returnB;
if ( uiMagB64 < uiMagA64 ) goto returnA;
- if ( uiNonsigA0 < uiNonsigB0 ) goto returnB;
- if ( uiNonsigB0 < uiNonsigA0 ) goto returnA;
+ if ( uiA0 < uiB0 ) goto returnB;
+ if ( uiB0 < uiA0 ) goto returnA;
if ( uiA64 < uiB64 ) goto returnA;
returnB:
uiZ.v64 = uiB64;
diff --git a/deps/SoftFloat-3d/source/8086/s_propagateNaNF128M.c b/deps/SoftFloat-3e/source/8086/s_propagateNaNF128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086/s_propagateNaNF128M.c
rename to deps/SoftFloat-3e/source/8086/s_propagateNaNF128M.c
index 9782a33fe529085fe312a0381dcd1a2ac1635e8e..06554fbfe1ec90ed6b08f74bc7074f3275f92ed8 100644
--- a/deps/SoftFloat-3d/source/8086/s_propagateNaNF128M.c
+++ b/deps/SoftFloat-3e/source/8086/s_propagateNaNF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/s_propagateNaNF128UI.c b/deps/SoftFloat-3e/source/8086/s_propagateNaNF128UI.c
similarity index 87%
rename from deps/SoftFloat-3d/source/8086/s_propagateNaNF128UI.c
rename to deps/SoftFloat-3e/source/8086/s_propagateNaNF128UI.c
index 46ad0b7ae3b994fab8dbb090e7c7b84201c5582c..46b9f5f2c25a58e2fd0eff8956320bfbf578c863 100644
--- a/deps/SoftFloat-3d/source/8086/s_propagateNaNF128UI.c
+++ b/deps/SoftFloat-3e/source/8086/s_propagateNaNF128UI.c
@@ -2,10 +2,10 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
-All rights reserved.
+Copyright 2011, 2012, 2013, 2014, 2018 The Regents of the University of
+California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -42,9 +42,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "softfloat.h"
/*----------------------------------------------------------------------------
-| Interpreting the unsigned integer formed from concatenating `uiA64' and
-| `uiA0' as a 128-bit floating-point value, and likewise interpreting the
-| unsigned integer formed from concatenating `uiB64' and `uiB0' as another
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as a 128-bit floating-point value, and likewise interpreting the
+| unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
| 128-bit floating-point value, and assuming at least on of these floating-
| point values is a NaN, returns the bit pattern of the combined NaN result.
| If either original floating-point value is a signaling NaN, the invalid
@@ -85,8 +85,8 @@ struct uint128
}
}
returnLargerMag:
- uiMagA64 = uiNonsigA64 & UINT64_C( 0x7FFFFFFFFFFFFFFF );
- uiMagB64 = uiNonsigB64 & UINT64_C( 0x7FFFFFFFFFFFFFFF );
+ uiMagA64 = uiA64 & UINT64_C( 0x7FFFFFFFFFFFFFFF );
+ uiMagB64 = uiB64 & UINT64_C( 0x7FFFFFFFFFFFFFFF );
if ( uiMagA64 < uiMagB64 ) goto returnB;
if ( uiMagB64 < uiMagA64 ) goto returnA;
if ( uiA0 < uiB0 ) goto returnB;
diff --git a/deps/SoftFloat-3d/source/8086/s_propagateNaNF16UI.c b/deps/SoftFloat-3e/source/8086/s_propagateNaNF16UI.c
similarity index 88%
rename from deps/SoftFloat-3d/source/8086/s_propagateNaNF16UI.c
rename to deps/SoftFloat-3e/source/8086/s_propagateNaNF16UI.c
index 31f1c209e02fa870ce6614bbf5d55f354dcfdce3..89cc0fe97ea23107e09db3c01937482a67980eab 100644
--- a/deps/SoftFloat-3d/source/8086/s_propagateNaNF16UI.c
+++ b/deps/SoftFloat-3e/source/8086/s_propagateNaNF16UI.c
@@ -2,10 +2,10 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
-Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
-California. All rights reserved.
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2018 The Regents of the
+University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -42,9 +42,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "softfloat.h"
/*----------------------------------------------------------------------------
-| Interpreting `uiA' and `uiB' as the bit patterns of two 16-bit floating-
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 16-bit floating-
| point values, at least one of which is a NaN, returns the bit pattern of
-| the combined NaN result. If either `uiA' or `uiB' has the pattern of a
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
| signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
uint_fast16_t
@@ -74,8 +74,8 @@ uint_fast16_t
}
}
returnLargerMag:
- uiMagA = uiNonsigA & 0x7FFF;
- uiMagB = uiNonsigB & 0x7FFF;
+ uiMagA = uiA & 0x7FFF;
+ uiMagB = uiB & 0x7FFF;
if ( uiMagA < uiMagB ) return uiNonsigB;
if ( uiMagB < uiMagA ) return uiNonsigA;
return (uiNonsigA < uiNonsigB) ? uiNonsigA : uiNonsigB;
diff --git a/deps/SoftFloat-3d/source/8086/s_propagateNaNF32UI.c b/deps/SoftFloat-3e/source/8086/s_propagateNaNF32UI.c
similarity index 89%
rename from deps/SoftFloat-3d/source/8086/s_propagateNaNF32UI.c
rename to deps/SoftFloat-3e/source/8086/s_propagateNaNF32UI.c
index 615b54610b4ae6da1fdc3a68dfdf224b4f6060e0..aeb6024acf963dcad8b37182c0a21c0f368024e3 100644
--- a/deps/SoftFloat-3d/source/8086/s_propagateNaNF32UI.c
+++ b/deps/SoftFloat-3e/source/8086/s_propagateNaNF32UI.c
@@ -2,10 +2,10 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
-All rights reserved.
+Copyright 2011, 2012, 2013, 2014, 2018 The Regents of the University of
+California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -42,9 +42,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "softfloat.h"
/*----------------------------------------------------------------------------
-| Interpreting `uiA' and `uiB' as the bit patterns of two 32-bit floating-
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 32-bit floating-
| point values, at least one of which is a NaN, returns the bit pattern of
-| the combined NaN result. If either `uiA' or `uiB' has the pattern of a
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
| signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
uint_fast32_t
@@ -74,8 +74,8 @@ uint_fast32_t
}
}
returnLargerMag:
- uiMagA = uiNonsigA & 0x7FFFFFFF;
- uiMagB = uiNonsigB & 0x7FFFFFFF;
+ uiMagA = uiA & 0x7FFFFFFF;
+ uiMagB = uiB & 0x7FFFFFFF;
if ( uiMagA < uiMagB ) return uiNonsigB;
if ( uiMagB < uiMagA ) return uiNonsigA;
return (uiNonsigA < uiNonsigB) ? uiNonsigA : uiNonsigB;
diff --git a/deps/SoftFloat-3d/source/8086/s_propagateNaNF64UI.c b/deps/SoftFloat-3e/source/8086/s_propagateNaNF64UI.c
similarity index 88%
rename from deps/SoftFloat-3d/source/8086/s_propagateNaNF64UI.c
rename to deps/SoftFloat-3e/source/8086/s_propagateNaNF64UI.c
index e6b473dd68f6e77ab908c120ceb00b5f563ec11d..dabad402482aa99540117638e038415b31c2ed0b 100644
--- a/deps/SoftFloat-3d/source/8086/s_propagateNaNF64UI.c
+++ b/deps/SoftFloat-3e/source/8086/s_propagateNaNF64UI.c
@@ -2,10 +2,10 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
-Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
-All rights reserved.
+Copyright 2011, 2012, 2013, 2014, 2018 The Regents of the University of
+California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -42,9 +42,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "softfloat.h"
/*----------------------------------------------------------------------------
-| Interpreting `uiA' and `uiB' as the bit patterns of two 64-bit floating-
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 64-bit floating-
| point values, at least one of which is a NaN, returns the bit pattern of
-| the combined NaN result. If either `uiA' or `uiB' has the pattern of a
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
| signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
uint_fast64_t
@@ -74,8 +74,8 @@ uint_fast64_t
}
}
returnLargerMag:
- uiMagA = uiNonsigA & UINT64_C( 0x7FFFFFFFFFFFFFFF );
- uiMagB = uiNonsigB & UINT64_C( 0x7FFFFFFFFFFFFFFF );
+ uiMagA = uiA & UINT64_C( 0x7FFFFFFFFFFFFFFF );
+ uiMagB = uiB & UINT64_C( 0x7FFFFFFFFFFFFFFF );
if ( uiMagA < uiMagB ) return uiNonsigB;
if ( uiMagB < uiMagA ) return uiNonsigA;
return (uiNonsigA < uiNonsigB) ? uiNonsigA : uiNonsigB;
diff --git a/deps/SoftFloat-3d/source/8086-SSE/softfloat_raiseFlags.c b/deps/SoftFloat-3e/source/8086/softfloat_raiseFlags.c
similarity index 96%
rename from deps/SoftFloat-3d/source/8086-SSE/softfloat_raiseFlags.c
rename to deps/SoftFloat-3e/source/8086/softfloat_raiseFlags.c
index 5da372882d385ef32deee920bb10eda8526e4783..3115306beedd2b72557eba826f1afeccdcf02503 100644
--- a/deps/SoftFloat-3d/source/8086-SSE/softfloat_raiseFlags.c
+++ b/deps/SoftFloat-3e/source/8086/softfloat_raiseFlags.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/8086/specialize.h b/deps/SoftFloat-3e/source/8086/specialize.h
similarity index 79%
rename from deps/SoftFloat-3d/source/8086/specialize.h
rename to deps/SoftFloat-3e/source/8086/specialize.h
index e403193dc7c298c175a20201155d40f5b08b8def..5fe119a1e1f1311c504d05078224eb452551f2de 100644
--- a/deps/SoftFloat-3d/source/8086/specialize.h
+++ b/deps/SoftFloat-3e/source/8086/specialize.h
@@ -2,10 +2,10 @@
/*============================================================================
This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
-Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
-California. All rights reserved.
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2018 The Regents of the
+University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -39,10 +39,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include
#include
-#include "softfloat_types.h"
+#include "primitiveTypes.h"
+#include "softfloat.h"
/*----------------------------------------------------------------------------
-| Default value for `softfloat_detectTininess'.
+| Default value for 'softfloat_detectTininess'.
*----------------------------------------------------------------------------*/
#define init_detectTininess softfloat_tininess_afterRounding
@@ -51,22 +52,22 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| invalid exception.
*----------------------------------------------------------------------------*/
#define ui32_fromPosOverflow 0xFFFFFFFF
-#define ui32_fromNegOverflow 0
+#define ui32_fromNegOverflow 0xFFFFFFFF
#define ui32_fromNaN 0xFFFFFFFF
-#define i32_fromPosOverflow 0x7FFFFFFF
+#define i32_fromPosOverflow (-0x7FFFFFFF - 1)
#define i32_fromNegOverflow (-0x7FFFFFFF - 1)
-#define i32_fromNaN 0x7FFFFFFF
+#define i32_fromNaN (-0x7FFFFFFF - 1)
/*----------------------------------------------------------------------------
| The values to return on conversions to 64-bit integer formats that raise an
| invalid exception.
*----------------------------------------------------------------------------*/
#define ui64_fromPosOverflow UINT64_C( 0xFFFFFFFFFFFFFFFF )
-#define ui64_fromNegOverflow 0
+#define ui64_fromNegOverflow UINT64_C( 0xFFFFFFFFFFFFFFFF )
#define ui64_fromNaN UINT64_C( 0xFFFFFFFFFFFFFFFF )
-#define i64_fromPosOverflow UINT64_C( 0x7FFFFFFFFFFFFFFF )
-#define i64_fromNegOverflow (-UINT64_C( 0x7FFFFFFFFFFFFFFF ) - 1)
-#define i64_fromNaN UINT64_C( 0x7FFFFFFFFFFFFFFF )
+#define i64_fromPosOverflow (-INT64_C( 0x7FFFFFFFFFFFFFFF ) - 1)
+#define i64_fromNegOverflow (-INT64_C( 0x7FFFFFFFFFFFFFFF ) - 1)
+#define i64_fromNaN (-INT64_C( 0x7FFFFFFFFFFFFFFF ) - 1)
/*----------------------------------------------------------------------------
| "Common NaN" structure, used to transfer NaN representations from one format
@@ -87,30 +88,30 @@ struct commonNaN {
#define defaultNaNF16UI 0xFE00
/*----------------------------------------------------------------------------
-| Returns true when 16-bit unsigned integer `uiA' has the bit pattern of a
+| Returns true when 16-bit unsigned integer 'uiA' has the bit pattern of a
| 16-bit floating-point signaling NaN.
| Note: This macro evaluates its argument more than once.
*----------------------------------------------------------------------------*/
#define softfloat_isSigNaNF16UI( uiA ) ((((uiA) & 0x7E00) == 0x7C00) && ((uiA) & 0x01FF))
/*----------------------------------------------------------------------------
-| Assuming `uiA' has the bit pattern of a 16-bit floating-point NaN, converts
+| Assuming 'uiA' has the bit pattern of a 16-bit floating-point NaN, converts
| this NaN to the common NaN form, and stores the resulting common NaN at the
-| location pointed to by `zPtr'. If the NaN is a signaling NaN, the invalid
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
| exception is raised.
*----------------------------------------------------------------------------*/
void softfloat_f16UIToCommonNaN( uint_fast16_t uiA, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into a 16-bit floating-point
+| Converts the common NaN pointed to by 'aPtr' into a 16-bit floating-point
| NaN, and returns the bit pattern of this value as an unsigned integer.
*----------------------------------------------------------------------------*/
uint_fast16_t softfloat_commonNaNToF16UI( const struct commonNaN *aPtr );
/*----------------------------------------------------------------------------
-| Interpreting `uiA' and `uiB' as the bit patterns of two 16-bit floating-
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 16-bit floating-
| point values, at least one of which is a NaN, returns the bit pattern of
-| the combined NaN result. If either `uiA' or `uiB' has the pattern of a
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
| signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
uint_fast16_t
@@ -122,30 +123,30 @@ uint_fast16_t
#define defaultNaNF32UI 0xFFC00000
/*----------------------------------------------------------------------------
-| Returns true when 32-bit unsigned integer `uiA' has the bit pattern of a
+| Returns true when 32-bit unsigned integer 'uiA' has the bit pattern of a
| 32-bit floating-point signaling NaN.
| Note: This macro evaluates its argument more than once.
*----------------------------------------------------------------------------*/
#define softfloat_isSigNaNF32UI( uiA ) ((((uiA) & 0x7FC00000) == 0x7F800000) && ((uiA) & 0x003FFFFF))
/*----------------------------------------------------------------------------
-| Assuming `uiA' has the bit pattern of a 32-bit floating-point NaN, converts
+| Assuming 'uiA' has the bit pattern of a 32-bit floating-point NaN, converts
| this NaN to the common NaN form, and stores the resulting common NaN at the
-| location pointed to by `zPtr'. If the NaN is a signaling NaN, the invalid
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
| exception is raised.
*----------------------------------------------------------------------------*/
void softfloat_f32UIToCommonNaN( uint_fast32_t uiA, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into a 32-bit floating-point
+| Converts the common NaN pointed to by 'aPtr' into a 32-bit floating-point
| NaN, and returns the bit pattern of this value as an unsigned integer.
*----------------------------------------------------------------------------*/
uint_fast32_t softfloat_commonNaNToF32UI( const struct commonNaN *aPtr );
/*----------------------------------------------------------------------------
-| Interpreting `uiA' and `uiB' as the bit patterns of two 32-bit floating-
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 32-bit floating-
| point values, at least one of which is a NaN, returns the bit pattern of
-| the combined NaN result. If either `uiA' or `uiB' has the pattern of a
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
| signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
uint_fast32_t
@@ -157,30 +158,30 @@ uint_fast32_t
#define defaultNaNF64UI UINT64_C( 0xFFF8000000000000 )
/*----------------------------------------------------------------------------
-| Returns true when 64-bit unsigned integer `uiA' has the bit pattern of a
+| Returns true when 64-bit unsigned integer 'uiA' has the bit pattern of a
| 64-bit floating-point signaling NaN.
| Note: This macro evaluates its argument more than once.
*----------------------------------------------------------------------------*/
#define softfloat_isSigNaNF64UI( uiA ) ((((uiA) & UINT64_C( 0x7FF8000000000000 )) == UINT64_C( 0x7FF0000000000000 )) && ((uiA) & UINT64_C( 0x0007FFFFFFFFFFFF )))
/*----------------------------------------------------------------------------
-| Assuming `uiA' has the bit pattern of a 64-bit floating-point NaN, converts
+| Assuming 'uiA' has the bit pattern of a 64-bit floating-point NaN, converts
| this NaN to the common NaN form, and stores the resulting common NaN at the
-| location pointed to by `zPtr'. If the NaN is a signaling NaN, the invalid
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
| exception is raised.
*----------------------------------------------------------------------------*/
void softfloat_f64UIToCommonNaN( uint_fast64_t uiA, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into a 64-bit floating-point
+| Converts the common NaN pointed to by 'aPtr' into a 64-bit floating-point
| NaN, and returns the bit pattern of this value as an unsigned integer.
*----------------------------------------------------------------------------*/
uint_fast64_t softfloat_commonNaNToF64UI( const struct commonNaN *aPtr );
/*----------------------------------------------------------------------------
-| Interpreting `uiA' and `uiB' as the bit patterns of two 64-bit floating-
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 64-bit floating-
| point values, at least one of which is a NaN, returns the bit pattern of
-| the combined NaN result. If either `uiA' or `uiB' has the pattern of a
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
| signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
uint_fast64_t
@@ -194,7 +195,7 @@ uint_fast64_t
/*----------------------------------------------------------------------------
| Returns true when the 80-bit unsigned integer formed from concatenating
-| 16-bit `uiA64' and 64-bit `uiA0' has the bit pattern of an 80-bit extended
+| 16-bit 'uiA64' and 64-bit 'uiA0' has the bit pattern of an 80-bit extended
| floating-point signaling NaN.
| Note: This macro evaluates its arguments more than once.
*----------------------------------------------------------------------------*/
@@ -203,15 +204,15 @@ uint_fast64_t
#ifdef SOFTFLOAT_FAST_INT64
/*----------------------------------------------------------------------------
-| The following functions are needed only when `SOFTFLOAT_FAST_INT64' is
+| The following functions are needed only when 'SOFTFLOAT_FAST_INT64' is
| defined.
*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
-| Assuming the unsigned integer formed from concatenating `uiA64' and `uiA0'
+| Assuming the unsigned integer formed from concatenating 'uiA64' and 'uiA0'
| has the bit pattern of an 80-bit extended floating-point NaN, converts
| this NaN to the common NaN form, and stores the resulting common NaN at the
-| location pointed to by `zPtr'. If the NaN is a signaling NaN, the invalid
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
| exception is raised.
*----------------------------------------------------------------------------*/
void
@@ -219,16 +220,16 @@ void
uint_fast16_t uiA64, uint_fast64_t uiA0, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into an 80-bit extended
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
| floating-point NaN, and returns the bit pattern of this value as an unsigned
| integer.
*----------------------------------------------------------------------------*/
struct uint128 softfloat_commonNaNToExtF80UI( const struct commonNaN *aPtr );
/*----------------------------------------------------------------------------
-| Interpreting the unsigned integer formed from concatenating `uiA64' and
-| `uiA0' as an 80-bit extended floating-point value, and likewise interpreting
-| the unsigned integer formed from concatenating `uiB64' and `uiB0' as another
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as an 80-bit extended floating-point value, and likewise interpreting
+| the unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
| 80-bit extended floating-point value, and assuming at least on of these
| floating-point values is a NaN, returns the bit pattern of the combined NaN
| result. If either original floating-point value is a signaling NaN, the
@@ -250,17 +251,17 @@ struct uint128
/*----------------------------------------------------------------------------
| Returns true when the 128-bit unsigned integer formed from concatenating
-| 64-bit `uiA64' and 64-bit `uiA0' has the bit pattern of a 128-bit floating-
+| 64-bit 'uiA64' and 64-bit 'uiA0' has the bit pattern of a 128-bit floating-
| point signaling NaN.
| Note: This macro evaluates its arguments more than once.
*----------------------------------------------------------------------------*/
#define softfloat_isSigNaNF128UI( uiA64, uiA0 ) ((((uiA64) & UINT64_C( 0x7FFF800000000000 )) == UINT64_C( 0x7FFF000000000000 )) && ((uiA0) || ((uiA64) & UINT64_C( 0x00007FFFFFFFFFFF ))))
/*----------------------------------------------------------------------------
-| Assuming the unsigned integer formed from concatenating `uiA64' and `uiA0'
+| Assuming the unsigned integer formed from concatenating 'uiA64' and 'uiA0'
| has the bit pattern of a 128-bit floating-point NaN, converts this NaN to
| the common NaN form, and stores the resulting common NaN at the location
-| pointed to by `zPtr'. If the NaN is a signaling NaN, the invalid exception
+| pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid exception
| is raised.
*----------------------------------------------------------------------------*/
void
@@ -268,15 +269,15 @@ void
uint_fast64_t uiA64, uint_fast64_t uiA0, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into a 128-bit floating-point
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
| NaN, and returns the bit pattern of this value as an unsigned integer.
*----------------------------------------------------------------------------*/
struct uint128 softfloat_commonNaNToF128UI( const struct commonNaN * );
/*----------------------------------------------------------------------------
-| Interpreting the unsigned integer formed from concatenating `uiA64' and
-| `uiA0' as a 128-bit floating-point value, and likewise interpreting the
-| unsigned integer formed from concatenating `uiB64' and `uiB0' as another
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as a 128-bit floating-point value, and likewise interpreting the
+| unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
| 128-bit floating-point value, and assuming at least on of these floating-
| point values is a NaN, returns the bit pattern of the combined NaN result.
| If either original floating-point value is a signaling NaN, the invalid
@@ -293,14 +294,14 @@ struct uint128
#else
/*----------------------------------------------------------------------------
-| The following functions are needed only when `SOFTFLOAT_FAST_INT64' is not
+| The following functions are needed only when 'SOFTFLOAT_FAST_INT64' is not
| defined.
*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
-| Assuming the 80-bit extended floating-point value pointed to by `aSPtr' is
+| Assuming the 80-bit extended floating-point value pointed to by 'aSPtr' is
| a NaN, converts this NaN to the common NaN form, and stores the resulting
-| common NaN at the location pointed to by `zPtr'. If the NaN is a signaling
+| common NaN at the location pointed to by 'zPtr'. If the NaN is a signaling
| NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
void
@@ -308,9 +309,9 @@ void
const struct extFloat80M *aSPtr, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into an 80-bit extended
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
| floating-point NaN, and stores this NaN at the location pointed to by
-| `zSPtr'.
+| 'zSPtr'.
*----------------------------------------------------------------------------*/
void
softfloat_commonNaNToExtF80M(
@@ -318,8 +319,8 @@ void
/*----------------------------------------------------------------------------
| Assuming at least one of the two 80-bit extended floating-point values
-| pointed to by `aSPtr' and `bSPtr' is a NaN, stores the combined NaN result
-| at the location pointed to by `zSPtr'. If either original floating-point
+| pointed to by 'aSPtr' and 'bSPtr' is a NaN, stores the combined NaN result
+| at the location pointed to by 'zSPtr'. If either original floating-point
| value is a signaling NaN, the invalid exception is raised.
*----------------------------------------------------------------------------*/
void
@@ -338,10 +339,10 @@ void
#define defaultNaNF128UI0 0
/*----------------------------------------------------------------------------
-| Assuming the 128-bit floating-point value pointed to by `aWPtr' is a NaN,
+| Assuming the 128-bit floating-point value pointed to by 'aWPtr' is a NaN,
| converts this NaN to the common NaN form, and stores the resulting common
-| NaN at the location pointed to by `zPtr'. If the NaN is a signaling NaN,
-| the invalid exception is raised. Argument `aWPtr' points to an array of
+| NaN at the location pointed to by 'zPtr'. If the NaN is a signaling NaN,
+| the invalid exception is raised. Argument 'aWPtr' points to an array of
| four 32-bit elements that concatenate in the platform's normal endian order
| to form a 128-bit floating-point value.
*----------------------------------------------------------------------------*/
@@ -349,9 +350,9 @@ void
softfloat_f128MToCommonNaN( const uint32_t *aWPtr, struct commonNaN *zPtr );
/*----------------------------------------------------------------------------
-| Converts the common NaN pointed to by `aPtr' into a 128-bit floating-point
-| NaN, and stores this NaN at the location pointed to by `zWPtr'. Argument
-| `zWPtr' points to an array of four 32-bit elements that concatenate in the
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
+| NaN, and stores this NaN at the location pointed to by 'zWPtr'. Argument
+| 'zWPtr' points to an array of four 32-bit elements that concatenate in the
| platform's normal endian order to form a 128-bit floating-point value.
*----------------------------------------------------------------------------*/
void
@@ -359,10 +360,10 @@ void
/*----------------------------------------------------------------------------
| Assuming at least one of the two 128-bit floating-point values pointed to by
-| `aWPtr' and `bWPtr' is a NaN, stores the combined NaN result at the location
-| pointed to by `zWPtr'. If either original floating-point value is a
-| signaling NaN, the invalid exception is raised. Each of `aWPtr', `bWPtr',
-| and `zWPtr' points to an array of four 32-bit elements that concatenate in
+| 'aWPtr' and 'bWPtr' is a NaN, stores the combined NaN result at the location
+| pointed to by 'zWPtr'. If either original floating-point value is a
+| signaling NaN, the invalid exception is raised. Each of 'aWPtr', 'bWPtr',
+| and 'zWPtr' points to an array of four 32-bit elements that concatenate in
| the platform's normal endian order to form a 128-bit floating-point value.
*----------------------------------------------------------------------------*/
void
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/extF80M_isSignalingNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/extF80M_isSignalingNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..85ee211c28d7bf24a6b170abec6980669750e799
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/extF80M_isSignalingNaN.c
@@ -0,0 +1,57 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include
+#include "platform.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+*----------------------------------------------------------------------------*/
+bool extF80M_isSignalingNaN( const extFloat80_t *aPtr )
+{
+ const struct extFloat80M *aSPtr;
+ uint64_t uiA0;
+
+ aSPtr = (const struct extFloat80M *) aPtr;
+ if ( (aSPtr->signExp & 0x7FFF) != 0x7FFF ) return false;
+ uiA0 = aSPtr->signif;
+ return
+ ! (uiA0 & UINT64_C( 0x4000000000000000 ))
+ && (uiA0 & UINT64_C( 0x3FFFFFFFFFFFFFFF));
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/f128M_isSignalingNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/f128M_isSignalingNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..79a70777167298fec17931215f3bce2e68517d28
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/f128M_isSignalingNaN.c
@@ -0,0 +1,60 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include
+#include "platform.h"
+#include "primitives.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+*----------------------------------------------------------------------------*/
+bool f128M_isSignalingNaN( const float128_t *aPtr )
+{
+ const uint32_t *aWPtr;
+ uint32_t uiA96;
+
+ aWPtr = (const uint32_t *) aPtr;
+ uiA96 = aWPtr[indexWordHi( 4 )];
+ if ( (uiA96 & 0x7FFF8000) != 0x7FFF0000 ) return false;
+ return
+ ((uiA96 & 0x00007FFF) != 0)
+ || ((aWPtr[indexWord( 4, 2 )] | aWPtr[indexWord( 4, 1 )]
+ | aWPtr[indexWord( 4, 0 )])
+ != 0);
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToExtF80M.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToExtF80M.c
new file mode 100644
index 0000000000000000000000000000000000000000..54a50dc3575b9a45572c79fc673cf9ef882b4203
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToExtF80M.c
@@ -0,0 +1,57 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include "platform.h"
+#include "softfloat_types.h"
+
+#define softfloat_commonNaNToExtF80M softfloat_commonNaNToExtF80M
+#include "specialize.h"
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
+| floating-point NaN, and stores this NaN at the location pointed to by
+| 'zSPtr'.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_commonNaNToExtF80M(
+ const struct commonNaN *aPtr, struct extFloat80M *zSPtr )
+{
+
+ zSPtr->signExp = defaultNaNExtF80UI64;
+ zSPtr->signif = defaultNaNExtF80UI0;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToExtF80UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToExtF80UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..5b698f6645ad31890638b5e1fc68390caf09e450
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToExtF80UI.c
@@ -0,0 +1,57 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include "platform.h"
+#include "primitiveTypes.h"
+
+#define softfloat_commonNaNToExtF80UI softfloat_commonNaNToExtF80UI
+#include "specialize.h"
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
+| floating-point NaN, and returns the bit pattern of this value as an unsigned
+| integer.
+*----------------------------------------------------------------------------*/
+struct uint128 softfloat_commonNaNToExtF80UI( const struct commonNaN *aPtr )
+{
+ struct uint128 uiZ;
+
+ uiZ.v64 = defaultNaNExtF80UI64;
+ uiZ.v0 = defaultNaNExtF80UI0;
+ return uiZ;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF128M.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF128M.c
new file mode 100644
index 0000000000000000000000000000000000000000..b22baa816be08d3411fc1df63b5463e98330483e
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF128M.c
@@ -0,0 +1,60 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "primitiveTypes.h"
+
+#define softfloat_commonNaNToF128M softfloat_commonNaNToF128M
+#include "specialize.h"
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
+| NaN, and stores this NaN at the location pointed to by 'zWPtr'. Argument
+| 'zWPtr' points to an array of four 32-bit elements that concatenate in the
+| platform's normal endian order to form a 128-bit floating-point value.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_commonNaNToF128M( const struct commonNaN *aPtr, uint32_t *zWPtr )
+{
+
+ zWPtr[indexWord( 4, 3 )] = defaultNaNF128UI96;
+ zWPtr[indexWord( 4, 2 )] = defaultNaNF128UI64;
+ zWPtr[indexWord( 4, 1 )] = defaultNaNF128UI32;
+ zWPtr[indexWord( 4, 0 )] = defaultNaNF128UI0;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF128UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF128UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..70f0cf1c6cfca793b264b8576f929644843e9f5e
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF128UI.c
@@ -0,0 +1,56 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include "platform.h"
+#include "primitiveTypes.h"
+
+#define softfloat_commonNaNToF128UI softfloat_commonNaNToF128UI
+#include "specialize.h"
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+struct uint128 softfloat_commonNaNToF128UI( const struct commonNaN *aPtr )
+{
+ struct uint128 uiZ;
+
+ uiZ.v64 = defaultNaNF128UI64;
+ uiZ.v0 = defaultNaNF128UI0;
+ return uiZ;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF16UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF16UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d5c82e9da3693c4aea7f7f51c5061dcd18903
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF16UI.c
@@ -0,0 +1,5 @@
+
+/*----------------------------------------------------------------------------
+| This file intentionally contains no code.
+*----------------------------------------------------------------------------*/
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF32UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF32UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d5c82e9da3693c4aea7f7f51c5061dcd18903
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF32UI.c
@@ -0,0 +1,5 @@
+
+/*----------------------------------------------------------------------------
+| This file intentionally contains no code.
+*----------------------------------------------------------------------------*/
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF64UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF64UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d5c82e9da3693c4aea7f7f51c5061dcd18903
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_commonNaNToF64UI.c
@@ -0,0 +1,5 @@
+
+/*----------------------------------------------------------------------------
+| This file intentionally contains no code.
+*----------------------------------------------------------------------------*/
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_extF80MToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_extF80MToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d5c82e9da3693c4aea7f7f51c5061dcd18903
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_extF80MToCommonNaN.c
@@ -0,0 +1,5 @@
+
+/*----------------------------------------------------------------------------
+| This file intentionally contains no code.
+*----------------------------------------------------------------------------*/
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_extF80UIToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_extF80UIToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d5c82e9da3693c4aea7f7f51c5061dcd18903
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_extF80UIToCommonNaN.c
@@ -0,0 +1,5 @@
+
+/*----------------------------------------------------------------------------
+| This file intentionally contains no code.
+*----------------------------------------------------------------------------*/
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f128MToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f128MToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d5c82e9da3693c4aea7f7f51c5061dcd18903
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f128MToCommonNaN.c
@@ -0,0 +1,5 @@
+
+/*----------------------------------------------------------------------------
+| This file intentionally contains no code.
+*----------------------------------------------------------------------------*/
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f128UIToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f128UIToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d5c82e9da3693c4aea7f7f51c5061dcd18903
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f128UIToCommonNaN.c
@@ -0,0 +1,5 @@
+
+/*----------------------------------------------------------------------------
+| This file intentionally contains no code.
+*----------------------------------------------------------------------------*/
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f16UIToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f16UIToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d5c82e9da3693c4aea7f7f51c5061dcd18903
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f16UIToCommonNaN.c
@@ -0,0 +1,5 @@
+
+/*----------------------------------------------------------------------------
+| This file intentionally contains no code.
+*----------------------------------------------------------------------------*/
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f32UIToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f32UIToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d5c82e9da3693c4aea7f7f51c5061dcd18903
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f32UIToCommonNaN.c
@@ -0,0 +1,5 @@
+
+/*----------------------------------------------------------------------------
+| This file intentionally contains no code.
+*----------------------------------------------------------------------------*/
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f64UIToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f64UIToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..7c7d5c82e9da3693c4aea7f7f51c5061dcd18903
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_f64UIToCommonNaN.c
@@ -0,0 +1,5 @@
+
+/*----------------------------------------------------------------------------
+| This file intentionally contains no code.
+*----------------------------------------------------------------------------*/
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNExtF80M.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNExtF80M.c
new file mode 100644
index 0000000000000000000000000000000000000000..1c6510c7e3c50b96f3dddc7b91ed4e00d62be032
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNExtF80M.c
@@ -0,0 +1,74 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "primitiveTypes.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Assuming at least one of the two 80-bit extended floating-point values
+| pointed to by 'aSPtr' and 'bSPtr' is a NaN, stores the combined NaN result
+| at the location pointed to by 'zSPtr'. If either original floating-point
+| value is a signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_propagateNaNExtF80M(
+ const struct extFloat80M *aSPtr,
+ const struct extFloat80M *bSPtr,
+ struct extFloat80M *zSPtr
+ )
+{
+ uint_fast16_t ui64;
+ uint_fast64_t ui0;
+
+ ui64 = aSPtr->signExp;
+ ui0 = aSPtr->signif;
+ if (
+ softfloat_isSigNaNExtF80UI( ui64, ui0 )
+ || (bSPtr
+ && (ui64 = bSPtr->signExp,
+ ui0 = bSPtr->signif,
+ softfloat_isSigNaNExtF80UI( ui64, ui0 )))
+ ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ zSPtr->signExp = defaultNaNExtF80UI64;
+ zSPtr->signif = defaultNaNExtF80UI0;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNExtF80UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNExtF80UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..e1bb1555aa73164b97cdb4f313f3715150db9254
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNExtF80UI.c
@@ -0,0 +1,73 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "primitiveTypes.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as an 80-bit extended floating-point value, and likewise interpreting
+| the unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
+| 80-bit extended floating-point value, and assuming at least on of these
+| floating-point values is a NaN, returns the bit pattern of the combined NaN
+| result. If either original floating-point value is a signaling NaN, the
+| invalid exception is raised.
+*----------------------------------------------------------------------------*/
+struct uint128
+ softfloat_propagateNaNExtF80UI(
+ uint_fast16_t uiA64,
+ uint_fast64_t uiA0,
+ uint_fast16_t uiB64,
+ uint_fast64_t uiB0
+ )
+{
+ struct uint128 uiZ;
+
+ if (
+ softfloat_isSigNaNExtF80UI( uiA64, uiA0 )
+ || softfloat_isSigNaNExtF80UI( uiB64, uiB0 )
+ ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ uiZ.v64 = defaultNaNExtF80UI64;
+ uiZ.v0 = defaultNaNExtF80UI0;
+ return uiZ;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF128M.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF128M.c
new file mode 100644
index 0000000000000000000000000000000000000000..9bddee955d568ba879f26b7f739f22a0a1b63665
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF128M.c
@@ -0,0 +1,68 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "primitiveTypes.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Assuming at least one of the two 128-bit floating-point values pointed to by
+| 'aWPtr' and 'bWPtr' is a NaN, stores the combined NaN result at the location
+| pointed to by 'zWPtr'. If either original floating-point value is a
+| signaling NaN, the invalid exception is raised. Each of 'aWPtr', 'bWPtr',
+| and 'zWPtr' points to an array of four 32-bit elements that concatenate in
+| the platform's normal endian order to form a 128-bit floating-point value.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_propagateNaNF128M(
+ const uint32_t *aWPtr, const uint32_t *bWPtr, uint32_t *zWPtr )
+{
+
+ if (
+ f128M_isSignalingNaN( (const float128_t *) aWPtr );
+ || (bWPtr && f128M_isSignalingNaN( (const float128_t *) bWPtr ))
+ ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ zWPtr[indexWord( 4, 3 )] = defaultNaNF128UI96;
+ zWPtr[indexWord( 4, 2 )] = defaultNaNF128UI64;
+ zWPtr[indexWord( 4, 1 )] = defaultNaNF128UI32;
+ zWPtr[indexWord( 4, 0 )] = defaultNaNF128UI0;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF128UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF128UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..57fddd158adc780ad444929d300b30c9e4520142
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF128UI.c
@@ -0,0 +1,73 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "primitiveTypes.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as a 128-bit floating-point value, and likewise interpreting the
+| unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
+| 128-bit floating-point value, and assuming at least on of these floating-
+| point values is a NaN, returns the bit pattern of the combined NaN result.
+| If either original floating-point value is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+struct uint128
+ softfloat_propagateNaNF128UI(
+ uint_fast64_t uiA64,
+ uint_fast64_t uiA0,
+ uint_fast64_t uiB64,
+ uint_fast64_t uiB0
+ )
+{
+ struct uint128 uiZ;
+
+ if (
+ softfloat_isSigNaNF128UI( uiA64, uiA0 )
+ || softfloat_isSigNaNF128UI( uiB64, uiB0 )
+ ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ uiZ.v64 = defaultNaNF128UI64;
+ uiZ.v0 = defaultNaNF128UI0;
+ return uiZ;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF16UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF16UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..0b08e003967b13448ff7c88c9c30ac804ff258d2
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF16UI.c
@@ -0,0 +1,58 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
+University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 16-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast16_t
+ softfloat_propagateNaNF16UI( uint_fast16_t uiA, uint_fast16_t uiB )
+{
+
+ if ( softfloat_isSigNaNF16UI( uiA ) || softfloat_isSigNaNF16UI( uiB ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ return defaultNaNF16UI;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF32UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF32UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..cab740358e3b531280e0d4dc50b429f8f4cec3d3
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF32UI.c
@@ -0,0 +1,58 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 32-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast32_t
+ softfloat_propagateNaNF32UI( uint_fast32_t uiA, uint_fast32_t uiB )
+{
+
+ if ( softfloat_isSigNaNF32UI( uiA ) || softfloat_isSigNaNF32UI( uiB ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ return defaultNaNF32UI;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF64UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF64UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..83b91d3a9d96cfd3b3602662fe44e8edc6ad1de7
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/s_propagateNaNF64UI.c
@@ -0,0 +1,58 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 64-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast64_t
+ softfloat_propagateNaNF64UI( uint_fast64_t uiA, uint_fast64_t uiB )
+{
+
+ if ( softfloat_isSigNaNF64UI( uiA ) || softfloat_isSigNaNF64UI( uiB ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ return defaultNaNF64UI;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/softfloat_raiseFlags.c b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/softfloat_raiseFlags.c
new file mode 100644
index 0000000000000000000000000000000000000000..61046da3c05e49b0c6328a2cdcec06896337f73a
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/softfloat_raiseFlags.c
@@ -0,0 +1,52 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include "platform.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Raises the exceptions specified by 'flags'. Floating-point traps can be
+| defined here if desired. It is currently not possible for such a trap
+| to substitute a result value. If traps are not implemented, this routine
+| should be simply 'softfloat_exceptionFlags |= flags;'.
+*----------------------------------------------------------------------------*/
+void softfloat_raiseFlags( uint_fast8_t flags )
+{
+
+ softfloat_exceptionFlags |= flags;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/specialize.h b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/specialize.h
new file mode 100644
index 0000000000000000000000000000000000000000..2c481a259675564e42fdd811be069bc4a7b15d7c
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2-defaultNaN/specialize.h
@@ -0,0 +1,407 @@
+
+/*============================================================================
+
+This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the
+University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#ifndef specialize_h
+#define specialize_h 1
+
+#include
+#include
+#include "primitiveTypes.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Default value for 'softfloat_detectTininess'.
+*----------------------------------------------------------------------------*/
+#define init_detectTininess softfloat_tininess_beforeRounding
+
+/*----------------------------------------------------------------------------
+| The values to return on conversions to 32-bit integer formats that raise an
+| invalid exception.
+*----------------------------------------------------------------------------*/
+#define ui32_fromPosOverflow 0xFFFFFFFF
+#define ui32_fromNegOverflow 0
+#define ui32_fromNaN 0
+#define i32_fromPosOverflow 0x7FFFFFFF
+#define i32_fromNegOverflow (-0x7FFFFFFF - 1)
+#define i32_fromNaN 0
+
+/*----------------------------------------------------------------------------
+| The values to return on conversions to 64-bit integer formats that raise an
+| invalid exception.
+*----------------------------------------------------------------------------*/
+#define ui64_fromPosOverflow UINT64_C( 0xFFFFFFFFFFFFFFFF )
+#define ui64_fromNegOverflow 0
+#define ui64_fromNaN 0
+#define i64_fromPosOverflow INT64_C( 0x7FFFFFFFFFFFFFFF )
+#define i64_fromNegOverflow (-INT64_C( 0x7FFFFFFFFFFFFFFF ) - 1)
+#define i64_fromNaN 0
+
+/*----------------------------------------------------------------------------
+| "Common NaN" structure, used to transfer NaN representations from one format
+| to another.
+*----------------------------------------------------------------------------*/
+struct commonNaN { char _unused; };
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 16-bit floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNF16UI 0x7E00
+
+/*----------------------------------------------------------------------------
+| Returns true when 16-bit unsigned integer 'uiA' has the bit pattern of a
+| 16-bit floating-point signaling NaN.
+| Note: This macro evaluates its argument more than once.
+*----------------------------------------------------------------------------*/
+#define softfloat_isSigNaNF16UI( uiA ) ((((uiA) & 0x7E00) == 0x7C00) && ((uiA) & 0x01FF))
+
+/*----------------------------------------------------------------------------
+| Assuming 'uiA' has the bit pattern of a 16-bit floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+#define softfloat_f16UIToCommonNaN( uiA, zPtr ) if ( ! ((uiA) & 0x0200) ) softfloat_raiseFlags( softfloat_flag_invalid )
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 16-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+#define softfloat_commonNaNToF16UI( aPtr ) ((uint_fast16_t) defaultNaNF16UI)
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 16-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast16_t
+ softfloat_propagateNaNF16UI( uint_fast16_t uiA, uint_fast16_t uiB );
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 32-bit floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNF32UI 0x7FC00000
+
+/*----------------------------------------------------------------------------
+| Returns true when 32-bit unsigned integer 'uiA' has the bit pattern of a
+| 32-bit floating-point signaling NaN.
+| Note: This macro evaluates its argument more than once.
+*----------------------------------------------------------------------------*/
+#define softfloat_isSigNaNF32UI( uiA ) ((((uiA) & 0x7FC00000) == 0x7F800000) && ((uiA) & 0x003FFFFF))
+
+/*----------------------------------------------------------------------------
+| Assuming 'uiA' has the bit pattern of a 32-bit floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+#define softfloat_f32UIToCommonNaN( uiA, zPtr ) if ( ! ((uiA) & 0x00400000) ) softfloat_raiseFlags( softfloat_flag_invalid )
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 32-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+#define softfloat_commonNaNToF32UI( aPtr ) ((uint_fast32_t) defaultNaNF32UI)
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 32-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast32_t
+ softfloat_propagateNaNF32UI( uint_fast32_t uiA, uint_fast32_t uiB );
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 64-bit floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNF64UI UINT64_C( 0x7FF8000000000000 )
+
+/*----------------------------------------------------------------------------
+| Returns true when 64-bit unsigned integer 'uiA' has the bit pattern of a
+| 64-bit floating-point signaling NaN.
+| Note: This macro evaluates its argument more than once.
+*----------------------------------------------------------------------------*/
+#define softfloat_isSigNaNF64UI( uiA ) ((((uiA) & UINT64_C( 0x7FF8000000000000 )) == UINT64_C( 0x7FF0000000000000 )) && ((uiA) & UINT64_C( 0x0007FFFFFFFFFFFF )))
+
+/*----------------------------------------------------------------------------
+| Assuming 'uiA' has the bit pattern of a 64-bit floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+#define softfloat_f64UIToCommonNaN( uiA, zPtr ) if ( ! ((uiA) & UINT64_C( 0x0008000000000000 )) ) softfloat_raiseFlags( softfloat_flag_invalid )
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 64-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+#define softfloat_commonNaNToF64UI( aPtr ) ((uint_fast64_t) defaultNaNF64UI)
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 64-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast64_t
+ softfloat_propagateNaNF64UI( uint_fast64_t uiA, uint_fast64_t uiB );
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 80-bit extended floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNExtF80UI64 0x7FFF
+#define defaultNaNExtF80UI0 UINT64_C( 0xC000000000000000 )
+
+/*----------------------------------------------------------------------------
+| Returns true when the 80-bit unsigned integer formed from concatenating
+| 16-bit 'uiA64' and 64-bit 'uiA0' has the bit pattern of an 80-bit extended
+| floating-point signaling NaN.
+| Note: This macro evaluates its arguments more than once.
+*----------------------------------------------------------------------------*/
+#define softfloat_isSigNaNExtF80UI( uiA64, uiA0 ) ((((uiA64) & 0x7FFF) == 0x7FFF) && ! ((uiA0) & UINT64_C( 0x4000000000000000 )) && ((uiA0) & UINT64_C( 0x3FFFFFFFFFFFFFFF )))
+
+#ifdef SOFTFLOAT_FAST_INT64
+
+/*----------------------------------------------------------------------------
+| The following functions are needed only when 'SOFTFLOAT_FAST_INT64' is
+| defined.
+*----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+| Assuming the unsigned integer formed from concatenating 'uiA64' and 'uiA0'
+| has the bit pattern of an 80-bit extended floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+#define softfloat_extF80UIToCommonNaN( uiA64, uiA0, zPtr ) if ( ! ((uiA0) & UINT64_C( 0x4000000000000000 )) ) softfloat_raiseFlags( softfloat_flag_invalid )
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
+| floating-point NaN, and returns the bit pattern of this value as an unsigned
+| integer.
+*----------------------------------------------------------------------------*/
+#if defined INLINE && ! defined softfloat_commonNaNToExtF80UI
+INLINE
+struct uint128 softfloat_commonNaNToExtF80UI( const struct commonNaN *aPtr )
+{
+ struct uint128 uiZ;
+ uiZ.v64 = defaultNaNExtF80UI64;
+ uiZ.v0 = defaultNaNExtF80UI0;
+ return uiZ;
+}
+#else
+struct uint128 softfloat_commonNaNToExtF80UI( const struct commonNaN *aPtr );
+#endif
+
+/*----------------------------------------------------------------------------
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as an 80-bit extended floating-point value, and likewise interpreting
+| the unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
+| 80-bit extended floating-point value, and assuming at least on of these
+| floating-point values is a NaN, returns the bit pattern of the combined NaN
+| result. If either original floating-point value is a signaling NaN, the
+| invalid exception is raised.
+*----------------------------------------------------------------------------*/
+struct uint128
+ softfloat_propagateNaNExtF80UI(
+ uint_fast16_t uiA64,
+ uint_fast64_t uiA0,
+ uint_fast16_t uiB64,
+ uint_fast64_t uiB0
+ );
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 128-bit floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNF128UI64 UINT64_C( 0x7FFF800000000000 )
+#define defaultNaNF128UI0 UINT64_C( 0 )
+
+/*----------------------------------------------------------------------------
+| Returns true when the 128-bit unsigned integer formed from concatenating
+| 64-bit 'uiA64' and 64-bit 'uiA0' has the bit pattern of a 128-bit floating-
+| point signaling NaN.
+| Note: This macro evaluates its arguments more than once.
+*----------------------------------------------------------------------------*/
+#define softfloat_isSigNaNF128UI( uiA64, uiA0 ) ((((uiA64) & UINT64_C( 0x7FFF800000000000 )) == UINT64_C( 0x7FFF000000000000 )) && ((uiA0) || ((uiA64) & UINT64_C( 0x00007FFFFFFFFFFF ))))
+
+/*----------------------------------------------------------------------------
+| Assuming the unsigned integer formed from concatenating 'uiA64' and 'uiA0'
+| has the bit pattern of a 128-bit floating-point NaN, converts this NaN to
+| the common NaN form, and stores the resulting common NaN at the location
+| pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid exception
+| is raised.
+*----------------------------------------------------------------------------*/
+#define softfloat_f128UIToCommonNaN( uiA64, uiA0, zPtr ) if ( ! ((uiA64) & UINT64_C( 0x0000800000000000 )) ) softfloat_raiseFlags( softfloat_flag_invalid )
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+#if defined INLINE && ! defined softfloat_commonNaNToF128UI
+INLINE
+struct uint128 softfloat_commonNaNToF128UI( const struct commonNaN *aPtr )
+{
+ struct uint128 uiZ;
+ uiZ.v64 = defaultNaNF128UI64;
+ uiZ.v0 = defaultNaNF128UI0;
+ return uiZ;
+}
+#else
+struct uint128 softfloat_commonNaNToF128UI( const struct commonNaN * );
+#endif
+
+/*----------------------------------------------------------------------------
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as a 128-bit floating-point value, and likewise interpreting the
+| unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
+| 128-bit floating-point value, and assuming at least on of these floating-
+| point values is a NaN, returns the bit pattern of the combined NaN result.
+| If either original floating-point value is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+struct uint128
+ softfloat_propagateNaNF128UI(
+ uint_fast64_t uiA64,
+ uint_fast64_t uiA0,
+ uint_fast64_t uiB64,
+ uint_fast64_t uiB0
+ );
+
+#else
+
+/*----------------------------------------------------------------------------
+| The following functions are needed only when 'SOFTFLOAT_FAST_INT64' is not
+| defined.
+*----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+| Assuming the 80-bit extended floating-point value pointed to by 'aSPtr' is
+| a NaN, converts this NaN to the common NaN form, and stores the resulting
+| common NaN at the location pointed to by 'zPtr'. If the NaN is a signaling
+| NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+#define softfloat_extF80MToCommonNaN( aSPtr, zPtr ) if ( ! ((aSPtr)->signif & UINT64_C( 0x4000000000000000 )) ) softfloat_raiseFlags( softfloat_flag_invalid )
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
+| floating-point NaN, and stores this NaN at the location pointed to by
+| 'zSPtr'.
+*----------------------------------------------------------------------------*/
+#if defined INLINE && ! defined softfloat_commonNaNToExtF80M
+INLINE
+void
+ softfloat_commonNaNToExtF80M(
+ const struct commonNaN *aPtr, struct extFloat80M *zSPtr )
+{
+ zSPtr->signExp = defaultNaNExtF80UI64;
+ zSPtr->signif = defaultNaNExtF80UI0;
+}
+#else
+void
+ softfloat_commonNaNToExtF80M(
+ const struct commonNaN *aPtr, struct extFloat80M *zSPtr );
+#endif
+
+/*----------------------------------------------------------------------------
+| Assuming at least one of the two 80-bit extended floating-point values
+| pointed to by 'aSPtr' and 'bSPtr' is a NaN, stores the combined NaN result
+| at the location pointed to by 'zSPtr'. If either original floating-point
+| value is a signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_propagateNaNExtF80M(
+ const struct extFloat80M *aSPtr,
+ const struct extFloat80M *bSPtr,
+ struct extFloat80M *zSPtr
+ );
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 128-bit floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNF128UI96 0x7FFF8000
+#define defaultNaNF128UI64 0
+#define defaultNaNF128UI32 0
+#define defaultNaNF128UI0 0
+
+/*----------------------------------------------------------------------------
+| Assuming the 128-bit floating-point value pointed to by 'aWPtr' is a NaN,
+| converts this NaN to the common NaN form, and stores the resulting common
+| NaN at the location pointed to by 'zPtr'. If the NaN is a signaling NaN,
+| the invalid exception is raised. Argument 'aWPtr' points to an array of
+| four 32-bit elements that concatenate in the platform's normal endian order
+| to form a 128-bit floating-point value.
+*----------------------------------------------------------------------------*/
+#define softfloat_f128MToCommonNaN( aWPtr, zPtr ) if ( ! ((aWPtr)[indexWordHi( 4 )] & UINT64_C( 0x0000800000000000 )) ) softfloat_raiseFlags( softfloat_flag_invalid )
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
+| NaN, and stores this NaN at the location pointed to by 'zWPtr'. Argument
+| 'zWPtr' points to an array of four 32-bit elements that concatenate in the
+| platform's normal endian order to form a 128-bit floating-point value.
+*----------------------------------------------------------------------------*/
+#if defined INLINE && ! defined softfloat_commonNaNToF128M
+INLINE
+void
+ softfloat_commonNaNToF128M( const struct commonNaN *aPtr, uint32_t *zWPtr )
+{
+ zWPtr[indexWord( 4, 3 )] = defaultNaNF128UI96;
+ zWPtr[indexWord( 4, 2 )] = defaultNaNF128UI64;
+ zWPtr[indexWord( 4, 1 )] = defaultNaNF128UI32;
+ zWPtr[indexWord( 4, 0 )] = defaultNaNF128UI0;
+}
+#else
+void
+ softfloat_commonNaNToF128M( const struct commonNaN *aPtr, uint32_t *zWPtr );
+#endif
+
+/*----------------------------------------------------------------------------
+| Assuming at least one of the two 128-bit floating-point values pointed to by
+| 'aWPtr' and 'bWPtr' is a NaN, stores the combined NaN result at the location
+| pointed to by 'zWPtr'. If either original floating-point value is a
+| signaling NaN, the invalid exception is raised. Each of 'aWPtr', 'bWPtr',
+| and 'zWPtr' points to an array of four 32-bit elements that concatenate in
+| the platform's normal endian order to form a 128-bit floating-point value.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_propagateNaNF128M(
+ const uint32_t *aWPtr, const uint32_t *bWPtr, uint32_t *zWPtr );
+
+#endif
+
+#endif
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/extF80M_isSignalingNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2/extF80M_isSignalingNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..85ee211c28d7bf24a6b170abec6980669750e799
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/extF80M_isSignalingNaN.c
@@ -0,0 +1,57 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include
+#include "platform.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+*----------------------------------------------------------------------------*/
+bool extF80M_isSignalingNaN( const extFloat80_t *aPtr )
+{
+ const struct extFloat80M *aSPtr;
+ uint64_t uiA0;
+
+ aSPtr = (const struct extFloat80M *) aPtr;
+ if ( (aSPtr->signExp & 0x7FFF) != 0x7FFF ) return false;
+ uiA0 = aSPtr->signif;
+ return
+ ! (uiA0 & UINT64_C( 0x4000000000000000 ))
+ && (uiA0 & UINT64_C( 0x3FFFFFFFFFFFFFFF));
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/f128M_isSignalingNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2/f128M_isSignalingNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..79a70777167298fec17931215f3bce2e68517d28
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/f128M_isSignalingNaN.c
@@ -0,0 +1,60 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include
+#include "platform.h"
+#include "primitives.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+*----------------------------------------------------------------------------*/
+bool f128M_isSignalingNaN( const float128_t *aPtr )
+{
+ const uint32_t *aWPtr;
+ uint32_t uiA96;
+
+ aWPtr = (const uint32_t *) aPtr;
+ uiA96 = aWPtr[indexWordHi( 4 )];
+ if ( (uiA96 & 0x7FFF8000) != 0x7FFF0000 ) return false;
+ return
+ ((uiA96 & 0x00007FFF) != 0)
+ || ((aWPtr[indexWord( 4, 2 )] | aWPtr[indexWord( 4, 1 )]
+ | aWPtr[indexWord( 4, 0 )])
+ != 0);
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToExtF80M.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToExtF80M.c
new file mode 100644
index 0000000000000000000000000000000000000000..543400bc1a92c1cc954f62e5710d0201ec82084c
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToExtF80M.c
@@ -0,0 +1,56 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "internals.h"
+#include "specialize.h"
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
+| floating-point NaN, and stores this NaN at the location pointed to by
+| 'zSPtr'.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_commonNaNToExtF80M(
+ const struct commonNaN *aPtr, struct extFloat80M *zSPtr )
+{
+
+ zSPtr->signExp = packToExtF80UI64( aPtr->sign, 0x7FFF );
+ zSPtr->signif = UINT64_C( 0xC000000000000000 ) | aPtr->v64>>1;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToExtF80UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToExtF80UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..6cf1d119186ec1d8528becc75f3362fb13343be7
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToExtF80UI.c
@@ -0,0 +1,56 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "primitives.h"
+#include "specialize.h"
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
+| floating-point NaN, and returns the bit pattern of this value as an unsigned
+| integer.
+*----------------------------------------------------------------------------*/
+struct uint128 softfloat_commonNaNToExtF80UI( const struct commonNaN *aPtr )
+{
+ struct uint128 uiZ;
+
+ uiZ.v64 = (uint_fast16_t) aPtr->sign<<15 | 0x7FFF;
+ uiZ.v0 = UINT64_C( 0xC000000000000000 ) | aPtr->v64>>1;
+ return uiZ;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF128M.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF128M.c
new file mode 100644
index 0000000000000000000000000000000000000000..4e8ede07fd01336aeb05c56017ebdffc46f74e04
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF128M.c
@@ -0,0 +1,56 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "primitives.h"
+#include "specialize.h"
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
+| NaN, and stores this NaN at the location pointed to by 'zWPtr'. Argument
+| 'zWPtr' points to an array of four 32-bit elements that concatenate in the
+| platform's normal endian order to form a 128-bit floating-point value.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_commonNaNToF128M( const struct commonNaN *aPtr, uint32_t *zWPtr )
+{
+
+ softfloat_shortShiftRight128M( (const uint32_t *) &aPtr->v0, 16, zWPtr );
+ zWPtr[indexWordHi( 4 )] |= (uint32_t) aPtr->sign<<31 | 0x7FFF8000;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF128UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF128UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..f938c3f2d37ec31c132f7362e2e005f8bca41dd9
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF128UI.c
@@ -0,0 +1,55 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "primitives.h"
+#include "specialize.h"
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+struct uint128 softfloat_commonNaNToF128UI( const struct commonNaN *aPtr )
+{
+ struct uint128 uiZ;
+
+ uiZ = softfloat_shortShiftRight128( aPtr->v64, aPtr->v0, 16 );
+ uiZ.v64 |= (uint_fast64_t) aPtr->sign<<63 | UINT64_C( 0x7FFF800000000000 );
+ return uiZ;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF16UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF16UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..6cd4fc192c2d9902d37b915f45dee325da9f03f6
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF16UI.c
@@ -0,0 +1,51 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "specialize.h"
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 16-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+uint_fast16_t softfloat_commonNaNToF16UI( const struct commonNaN *aPtr )
+{
+
+ return (uint_fast16_t) aPtr->sign<<15 | 0x7E00 | aPtr->v64>>54;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF32UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF32UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..7b38167f002242659de6205e9a8281070b7b5a71
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF32UI.c
@@ -0,0 +1,51 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "specialize.h"
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 32-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+uint_fast32_t softfloat_commonNaNToF32UI( const struct commonNaN *aPtr )
+{
+
+ return (uint_fast32_t) aPtr->sign<<31 | 0x7FC00000 | aPtr->v64>>41;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF64UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF64UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..14847029d28acbbdf613ca855aa819a5a55aad7b
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_commonNaNToF64UI.c
@@ -0,0 +1,53 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "specialize.h"
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 64-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+uint_fast64_t softfloat_commonNaNToF64UI( const struct commonNaN *aPtr )
+{
+
+ return
+ (uint_fast64_t) aPtr->sign<<63 | UINT64_C( 0x7FF8000000000000 )
+ | aPtr->v64>>12;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_extF80MToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_extF80MToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..82216cf4111d358bd5a12a6e4ad652b5e90c7c31
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_extF80MToCommonNaN.c
@@ -0,0 +1,62 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "internals.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Assuming the 80-bit extended floating-point value pointed to by 'aSPtr' is
+| a NaN, converts this NaN to the common NaN form, and stores the resulting
+| common NaN at the location pointed to by 'zPtr'. If the NaN is a signaling
+| NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_extF80MToCommonNaN(
+ const struct extFloat80M *aSPtr, struct commonNaN *zPtr )
+{
+
+ if ( extF80M_isSignalingNaN( (const extFloat80_t *) aSPtr ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ zPtr->sign = signExtF80UI64( aSPtr->signExp );
+ zPtr->v64 = aSPtr->signif<<1;
+ zPtr->v0 = 0;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_extF80UIToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_extF80UIToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..2559fb6d2c3b50bef37ca58e4f1d74b835598784
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_extF80UIToCommonNaN.c
@@ -0,0 +1,62 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Assuming the unsigned integer formed from concatenating 'uiA64' and 'uiA0'
+| has the bit pattern of an 80-bit extended floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_extF80UIToCommonNaN(
+ uint_fast16_t uiA64, uint_fast64_t uiA0, struct commonNaN *zPtr )
+{
+
+ if ( softfloat_isSigNaNExtF80UI( uiA64, uiA0 ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ zPtr->sign = uiA64>>15;
+ zPtr->v64 = uiA0<<1;
+ zPtr->v0 = 0;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_f128MToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_f128MToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..322d25ab1e539728bf5a81ee2f1faced853a680a
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_f128MToCommonNaN.c
@@ -0,0 +1,62 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "primitives.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Assuming the 128-bit floating-point value pointed to by 'aWPtr' is a NaN,
+| converts this NaN to the common NaN form, and stores the resulting common
+| NaN at the location pointed to by 'zPtr'. If the NaN is a signaling NaN,
+| the invalid exception is raised. Argument 'aWPtr' points to an array of
+| four 32-bit elements that concatenate in the platform's normal endian order
+| to form a 128-bit floating-point value.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_f128MToCommonNaN( const uint32_t *aWPtr, struct commonNaN *zPtr )
+{
+
+ if ( f128M_isSignalingNaN( (const float128_t *) aWPtr ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ zPtr->sign = aWPtr[indexWordHi( 4 )]>>31;
+ softfloat_shortShiftLeft128M( aWPtr, 16, (uint32_t *) &zPtr->v0 );
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_f128UIToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_f128UIToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..843c187a7da1b7a778d3bd95220016a881508e49
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_f128UIToCommonNaN.c
@@ -0,0 +1,65 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "primitives.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Assuming the unsigned integer formed from concatenating 'uiA64' and 'uiA0'
+| has the bit pattern of a 128-bit floating-point NaN, converts this NaN to
+| the common NaN form, and stores the resulting common NaN at the location
+| pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid exception
+| is raised.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_f128UIToCommonNaN(
+ uint_fast64_t uiA64, uint_fast64_t uiA0, struct commonNaN *zPtr )
+{
+ struct uint128 NaNSig;
+
+ if ( softfloat_isSigNaNF128UI( uiA64, uiA0 ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ NaNSig = softfloat_shortShiftLeft128( uiA64, uiA0, 16 );
+ zPtr->sign = uiA64>>63;
+ zPtr->v64 = NaNSig.v64;
+ zPtr->v0 = NaNSig.v0;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_f16UIToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_f16UIToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..f5fe58770d20b93ca35ea7c72ff926ae78cae58a
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_f16UIToCommonNaN.c
@@ -0,0 +1,59 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Assuming 'uiA' has the bit pattern of a 16-bit floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+void softfloat_f16UIToCommonNaN( uint_fast16_t uiA, struct commonNaN *zPtr )
+{
+
+ if ( softfloat_isSigNaNF16UI( uiA ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ zPtr->sign = uiA>>15;
+ zPtr->v64 = (uint_fast64_t) uiA<<54;
+ zPtr->v0 = 0;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_f32UIToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_f32UIToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..58726a3571663a28feb4f8941c416787b42a8e69
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_f32UIToCommonNaN.c
@@ -0,0 +1,59 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Assuming 'uiA' has the bit pattern of a 32-bit floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+void softfloat_f32UIToCommonNaN( uint_fast32_t uiA, struct commonNaN *zPtr )
+{
+
+ if ( softfloat_isSigNaNF32UI( uiA ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ zPtr->sign = uiA>>31;
+ zPtr->v64 = (uint_fast64_t) uiA<<41;
+ zPtr->v0 = 0;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_f64UIToCommonNaN.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_f64UIToCommonNaN.c
new file mode 100644
index 0000000000000000000000000000000000000000..03761e4331c6bccde75ae86cc936b38f576a775a
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_f64UIToCommonNaN.c
@@ -0,0 +1,59 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include "platform.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Assuming 'uiA' has the bit pattern of a 64-bit floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+void softfloat_f64UIToCommonNaN( uint_fast64_t uiA, struct commonNaN *zPtr )
+{
+
+ if ( softfloat_isSigNaNF64UI( uiA ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ }
+ zPtr->sign = uiA>>63;
+ zPtr->v64 = uiA<<12;
+ zPtr->v0 = 0;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNExtF80M.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNExtF80M.c
new file mode 100644
index 0000000000000000000000000000000000000000..f10ed0b62f11e46af14e88dffa0e5b440b60121c
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNExtF80M.c
@@ -0,0 +1,86 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include
+#include "platform.h"
+#include "internals.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Assuming at least one of the two 80-bit extended floating-point values
+| pointed to by 'aSPtr' and 'bSPtr' is a NaN, stores the combined NaN result
+| at the location pointed to by 'zSPtr'. If either original floating-point
+| value is a signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_propagateNaNExtF80M(
+ const struct extFloat80M *aSPtr,
+ const struct extFloat80M *bSPtr,
+ struct extFloat80M *zSPtr
+ )
+{
+ const struct extFloat80M *sPtr;
+ bool isSigNaNA;
+ uint_fast16_t uiZ64;
+ uint_fast64_t uiZ0;
+
+ sPtr = aSPtr;
+ isSigNaNA = extF80M_isSignalingNaN( (const extFloat80_t *) aSPtr );
+ if (
+ isSigNaNA
+ || (bSPtr
+ && extF80M_isSignalingNaN( (const extFloat80_t *) bSPtr ))
+ ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ if ( isSigNaNA ) goto copyNonsig;
+ goto copyNonsigB;
+ }
+ uiZ64 = sPtr->signExp;
+ uiZ0 = sPtr->signif;
+ if ( isNaNExtF80UI( uiZ64, uiZ0 ) ) goto returnNonsig;
+ copyNonsigB:
+ sPtr = bSPtr;
+ copyNonsig:
+ uiZ64 = sPtr->signExp;
+ uiZ0 = sPtr->signif;
+ returnNonsig:
+ zSPtr->signExp = uiZ64;
+ zSPtr->signif = uiZ0 | UINT64_C( 0xC000000000000000 );
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNExtF80UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNExtF80UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..bd23c2473658389b99e641303812a41b0fe4300e
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNExtF80UI.c
@@ -0,0 +1,83 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include
+#include "platform.h"
+#include "internals.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as an 80-bit extended floating-point value, and likewise interpreting
+| the unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
+| 80-bit extended floating-point value, and assuming at least on of these
+| floating-point values is a NaN, returns the bit pattern of the combined NaN
+| result. If either original floating-point value is a signaling NaN, the
+| invalid exception is raised.
+*----------------------------------------------------------------------------*/
+struct uint128
+ softfloat_propagateNaNExtF80UI(
+ uint_fast16_t uiA64,
+ uint_fast64_t uiA0,
+ uint_fast16_t uiB64,
+ uint_fast64_t uiB0
+ )
+{
+ bool isSigNaNA;
+ struct uint128 uiZ;
+
+ isSigNaNA = softfloat_isSigNaNExtF80UI( uiA64, uiA0 );
+ if ( isSigNaNA || softfloat_isSigNaNExtF80UI( uiB64, uiB0 ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ if ( isSigNaNA ) goto returnNonsigA;
+ goto returnNonsigB;
+ }
+ if ( isNaNExtF80UI( uiA64, uiA0 ) ) {
+ returnNonsigA:
+ uiZ.v64 = uiA64;
+ uiZ.v0 = uiA0;
+ } else {
+ returnNonsigB:
+ uiZ.v64 = uiB64;
+ uiZ.v0 = uiB0;
+ }
+ uiZ.v0 | UINT64_C( 0xC000000000000000 );
+ return uiZ;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF128M.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF128M.c
new file mode 100644
index 0000000000000000000000000000000000000000..23e766a1937fa6b7dc186e70efe4a49dcdb1db43
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF128M.c
@@ -0,0 +1,77 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include
+#include "platform.h"
+#include "internals.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Assuming at least one of the two 128-bit floating-point values pointed to by
+| 'aWPtr' and 'bWPtr' is a NaN, stores the combined NaN result at the location
+| pointed to by 'zWPtr'. If either original floating-point value is a
+| signaling NaN, the invalid exception is raised. Each of 'aWPtr', 'bWPtr',
+| and 'zWPtr' points to an array of four 32-bit elements that concatenate in
+| the platform's normal endian order to form a 128-bit floating-point value.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_propagateNaNF128M(
+ const uint32_t *aWPtr, const uint32_t *bWPtr, uint32_t *zWPtr )
+{
+ const uint32_t *ptr;
+ bool isSigNaNA;
+
+ ptr = aWPtr;
+ isSigNaNA = f128M_isSignalingNaN( (const float128_t *) aWPtr );
+ if (
+ isSigNaNA
+ || (bWPtr && f128M_isSignalingNaN( (const float128_t *) bWPtr ))
+ ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ if ( ! isSigNaNA ) ptr = bWPtr;
+ goto copyNonsig;
+ }
+ if ( ! softfloat_isNaNF128M( aWPtr ) ) ptr = bWPtr;
+ copyNonsig:
+ zWPtr[indexWordHi( 4 )] = ptr[indexWordHi( 4 )] | 0x00008000;
+ zWPtr[indexWord( 4, 2 )] = ptr[indexWord( 4, 2 )];
+ zWPtr[indexWord( 4, 1 )] = ptr[indexWord( 4, 1 )];
+ zWPtr[indexWord( 4, 0 )] = ptr[indexWord( 4, 0 )];
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF128UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF128UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..b8882d77cfba85d8a66baaa86c4a141e4ed48d28
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF128UI.c
@@ -0,0 +1,83 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include
+#include "platform.h"
+#include "internals.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as a 128-bit floating-point value, and likewise interpreting the
+| unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
+| 128-bit floating-point value, and assuming at least on of these floating-
+| point values is a NaN, returns the bit pattern of the combined NaN result.
+| If either original floating-point value is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+struct uint128
+ softfloat_propagateNaNF128UI(
+ uint_fast64_t uiA64,
+ uint_fast64_t uiA0,
+ uint_fast64_t uiB64,
+ uint_fast64_t uiB0
+ )
+{
+ bool isSigNaNA;
+ struct uint128 uiZ;
+
+ isSigNaNA = softfloat_isSigNaNF128UI( uiA64, uiA0 );
+ if ( isSigNaNA || softfloat_isSigNaNF128UI( uiB64, uiB0 ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ if ( isSigNaNA ) goto returnNonsigA;
+ goto returnNonsigB;
+ }
+ if ( isNaNF128UI( uiA64, uiA0 ) ) {
+ returnNonsigA:
+ uiZ.v64 = uiA64;
+ uiZ.v0 = uiA0;
+ } else {
+ returnNonsigB:
+ uiZ.v64 = uiB64;
+ uiZ.v0 = uiB0;
+ }
+ uiZ.v64 |= UINT64_C( 0x0000800000000000 );
+ return uiZ;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF16UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF16UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..e333328746e6778eb60af08cce0afa5cb870f462
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF16UI.c
@@ -0,0 +1,63 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include
+#include "platform.h"
+#include "internals.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 16-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast16_t
+ softfloat_propagateNaNF16UI( uint_fast16_t uiA, uint_fast16_t uiB )
+{
+ bool isSigNaNA;
+
+ isSigNaNA = softfloat_isSigNaNF16UI( uiA );
+ if ( isSigNaNA || softfloat_isSigNaNF16UI( uiB ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ return (isSigNaNA ? uiA : uiB) | 0x0200;
+ }
+ return isNaNF16UI( uiA ) ? uiA : uiB;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF32UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF32UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..c7508ae7cd1de1b505eb21ba5935f600475028e8
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF32UI.c
@@ -0,0 +1,63 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include
+#include "platform.h"
+#include "internals.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 32-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast32_t
+ softfloat_propagateNaNF32UI( uint_fast32_t uiA, uint_fast32_t uiB )
+{
+ bool isSigNaNA;
+
+ isSigNaNA = softfloat_isSigNaNF32UI( uiA );
+ if ( isSigNaNA || softfloat_isSigNaNF32UI( uiB ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ return (isSigNaNA ? uiA : uiB) | 0x00400000;
+ }
+ return isNaNF32UI( uiA ) ? uiA : uiB;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF64UI.c b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF64UI.c
new file mode 100644
index 0000000000000000000000000000000000000000..8c67763818a1c35f9a77d89b8246d73465167ee0
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/s_propagateNaNF64UI.c
@@ -0,0 +1,63 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include
+#include
+#include "platform.h"
+#include "internals.h"
+#include "specialize.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 64-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast64_t
+ softfloat_propagateNaNF64UI( uint_fast64_t uiA, uint_fast64_t uiB )
+{
+ bool isSigNaNA;
+
+ isSigNaNA = softfloat_isSigNaNF64UI( uiA );
+ if ( isSigNaNA || softfloat_isSigNaNF64UI( uiB ) ) {
+ softfloat_raiseFlags( softfloat_flag_invalid );
+ return (isSigNaNA ? uiA : uiB) | UINT64_C( 0x0008000000000000 );
+ }
+ return isNaNF64UI( uiA ) ? uiA : uiB;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/softfloat_raiseFlags.c b/deps/SoftFloat-3e/source/ARM-VFPv2/softfloat_raiseFlags.c
new file mode 100644
index 0000000000000000000000000000000000000000..61046da3c05e49b0c6328a2cdcec06896337f73a
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/softfloat_raiseFlags.c
@@ -0,0 +1,52 @@
+
+/*============================================================================
+
+This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
+California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#include "platform.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Raises the exceptions specified by 'flags'. Floating-point traps can be
+| defined here if desired. It is currently not possible for such a trap
+| to substitute a result value. If traps are not implemented, this routine
+| should be simply 'softfloat_exceptionFlags |= flags;'.
+*----------------------------------------------------------------------------*/
+void softfloat_raiseFlags( uint_fast8_t flags )
+{
+
+ softfloat_exceptionFlags |= flags;
+
+}
+
diff --git a/deps/SoftFloat-3e/source/ARM-VFPv2/specialize.h b/deps/SoftFloat-3e/source/ARM-VFPv2/specialize.h
new file mode 100644
index 0000000000000000000000000000000000000000..5321f33bcaad7d107f20e44a848d3d0736bd062a
--- /dev/null
+++ b/deps/SoftFloat-3e/source/ARM-VFPv2/specialize.h
@@ -0,0 +1,376 @@
+
+/*============================================================================
+
+This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the
+University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#ifndef specialize_h
+#define specialize_h 1
+
+#include
+#include
+#include "primitiveTypes.h"
+#include "softfloat.h"
+
+/*----------------------------------------------------------------------------
+| Default value for 'softfloat_detectTininess'.
+*----------------------------------------------------------------------------*/
+#define init_detectTininess softfloat_tininess_beforeRounding
+
+/*----------------------------------------------------------------------------
+| The values to return on conversions to 32-bit integer formats that raise an
+| invalid exception.
+*----------------------------------------------------------------------------*/
+#define ui32_fromPosOverflow 0xFFFFFFFF
+#define ui32_fromNegOverflow 0
+#define ui32_fromNaN 0
+#define i32_fromPosOverflow 0x7FFFFFFF
+#define i32_fromNegOverflow (-0x7FFFFFFF - 1)
+#define i32_fromNaN 0
+
+/*----------------------------------------------------------------------------
+| The values to return on conversions to 64-bit integer formats that raise an
+| invalid exception.
+*----------------------------------------------------------------------------*/
+#define ui64_fromPosOverflow UINT64_C( 0xFFFFFFFFFFFFFFFF )
+#define ui64_fromNegOverflow 0
+#define ui64_fromNaN 0
+#define i64_fromPosOverflow INT64_C( 0x7FFFFFFFFFFFFFFF )
+#define i64_fromNegOverflow (-INT64_C( 0x7FFFFFFFFFFFFFFF ) - 1)
+#define i64_fromNaN 0
+
+/*----------------------------------------------------------------------------
+| "Common NaN" structure, used to transfer NaN representations from one format
+| to another.
+*----------------------------------------------------------------------------*/
+struct commonNaN {
+ bool sign;
+#ifdef LITTLEENDIAN
+ uint64_t v0, v64;
+#else
+ uint64_t v64, v0;
+#endif
+};
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 16-bit floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNF16UI 0x7E00
+
+/*----------------------------------------------------------------------------
+| Returns true when 16-bit unsigned integer 'uiA' has the bit pattern of a
+| 16-bit floating-point signaling NaN.
+| Note: This macro evaluates its argument more than once.
+*----------------------------------------------------------------------------*/
+#define softfloat_isSigNaNF16UI( uiA ) ((((uiA) & 0x7E00) == 0x7C00) && ((uiA) & 0x01FF))
+
+/*----------------------------------------------------------------------------
+| Assuming 'uiA' has the bit pattern of a 16-bit floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+void softfloat_f16UIToCommonNaN( uint_fast16_t uiA, struct commonNaN *zPtr );
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 16-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+uint_fast16_t softfloat_commonNaNToF16UI( const struct commonNaN *aPtr );
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 16-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast16_t
+ softfloat_propagateNaNF16UI( uint_fast16_t uiA, uint_fast16_t uiB );
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 32-bit floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNF32UI 0x7FC00000
+
+/*----------------------------------------------------------------------------
+| Returns true when 32-bit unsigned integer 'uiA' has the bit pattern of a
+| 32-bit floating-point signaling NaN.
+| Note: This macro evaluates its argument more than once.
+*----------------------------------------------------------------------------*/
+#define softfloat_isSigNaNF32UI( uiA ) ((((uiA) & 0x7FC00000) == 0x7F800000) && ((uiA) & 0x003FFFFF))
+
+/*----------------------------------------------------------------------------
+| Assuming 'uiA' has the bit pattern of a 32-bit floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+void softfloat_f32UIToCommonNaN( uint_fast32_t uiA, struct commonNaN *zPtr );
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 32-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+uint_fast32_t softfloat_commonNaNToF32UI( const struct commonNaN *aPtr );
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 32-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast32_t
+ softfloat_propagateNaNF32UI( uint_fast32_t uiA, uint_fast32_t uiB );
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 64-bit floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNF64UI UINT64_C( 0x7FF8000000000000 )
+
+/*----------------------------------------------------------------------------
+| Returns true when 64-bit unsigned integer 'uiA' has the bit pattern of a
+| 64-bit floating-point signaling NaN.
+| Note: This macro evaluates its argument more than once.
+*----------------------------------------------------------------------------*/
+#define softfloat_isSigNaNF64UI( uiA ) ((((uiA) & UINT64_C( 0x7FF8000000000000 )) == UINT64_C( 0x7FF0000000000000 )) && ((uiA) & UINT64_C( 0x0007FFFFFFFFFFFF )))
+
+/*----------------------------------------------------------------------------
+| Assuming 'uiA' has the bit pattern of a 64-bit floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+void softfloat_f64UIToCommonNaN( uint_fast64_t uiA, struct commonNaN *zPtr );
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 64-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+uint_fast64_t softfloat_commonNaNToF64UI( const struct commonNaN *aPtr );
+
+/*----------------------------------------------------------------------------
+| Interpreting 'uiA' and 'uiB' as the bit patterns of two 64-bit floating-
+| point values, at least one of which is a NaN, returns the bit pattern of
+| the combined NaN result. If either 'uiA' or 'uiB' has the pattern of a
+| signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+uint_fast64_t
+ softfloat_propagateNaNF64UI( uint_fast64_t uiA, uint_fast64_t uiB );
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 80-bit extended floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNExtF80UI64 0x7FFF
+#define defaultNaNExtF80UI0 UINT64_C( 0xC000000000000000 )
+
+/*----------------------------------------------------------------------------
+| Returns true when the 80-bit unsigned integer formed from concatenating
+| 16-bit 'uiA64' and 64-bit 'uiA0' has the bit pattern of an 80-bit extended
+| floating-point signaling NaN.
+| Note: This macro evaluates its arguments more than once.
+*----------------------------------------------------------------------------*/
+#define softfloat_isSigNaNExtF80UI( uiA64, uiA0 ) ((((uiA64) & 0x7FFF) == 0x7FFF) && ! ((uiA0) & UINT64_C( 0x4000000000000000 )) && ((uiA0) & UINT64_C( 0x3FFFFFFFFFFFFFFF )))
+
+#ifdef SOFTFLOAT_FAST_INT64
+
+/*----------------------------------------------------------------------------
+| The following functions are needed only when 'SOFTFLOAT_FAST_INT64' is
+| defined.
+*----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+| Assuming the unsigned integer formed from concatenating 'uiA64' and 'uiA0'
+| has the bit pattern of an 80-bit extended floating-point NaN, converts
+| this NaN to the common NaN form, and stores the resulting common NaN at the
+| location pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_extF80UIToCommonNaN(
+ uint_fast16_t uiA64, uint_fast64_t uiA0, struct commonNaN *zPtr );
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
+| floating-point NaN, and returns the bit pattern of this value as an unsigned
+| integer.
+*----------------------------------------------------------------------------*/
+struct uint128 softfloat_commonNaNToExtF80UI( const struct commonNaN *aPtr );
+
+/*----------------------------------------------------------------------------
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as an 80-bit extended floating-point value, and likewise interpreting
+| the unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
+| 80-bit extended floating-point value, and assuming at least on of these
+| floating-point values is a NaN, returns the bit pattern of the combined NaN
+| result. If either original floating-point value is a signaling NaN, the
+| invalid exception is raised.
+*----------------------------------------------------------------------------*/
+struct uint128
+ softfloat_propagateNaNExtF80UI(
+ uint_fast16_t uiA64,
+ uint_fast64_t uiA0,
+ uint_fast16_t uiB64,
+ uint_fast64_t uiB0
+ );
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 128-bit floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNF128UI64 UINT64_C( 0x7FFF800000000000 )
+#define defaultNaNF128UI0 UINT64_C( 0 )
+
+/*----------------------------------------------------------------------------
+| Returns true when the 128-bit unsigned integer formed from concatenating
+| 64-bit 'uiA64' and 64-bit 'uiA0' has the bit pattern of a 128-bit floating-
+| point signaling NaN.
+| Note: This macro evaluates its arguments more than once.
+*----------------------------------------------------------------------------*/
+#define softfloat_isSigNaNF128UI( uiA64, uiA0 ) ((((uiA64) & UINT64_C( 0x7FFF800000000000 )) == UINT64_C( 0x7FFF000000000000 )) && ((uiA0) || ((uiA64) & UINT64_C( 0x00007FFFFFFFFFFF ))))
+
+/*----------------------------------------------------------------------------
+| Assuming the unsigned integer formed from concatenating 'uiA64' and 'uiA0'
+| has the bit pattern of a 128-bit floating-point NaN, converts this NaN to
+| the common NaN form, and stores the resulting common NaN at the location
+| pointed to by 'zPtr'. If the NaN is a signaling NaN, the invalid exception
+| is raised.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_f128UIToCommonNaN(
+ uint_fast64_t uiA64, uint_fast64_t uiA0, struct commonNaN *zPtr );
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
+| NaN, and returns the bit pattern of this value as an unsigned integer.
+*----------------------------------------------------------------------------*/
+struct uint128 softfloat_commonNaNToF128UI( const struct commonNaN * );
+
+/*----------------------------------------------------------------------------
+| Interpreting the unsigned integer formed from concatenating 'uiA64' and
+| 'uiA0' as a 128-bit floating-point value, and likewise interpreting the
+| unsigned integer formed from concatenating 'uiB64' and 'uiB0' as another
+| 128-bit floating-point value, and assuming at least on of these floating-
+| point values is a NaN, returns the bit pattern of the combined NaN result.
+| If either original floating-point value is a signaling NaN, the invalid
+| exception is raised.
+*----------------------------------------------------------------------------*/
+struct uint128
+ softfloat_propagateNaNF128UI(
+ uint_fast64_t uiA64,
+ uint_fast64_t uiA0,
+ uint_fast64_t uiB64,
+ uint_fast64_t uiB0
+ );
+
+#else
+
+/*----------------------------------------------------------------------------
+| The following functions are needed only when 'SOFTFLOAT_FAST_INT64' is not
+| defined.
+*----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------
+| Assuming the 80-bit extended floating-point value pointed to by 'aSPtr' is
+| a NaN, converts this NaN to the common NaN form, and stores the resulting
+| common NaN at the location pointed to by 'zPtr'. If the NaN is a signaling
+| NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_extF80MToCommonNaN(
+ const struct extFloat80M *aSPtr, struct commonNaN *zPtr );
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into an 80-bit extended
+| floating-point NaN, and stores this NaN at the location pointed to by
+| 'zSPtr'.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_commonNaNToExtF80M(
+ const struct commonNaN *aPtr, struct extFloat80M *zSPtr );
+
+/*----------------------------------------------------------------------------
+| Assuming at least one of the two 80-bit extended floating-point values
+| pointed to by 'aSPtr' and 'bSPtr' is a NaN, stores the combined NaN result
+| at the location pointed to by 'zSPtr'. If either original floating-point
+| value is a signaling NaN, the invalid exception is raised.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_propagateNaNExtF80M(
+ const struct extFloat80M *aSPtr,
+ const struct extFloat80M *bSPtr,
+ struct extFloat80M *zSPtr
+ );
+
+/*----------------------------------------------------------------------------
+| The bit pattern for a default generated 128-bit floating-point NaN.
+*----------------------------------------------------------------------------*/
+#define defaultNaNF128UI96 0x7FFF8000
+#define defaultNaNF128UI64 0
+#define defaultNaNF128UI32 0
+#define defaultNaNF128UI0 0
+
+/*----------------------------------------------------------------------------
+| Assuming the 128-bit floating-point value pointed to by 'aWPtr' is a NaN,
+| converts this NaN to the common NaN form, and stores the resulting common
+| NaN at the location pointed to by 'zPtr'. If the NaN is a signaling NaN,
+| the invalid exception is raised. Argument 'aWPtr' points to an array of
+| four 32-bit elements that concatenate in the platform's normal endian order
+| to form a 128-bit floating-point value.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_f128MToCommonNaN( const uint32_t *aWPtr, struct commonNaN *zPtr );
+
+/*----------------------------------------------------------------------------
+| Converts the common NaN pointed to by 'aPtr' into a 128-bit floating-point
+| NaN, and stores this NaN at the location pointed to by 'zWPtr'. Argument
+| 'zWPtr' points to an array of four 32-bit elements that concatenate in the
+| platform's normal endian order to form a 128-bit floating-point value.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_commonNaNToF128M( const struct commonNaN *aPtr, uint32_t *zWPtr );
+
+/*----------------------------------------------------------------------------
+| Assuming at least one of the two 128-bit floating-point values pointed to by
+| 'aWPtr' and 'bWPtr' is a NaN, stores the combined NaN result at the location
+| pointed to by 'zWPtr'. If either original floating-point value is a
+| signaling NaN, the invalid exception is raised. Each of 'aWPtr', 'bWPtr',
+| and 'zWPtr' points to an array of four 32-bit elements that concatenate in
+| the platform's normal endian order to form a 128-bit floating-point value.
+*----------------------------------------------------------------------------*/
+void
+ softfloat_propagateNaNF128M(
+ const uint32_t *aWPtr, const uint32_t *bWPtr, uint32_t *zWPtr );
+
+#endif
+
+#endif
+
diff --git a/deps/SoftFloat-3d/source/extF80M_add.c b/deps/SoftFloat-3e/source/extF80M_add.c
similarity index 95%
rename from deps/SoftFloat-3d/source/extF80M_add.c
rename to deps/SoftFloat-3e/source/extF80M_add.c
index 96ced0947c0df83b2c5cbe10df5696c5632a628f..02e415fcc13329f70b78aeb5223e18be6489fbc9 100644
--- a/deps/SoftFloat-3d/source/extF80M_add.c
+++ b/deps/SoftFloat-3e/source/extF80M_add.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_div.c b/deps/SoftFloat-3e/source/extF80M_div.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_div.c
rename to deps/SoftFloat-3e/source/extF80M_div.c
index 801d42c39e51616438d1aa60ad06a8a761251574..4d543ce9e51093b18acea2620c8fc30406ba7040 100644
--- a/deps/SoftFloat-3d/source/extF80M_div.c
+++ b/deps/SoftFloat-3e/source/extF80M_div.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_eq.c b/deps/SoftFloat-3e/source/extF80M_eq.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_eq.c
rename to deps/SoftFloat-3e/source/extF80M_eq.c
index 4a0c3114e05b3592f7ffe58ba0a210a130337897..e17aa24351e9b01f52a09cd0bdd435cde72144ca 100644
--- a/deps/SoftFloat-3d/source/extF80M_eq.c
+++ b/deps/SoftFloat-3e/source/extF80M_eq.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_eq_signaling.c b/deps/SoftFloat-3e/source/extF80M_eq_signaling.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_eq_signaling.c
rename to deps/SoftFloat-3e/source/extF80M_eq_signaling.c
index 2cf70322de234855801ca908ee2ed9ac5c11954e..c4a7322393ad959886ac5ff946866536a2f83802 100644
--- a/deps/SoftFloat-3d/source/extF80M_eq_signaling.c
+++ b/deps/SoftFloat-3e/source/extF80M_eq_signaling.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_le.c b/deps/SoftFloat-3e/source/extF80M_le.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_le.c
rename to deps/SoftFloat-3e/source/extF80M_le.c
index 67d1662ba5674fe171ee76c2c5447049c72e5895..e54eb9eea095405f6cc3876a56915ecac61ba8d4 100644
--- a/deps/SoftFloat-3d/source/extF80M_le.c
+++ b/deps/SoftFloat-3e/source/extF80M_le.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_le_quiet.c b/deps/SoftFloat-3e/source/extF80M_le_quiet.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_le_quiet.c
rename to deps/SoftFloat-3e/source/extF80M_le_quiet.c
index 9c2fa2eca4bec17c4842fd31fd7b52d5b573c562..943f262061bfe0f65a4e769fea2cff4c260f2beb 100644
--- a/deps/SoftFloat-3d/source/extF80M_le_quiet.c
+++ b/deps/SoftFloat-3e/source/extF80M_le_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_lt.c b/deps/SoftFloat-3e/source/extF80M_lt.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_lt.c
rename to deps/SoftFloat-3e/source/extF80M_lt.c
index c4e95ced2632dd32a8796c4d554a39202705def5..cbc562f64d7cf8bfcac32ef9eac6f103a1ac1dfc 100644
--- a/deps/SoftFloat-3d/source/extF80M_lt.c
+++ b/deps/SoftFloat-3e/source/extF80M_lt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_lt_quiet.c b/deps/SoftFloat-3e/source/extF80M_lt_quiet.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_lt_quiet.c
rename to deps/SoftFloat-3e/source/extF80M_lt_quiet.c
index bcbb22dba720e36df7fdc2f202674216ab77f8de..650586d025a9fb805980d0af5180786f9ccfc5f0 100644
--- a/deps/SoftFloat-3d/source/extF80M_lt_quiet.c
+++ b/deps/SoftFloat-3e/source/extF80M_lt_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_mul.c b/deps/SoftFloat-3e/source/extF80M_mul.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_mul.c
rename to deps/SoftFloat-3e/source/extF80M_mul.c
index aaf4d0a13343b702d110cf1ded226faa55fcf636..281394f713f5ec2051b220e3fca1d6557139a755 100644
--- a/deps/SoftFloat-3d/source/extF80M_mul.c
+++ b/deps/SoftFloat-3e/source/extF80M_mul.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_rem.c b/deps/SoftFloat-3e/source/extF80M_rem.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_rem.c
rename to deps/SoftFloat-3e/source/extF80M_rem.c
index c8e4e50b9fdca2a78fee50f4583949541c8ebd52..4aff18ae979163fa253e5d677971699ee0bb1e4f 100644
--- a/deps/SoftFloat-3d/source/extF80M_rem.c
+++ b/deps/SoftFloat-3e/source/extF80M_rem.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_roundToInt.c b/deps/SoftFloat-3e/source/extF80M_roundToInt.c
similarity index 87%
rename from deps/SoftFloat-3d/source/extF80M_roundToInt.c
rename to deps/SoftFloat-3e/source/extF80M_roundToInt.c
index 409600bcf36cf0a59e12565936e169327b45fe3c..2e85729571103d06371f288ec0207cbc9bfcb439 100644
--- a/deps/SoftFloat-3d/source/extF80M_roundToInt.c
+++ b/deps/SoftFloat-3e/source/extF80M_roundToInt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
California. All rights reserved.
@@ -86,8 +86,8 @@ void
sigA = aSPtr->signif;
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
- if ( ! (sigA & UINT64_C( 0x8000000000000000 )) && (exp != 0x7FFF) ) {
- if ( ! sigA ) {
+ if ( !(sigA & UINT64_C( 0x8000000000000000 )) && (exp != 0x7FFF) ) {
+ if ( !sigA ) {
uiZ64 = signUI64;
sigZ = 0;
goto uiZ;
@@ -100,7 +100,7 @@ void
if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
switch ( roundingMode ) {
case softfloat_round_near_even:
- if ( ! (sigA & UINT64_C( 0x7FFFFFFFFFFFFFFF )) ) break;
+ if ( !(sigA & UINT64_C( 0x7FFFFFFFFFFFFFFF )) ) break;
case softfloat_round_near_maxMag:
if ( exp == 0x3FFE ) goto mag1;
break;
@@ -108,8 +108,12 @@ void
if ( signUI64 ) goto mag1;
break;
case softfloat_round_max:
- if ( ! signUI64 ) goto mag1;
+ if ( !signUI64 ) goto mag1;
break;
+#ifdef SOFTFLOAT_ROUND_ODD
+ case softfloat_round_odd:
+ goto mag1;
+#endif
}
uiZ64 = signUI64;
sigZ = 0;
@@ -144,19 +148,22 @@ void
sigZ += lastBitMask>>1;
} else if ( roundingMode == softfloat_round_near_even ) {
sigZ += lastBitMask>>1;
- if ( ! (sigZ & roundBitsMask) ) sigZ &= ~lastBitMask;
+ if ( !(sigZ & roundBitsMask) ) sigZ &= ~lastBitMask;
} else if (
roundingMode == (signUI64 ? softfloat_round_min : softfloat_round_max)
) {
sigZ += roundBitsMask;
}
sigZ &= ~roundBitsMask;
- if ( ! sigZ ) {
+ if ( !sigZ ) {
++uiZ64;
sigZ = UINT64_C( 0x8000000000000000 );
}
- if ( exact && (sigZ != sigA) ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( sigZ != sigA ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) sigZ |= lastBitMask;
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
uiZ:
zSPtr->signExp = uiZ64;
diff --git a/deps/SoftFloat-3d/source/extF80M_sqrt.c b/deps/SoftFloat-3e/source/extF80M_sqrt.c
similarity index 97%
rename from deps/SoftFloat-3d/source/extF80M_sqrt.c
rename to deps/SoftFloat-3e/source/extF80M_sqrt.c
index 66e90e087c32ece2370d7c9244b1b1113f47af15..7ee91e0e5765e8812a72be9c6fca8f07ad8d2ea9 100644
--- a/deps/SoftFloat-3d/source/extF80M_sqrt.c
+++ b/deps/SoftFloat-3e/source/extF80M_sqrt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_sub.c b/deps/SoftFloat-3e/source/extF80M_sub.c
similarity index 95%
rename from deps/SoftFloat-3d/source/extF80M_sub.c
rename to deps/SoftFloat-3e/source/extF80M_sub.c
index a3834d2e4660964e22c0ca7e855963b1a4d64695..5d1895c7a02876f7d69bc333ab58c88bcd6421cd 100644
--- a/deps/SoftFloat-3d/source/extF80M_sub.c
+++ b/deps/SoftFloat-3e/source/extF80M_sub.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_f128M.c b/deps/SoftFloat-3e/source/extF80M_to_f128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_f128M.c
rename to deps/SoftFloat-3e/source/extF80M_to_f128M.c
index 50b7245020f733382f1af2cd0e2dd0e61c68bfe3..da81e8d6b32637ac536b0810fddce041f1a0cfe4 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_f128M.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_f128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_f16.c b/deps/SoftFloat-3e/source/extF80M_to_f16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_f16.c
rename to deps/SoftFloat-3e/source/extF80M_to_f16.c
index 34d1521e76bed81d47f0927668fb3653e88daf42..5ae38d0c4b8a959635ea4c7405a7949222f27dbc 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_f16.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_f16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_f32.c b/deps/SoftFloat-3e/source/extF80M_to_f32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_f32.c
rename to deps/SoftFloat-3e/source/extF80M_to_f32.c
index a7c16fc2a7072dbad5cdbf263d3a1e1eed34f404..47cf224dc1f8514f119c914c5e31f28107aa0002 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_f32.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_f32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_f64.c b/deps/SoftFloat-3e/source/extF80M_to_f64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_f64.c
rename to deps/SoftFloat-3e/source/extF80M_to_f64.c
index aa795e97c4fe8b5aa3cbee75c04ecab5696ebcf0..5f8f4aa2998b7e5c7ed9b39c87d773bf17246827 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_f64.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_f64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_i32.c b/deps/SoftFloat-3e/source/extF80M_to_i32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_i32.c
rename to deps/SoftFloat-3e/source/extF80M_to_i32.c
index 2d4d86623671be6bdc2d72297eb2b2fd7a1ff113..06394e34181f11e88697166b72a96be4b315fb8a 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_i32.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_i32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_i32_r_minMag.c b/deps/SoftFloat-3e/source/extF80M_to_i32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_i32_r_minMag.c
rename to deps/SoftFloat-3e/source/extF80M_to_i32_r_minMag.c
index 607f23c0167c5eb4db2e2b8994d4cca954efbdb6..5f5cf599df94cc258be33c3b2bc16d4c7710fd8e 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_i32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_i32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_i64.c b/deps/SoftFloat-3e/source/extF80M_to_i64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_i64.c
rename to deps/SoftFloat-3e/source/extF80M_to_i64.c
index 700bd5d2ded6cbb8456cdffb7a3921c072de154d..1b751dc8ec239f93d8056805dc10cddc5ce5f91f 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_i64.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_i64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_i64_r_minMag.c b/deps/SoftFloat-3e/source/extF80M_to_i64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_i64_r_minMag.c
rename to deps/SoftFloat-3e/source/extF80M_to_i64_r_minMag.c
index 78258b7d57212c7ad4231d3833447ec637ee33a1..ec9b92844c97cec7bf48b9c90f6f45eb799a526a 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_i64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_i64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_ui32.c b/deps/SoftFloat-3e/source/extF80M_to_ui32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_ui32.c
rename to deps/SoftFloat-3e/source/extF80M_to_ui32.c
index 9e88d6c0a8148fa3994bea2b4f32ee3dde81ac82..983a1ee3416043d9d0c3842c4a9ccfc0bd3cacd3 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_ui32.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_ui32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_ui32_r_minMag.c b/deps/SoftFloat-3e/source/extF80M_to_ui32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_ui32_r_minMag.c
rename to deps/SoftFloat-3e/source/extF80M_to_ui32_r_minMag.c
index e8be450e6b24c7b737b6a9a478c78613190d8217..e28b08d70d2ad9e3e83bbcd3d1219f73df25ba5c 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_ui32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_ui32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_ui64.c b/deps/SoftFloat-3e/source/extF80M_to_ui64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_ui64.c
rename to deps/SoftFloat-3e/source/extF80M_to_ui64.c
index 96a8b6ec7a7f1fab94498f74d8107c8ebbf13d2f..9d4ef4a52c47d6e79365b8d021c680757d775a37 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_ui64.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_ui64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80M_to_ui64_r_minMag.c b/deps/SoftFloat-3e/source/extF80M_to_ui64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80M_to_ui64_r_minMag.c
rename to deps/SoftFloat-3e/source/extF80M_to_ui64_r_minMag.c
index ea4724badf3d00ab488f94ab726abbd28fda3c7e..87d80897b7828e1986a9a16d53230b6adb484e0c 100644
--- a/deps/SoftFloat-3d/source/extF80M_to_ui64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/extF80M_to_ui64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_add.c b/deps/SoftFloat-3e/source/extF80_add.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_add.c
rename to deps/SoftFloat-3e/source/extF80_add.c
index ecfcb47d37040daf22b9baa73cc175614931fdfe..164cb05de0df21046ace9ee52351c39b6614ce66 100644
--- a/deps/SoftFloat-3d/source/extF80_add.c
+++ b/deps/SoftFloat-3e/source/extF80_add.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_div.c b/deps/SoftFloat-3e/source/extF80_div.c
similarity index 97%
rename from deps/SoftFloat-3d/source/extF80_div.c
rename to deps/SoftFloat-3e/source/extF80_div.c
index a784ac9229317d927a30a9ed99d19278d29ce2d5..28dfb13de8e28d5c751127534074640f8537bf4f 100644
--- a/deps/SoftFloat-3d/source/extF80_div.c
+++ b/deps/SoftFloat-3e/source/extF80_div.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_eq.c b/deps/SoftFloat-3e/source/extF80_eq.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_eq.c
rename to deps/SoftFloat-3e/source/extF80_eq.c
index 89c9c3192b64a97ca0db97651371c623196898dd..efcbc37143c5118357c61caded6f301077144e95 100644
--- a/deps/SoftFloat-3d/source/extF80_eq.c
+++ b/deps/SoftFloat-3e/source/extF80_eq.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_eq_signaling.c b/deps/SoftFloat-3e/source/extF80_eq_signaling.c
similarity index 95%
rename from deps/SoftFloat-3d/source/extF80_eq_signaling.c
rename to deps/SoftFloat-3e/source/extF80_eq_signaling.c
index 7041cc0d1b0f78eede2f45b085ceae6618a76382..193b191e6cf8c61bed3db665742dc8f6a975a0b8 100644
--- a/deps/SoftFloat-3d/source/extF80_eq_signaling.c
+++ b/deps/SoftFloat-3e/source/extF80_eq_signaling.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_isSignalingNaN.c b/deps/SoftFloat-3e/source/extF80_isSignalingNaN.c
similarity index 95%
rename from deps/SoftFloat-3d/source/extF80_isSignalingNaN.c
rename to deps/SoftFloat-3e/source/extF80_isSignalingNaN.c
index d87f71a11f588f521fda83c5f5e0158911a2feac..33d2abd7e9bf0189749902bf00564afa1bffbe77 100644
--- a/deps/SoftFloat-3d/source/extF80_isSignalingNaN.c
+++ b/deps/SoftFloat-3e/source/extF80_isSignalingNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_le.c b/deps/SoftFloat-3e/source/extF80_le.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_le.c
rename to deps/SoftFloat-3e/source/extF80_le.c
index 07089d48de2b71a41598fd0c6c5bd2649ac0bac9..4e23c5142007d3d8681541d3530c29e6f706c63b 100644
--- a/deps/SoftFloat-3d/source/extF80_le.c
+++ b/deps/SoftFloat-3e/source/extF80_le.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_le_quiet.c b/deps/SoftFloat-3e/source/extF80_le_quiet.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_le_quiet.c
rename to deps/SoftFloat-3e/source/extF80_le_quiet.c
index dda1da96a433bd95f822267eccf10bf993713088..9839e47f9e01143609e8f480f6e90272b0d54019 100644
--- a/deps/SoftFloat-3d/source/extF80_le_quiet.c
+++ b/deps/SoftFloat-3e/source/extF80_le_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_lt.c b/deps/SoftFloat-3e/source/extF80_lt.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_lt.c
rename to deps/SoftFloat-3e/source/extF80_lt.c
index 41e4179fb737116d229d51d3468a6f2cae3b27ab..a4ac69fa6c2337371ba23cb432054a3dec30d9fa 100644
--- a/deps/SoftFloat-3d/source/extF80_lt.c
+++ b/deps/SoftFloat-3e/source/extF80_lt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_lt_quiet.c b/deps/SoftFloat-3e/source/extF80_lt_quiet.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_lt_quiet.c
rename to deps/SoftFloat-3e/source/extF80_lt_quiet.c
index ada79ecc7bd8d74d78b6a8a209925d150ac4123b..00f4d47687711930f88d468ec8043489c2ffe885 100644
--- a/deps/SoftFloat-3d/source/extF80_lt_quiet.c
+++ b/deps/SoftFloat-3e/source/extF80_lt_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_mul.c b/deps/SoftFloat-3e/source/extF80_mul.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_mul.c
rename to deps/SoftFloat-3e/source/extF80_mul.c
index afe9ff7d81de52a9ec0cc6dee243145e2f59ebb9..39ce4012c454f6b1e77f56bcb540b286ac563736 100644
--- a/deps/SoftFloat-3d/source/extF80_mul.c
+++ b/deps/SoftFloat-3e/source/extF80_mul.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_rem.c b/deps/SoftFloat-3e/source/extF80_rem.c
similarity index 97%
rename from deps/SoftFloat-3d/source/extF80_rem.c
rename to deps/SoftFloat-3e/source/extF80_rem.c
index 7229c021fb4edaa8b4b1130f94ca8debdfdf8fc1..5ad977526241760c7c2344cce1a9e28ce314e6fc 100644
--- a/deps/SoftFloat-3d/source/extF80_rem.c
+++ b/deps/SoftFloat-3e/source/extF80_rem.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_roundToInt.c b/deps/SoftFloat-3e/source/extF80_roundToInt.c
similarity index 86%
rename from deps/SoftFloat-3d/source/extF80_roundToInt.c
rename to deps/SoftFloat-3e/source/extF80_roundToInt.c
index 9b424ed40e534609d3c8c86abaf6c08c038e13ec..6c12d84c9e9fdc5be58b922a07db87677a6ebb28 100644
--- a/deps/SoftFloat-3d/source/extF80_roundToInt.c
+++ b/deps/SoftFloat-3e/source/extF80_roundToInt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
California. All rights reserved.
@@ -64,8 +64,8 @@ extFloat80_t
sigA = uA.s.signif;
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
- if ( ! (sigA & UINT64_C( 0x8000000000000000 )) && (exp != 0x7FFF) ) {
- if ( ! sigA ) {
+ if ( !(sigA & UINT64_C( 0x8000000000000000 )) && (exp != 0x7FFF) ) {
+ if ( !sigA ) {
uiZ64 = signUI64;
sigZ = 0;
goto uiZ;
@@ -95,7 +95,7 @@ extFloat80_t
if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
switch ( roundingMode ) {
case softfloat_round_near_even:
- if ( ! (sigA & UINT64_C( 0x7FFFFFFFFFFFFFFF )) ) break;
+ if ( !(sigA & UINT64_C( 0x7FFFFFFFFFFFFFFF )) ) break;
case softfloat_round_near_maxMag:
if ( exp == 0x3FFE ) goto mag1;
break;
@@ -103,8 +103,12 @@ extFloat80_t
if ( signUI64 ) goto mag1;
break;
case softfloat_round_max:
- if ( ! signUI64 ) goto mag1;
+ if ( !signUI64 ) goto mag1;
break;
+#ifdef SOFTFLOAT_ROUND_ODD
+ case softfloat_round_odd:
+ goto mag1;
+#endif
}
uiZ64 = signUI64;
sigZ = 0;
@@ -124,19 +128,22 @@ extFloat80_t
sigZ += lastBitMask>>1;
} else if ( roundingMode == softfloat_round_near_even ) {
sigZ += lastBitMask>>1;
- if ( ! (sigZ & roundBitsMask) ) sigZ &= ~lastBitMask;
+ if ( !(sigZ & roundBitsMask) ) sigZ &= ~lastBitMask;
} else if (
roundingMode == (signUI64 ? softfloat_round_min : softfloat_round_max)
) {
sigZ += roundBitsMask;
}
sigZ &= ~roundBitsMask;
- if ( ! sigZ ) {
+ if ( !sigZ ) {
++uiZ64;
sigZ = UINT64_C( 0x8000000000000000 );
}
- if ( exact && (sigZ != sigA) ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( sigZ != sigA ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) sigZ |= lastBitMask;
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
uiZ:
uZ.s.signExp = uiZ64;
diff --git a/deps/SoftFloat-3d/source/extF80_sqrt.c b/deps/SoftFloat-3e/source/extF80_sqrt.c
similarity index 97%
rename from deps/SoftFloat-3d/source/extF80_sqrt.c
rename to deps/SoftFloat-3e/source/extF80_sqrt.c
index 7596832e944cd662825e128b28ec12506181b2f5..af8c496e1432ba3df3d924383509b7abb19ba201 100644
--- a/deps/SoftFloat-3d/source/extF80_sqrt.c
+++ b/deps/SoftFloat-3e/source/extF80_sqrt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_sub.c b/deps/SoftFloat-3e/source/extF80_sub.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_sub.c
rename to deps/SoftFloat-3e/source/extF80_sub.c
index 618b6a6d56ae7cf27afd83c93ebd4bdcf824fc6f..770c7563a2486a8008ac6da16200e204169f02fc 100644
--- a/deps/SoftFloat-3d/source/extF80_sub.c
+++ b/deps/SoftFloat-3e/source/extF80_sub.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_f128.c b/deps/SoftFloat-3e/source/extF80_to_f128.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_f128.c
rename to deps/SoftFloat-3e/source/extF80_to_f128.c
index ea470004e736699fe6707c85e51e47e23f6661e7..4de90ae3166acf99fbca78a54368dc457cecf99c 100644
--- a/deps/SoftFloat-3d/source/extF80_to_f128.c
+++ b/deps/SoftFloat-3e/source/extF80_to_f128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_f16.c b/deps/SoftFloat-3e/source/extF80_to_f16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_f16.c
rename to deps/SoftFloat-3e/source/extF80_to_f16.c
index bec5ce92fe109ea797f4f7ca059a275f3697a7fc..5919403fb9c416fb1f3518e29becd93ef9c2e072 100644
--- a/deps/SoftFloat-3d/source/extF80_to_f16.c
+++ b/deps/SoftFloat-3e/source/extF80_to_f16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_f32.c b/deps/SoftFloat-3e/source/extF80_to_f32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_f32.c
rename to deps/SoftFloat-3e/source/extF80_to_f32.c
index d6364facc9b1b6b01ef1abda775190cfc621a94f..77fcfdc112ec0896f7264502635b7c64e0eed59d 100644
--- a/deps/SoftFloat-3d/source/extF80_to_f32.c
+++ b/deps/SoftFloat-3e/source/extF80_to_f32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_f64.c b/deps/SoftFloat-3e/source/extF80_to_f64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_f64.c
rename to deps/SoftFloat-3e/source/extF80_to_f64.c
index ca8445d297e7331569905deee86dd1ab59eed1f3..410d6622c4f0dced30fe1ab5c38558c3bd17f124 100644
--- a/deps/SoftFloat-3d/source/extF80_to_f64.c
+++ b/deps/SoftFloat-3e/source/extF80_to_f64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_i32.c b/deps/SoftFloat-3e/source/extF80_to_i32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_i32.c
rename to deps/SoftFloat-3e/source/extF80_to_i32.c
index 3ee282d73eb1a20923fb582a00f0001bef8997f4..9acdc3c9bc73b0add39829dc2d1cb4613040f590 100644
--- a/deps/SoftFloat-3d/source/extF80_to_i32.c
+++ b/deps/SoftFloat-3e/source/extF80_to_i32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_i32_r_minMag.c b/deps/SoftFloat-3e/source/extF80_to_i32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_i32_r_minMag.c
rename to deps/SoftFloat-3e/source/extF80_to_i32_r_minMag.c
index ee6edbc6ef23217fd715a2654000a7db6d3279e3..03224678a1833e81804ebb8c643ed5269af8b15f 100644
--- a/deps/SoftFloat-3d/source/extF80_to_i32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/extF80_to_i32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_i64.c b/deps/SoftFloat-3e/source/extF80_to_i64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_i64.c
rename to deps/SoftFloat-3e/source/extF80_to_i64.c
index 56c66a3a9c7e153d193eaaab97615df540d97bcb..ba307a61c6edf9f501a8bee65397fdd5d8a9da37 100644
--- a/deps/SoftFloat-3d/source/extF80_to_i64.c
+++ b/deps/SoftFloat-3e/source/extF80_to_i64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_i64_r_minMag.c b/deps/SoftFloat-3e/source/extF80_to_i64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_i64_r_minMag.c
rename to deps/SoftFloat-3e/source/extF80_to_i64_r_minMag.c
index d236f31f5a6aaa643a98a8cbf0fbcf50e04b69e4..8871d01d107e7ed5052c1bbad10c4603f6826540 100644
--- a/deps/SoftFloat-3d/source/extF80_to_i64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/extF80_to_i64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_ui32.c b/deps/SoftFloat-3e/source/extF80_to_ui32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_ui32.c
rename to deps/SoftFloat-3e/source/extF80_to_ui32.c
index 09e0b32b7c61ddd5aa43bbd1c26b17dc7d8d8cb0..581297731d7c71cbb958f82f61b01ce5a35edd8d 100644
--- a/deps/SoftFloat-3d/source/extF80_to_ui32.c
+++ b/deps/SoftFloat-3e/source/extF80_to_ui32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_ui32_r_minMag.c b/deps/SoftFloat-3e/source/extF80_to_ui32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_ui32_r_minMag.c
rename to deps/SoftFloat-3e/source/extF80_to_ui32_r_minMag.c
index 3ad924d572631d63929db04f96853231c08373f9..be2c53b1d20d2057ef19ce01d2b3a19f5d6cd330 100644
--- a/deps/SoftFloat-3d/source/extF80_to_ui32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/extF80_to_ui32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_ui64.c b/deps/SoftFloat-3e/source/extF80_to_ui64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_ui64.c
rename to deps/SoftFloat-3e/source/extF80_to_ui64.c
index eee585da9484f432d4796c110b554f4abf01aa7a..490b26aaf033671e2ae1a8de38278cc8f919dfd9 100644
--- a/deps/SoftFloat-3d/source/extF80_to_ui64.c
+++ b/deps/SoftFloat-3e/source/extF80_to_ui64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/extF80_to_ui64_r_minMag.c b/deps/SoftFloat-3e/source/extF80_to_ui64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/extF80_to_ui64_r_minMag.c
rename to deps/SoftFloat-3e/source/extF80_to_ui64_r_minMag.c
index 344ff99c906fdd3870bc540dc03479010a0d176d..eca688c6523639f63289bed02c7e2ecc5568fa44 100644
--- a/deps/SoftFloat-3d/source/extF80_to_ui64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/extF80_to_ui64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_add.c b/deps/SoftFloat-3e/source/f128M_add.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f128M_add.c
rename to deps/SoftFloat-3e/source/f128M_add.c
index 10f73dcf8d3260840e12d45fd7077fd7167f6d11..3062bee84384476cce225829be502644e85fcf10 100644
--- a/deps/SoftFloat-3d/source/f128M_add.c
+++ b/deps/SoftFloat-3e/source/f128M_add.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_div.c b/deps/SoftFloat-3e/source/f128M_div.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_div.c
rename to deps/SoftFloat-3e/source/f128M_div.c
index 7380a20bcd146cad584b6675a050173653cd3d76..b443548f5286449f59a793af17133998d15096c1 100644
--- a/deps/SoftFloat-3d/source/f128M_div.c
+++ b/deps/SoftFloat-3e/source/f128M_div.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_eq.c b/deps/SoftFloat-3e/source/f128M_eq.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_eq.c
rename to deps/SoftFloat-3e/source/f128M_eq.c
index 2af4c4b074e4eb8f07f6d9a310deeed404aeeb5a..497fdbf6f0377e9ff23539143e3dd3594b1c4dec 100644
--- a/deps/SoftFloat-3d/source/f128M_eq.c
+++ b/deps/SoftFloat-3e/source/f128M_eq.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_eq_signaling.c b/deps/SoftFloat-3e/source/f128M_eq_signaling.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_eq_signaling.c
rename to deps/SoftFloat-3e/source/f128M_eq_signaling.c
index de698fce292fc33901e86b085c24bfc55c4ce007..a9fa4d5101fbee761fc8bc2b289d0ad0dfe1839a 100644
--- a/deps/SoftFloat-3d/source/f128M_eq_signaling.c
+++ b/deps/SoftFloat-3e/source/f128M_eq_signaling.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_le.c b/deps/SoftFloat-3e/source/f128M_le.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_le.c
rename to deps/SoftFloat-3e/source/f128M_le.c
index fb6a389d824ddc77fe9880b06acf1647135139b3..7306e45c363cdce2e49eaea793e1e4ca147c066a 100644
--- a/deps/SoftFloat-3d/source/f128M_le.c
+++ b/deps/SoftFloat-3e/source/f128M_le.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_le_quiet.c b/deps/SoftFloat-3e/source/f128M_le_quiet.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_le_quiet.c
rename to deps/SoftFloat-3e/source/f128M_le_quiet.c
index bbd978a54a3ff55a7ce81d6c98d65daf3ce27563..d9e442942d625ec27ff7bac66395c0f2b31b9979 100644
--- a/deps/SoftFloat-3d/source/f128M_le_quiet.c
+++ b/deps/SoftFloat-3e/source/f128M_le_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_lt.c b/deps/SoftFloat-3e/source/f128M_lt.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_lt.c
rename to deps/SoftFloat-3e/source/f128M_lt.c
index c1c4aa404621c9baa0db1a8ac7d53717d3de48a1..d2f797feaff3e7789cb7bf03cb171eb1f8ac377d 100644
--- a/deps/SoftFloat-3d/source/f128M_lt.c
+++ b/deps/SoftFloat-3e/source/f128M_lt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_lt_quiet.c b/deps/SoftFloat-3e/source/f128M_lt_quiet.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_lt_quiet.c
rename to deps/SoftFloat-3e/source/f128M_lt_quiet.c
index 6ea3adac0fd9aa22cd0db037af76e8572c0e3fc9..adbddea71caff3a1e093e7602b6f79611495de3c 100644
--- a/deps/SoftFloat-3d/source/f128M_lt_quiet.c
+++ b/deps/SoftFloat-3e/source/f128M_lt_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_mul.c b/deps/SoftFloat-3e/source/f128M_mul.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_mul.c
rename to deps/SoftFloat-3e/source/f128M_mul.c
index f242551317a35a690579d2ac64ef7fa116552ff7..4b8292a27a7207736cfe721f03d595347eb54e5d 100644
--- a/deps/SoftFloat-3d/source/f128M_mul.c
+++ b/deps/SoftFloat-3e/source/f128M_mul.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_mulAdd.c b/deps/SoftFloat-3e/source/f128M_mulAdd.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f128M_mulAdd.c
rename to deps/SoftFloat-3e/source/f128M_mulAdd.c
index 0e19914c2ccb7fdcb73733e447295a5ea28ef25c..2b0b7fe26e69df4b9b2b1f581cebe8324b65a0f4 100644
--- a/deps/SoftFloat-3d/source/f128M_mulAdd.c
+++ b/deps/SoftFloat-3e/source/f128M_mulAdd.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_rem.c b/deps/SoftFloat-3e/source/f128M_rem.c
similarity index 97%
rename from deps/SoftFloat-3d/source/f128M_rem.c
rename to deps/SoftFloat-3e/source/f128M_rem.c
index ba78f2a61f0a75db32f823baf69ae081526f034f..39aafdd6ad5c4600af75ba5bf4b958119a9604a3 100644
--- a/deps/SoftFloat-3d/source/f128M_rem.c
+++ b/deps/SoftFloat-3e/source/f128M_rem.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_roundToInt.c b/deps/SoftFloat-3e/source/f128M_roundToInt.c
similarity index 83%
rename from deps/SoftFloat-3d/source/f128M_roundToInt.c
rename to deps/SoftFloat-3e/source/f128M_roundToInt.c
index 237c52cb47c4649a48d6eb7fcc30536d6c7c6981..b96d742b214b64730f1045805230b53a3f58353a 100644
--- a/deps/SoftFloat-3d/source/f128M_roundToInt.c
+++ b/deps/SoftFloat-3e/source/f128M_roundToInt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
California. All rights reserved.
@@ -95,15 +95,15 @@ void
zWPtr[indexWord( 4, 1 )] = 0;
zWPtr[indexWord( 4, 0 )] = 0;
sigExtra = aWPtr[indexWord( 4, 2 )];
- if ( ! sigExtra ) {
+ if ( !sigExtra ) {
sigExtra = aWPtr[indexWord( 4, 1 )] | aWPtr[indexWord( 4, 0 )];
}
- if ( ! sigExtra && ! (ui96 & 0x7FFFFFFF) ) goto ui96;
+ if ( !sigExtra && !(ui96 & 0x7FFFFFFF) ) goto ui96;
if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
sign = signF128UI96( ui96 );
switch ( roundingMode ) {
case softfloat_round_near_even:
- if ( ! fracF128UI96( ui96 ) && ! sigExtra ) break;
+ if ( !fracF128UI96( ui96 ) && !sigExtra ) break;
case softfloat_round_near_maxMag:
if ( exp == 0x3FFE ) goto mag1;
break;
@@ -111,8 +111,12 @@ void
if ( sign ) goto mag1;
break;
case softfloat_round_max:
- if ( ! sign ) goto mag1;
+ if ( !sign ) goto mag1;
break;
+#ifdef SOFTFLOAT_ROUND_ODD
+ case softfloat_round_odd:
+ goto mag1;
+#endif
}
ui96 = packToF128UI96( sign, 0, 0 );
goto ui96;
@@ -161,32 +165,40 @@ void
carry = (wordZ < wordA);
bit <<= 1;
extrasMask = bit - 1;
+ if ( exact && (extra || (wordA & extrasMask)) ) {
+ softfloat_exceptionFlags |= softfloat_flag_inexact;
+ }
if (
(roundingMode == softfloat_round_near_even)
- && ! extra && ! (wordZ & extrasMask)
+ && !extra && !(wordZ & extrasMask)
) {
- if ( ! bit ) {
+ if ( !bit ) {
zWPtr[index] = wordZ;
index += wordIncr;
wordZ = aWPtr[index] + carry;
- carry &= ! wordZ;
+ carry &= !wordZ;
zWPtr[index] = wordZ & ~1;
goto propagateCarry;
}
wordZ &= ~bit;
}
} else {
- extrasMask = bit - 1;
wordZ = wordA;
carry = 0;
- if (
- roundingMode
- == (signF128UI96( ui96 ) ? softfloat_round_min
- : softfloat_round_max)
- ) {
- if ( extra || (wordA & extrasMask) ) {
+ extrasMask = bit - 1;
+ if ( extra || (wordA & extrasMask) ) {
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if (
+ roundingMode
+ == (signF128UI96( ui96 ) ? softfloat_round_min
+ : softfloat_round_max)
+ ) {
wordZ += bit;
carry = (wordZ < wordA);
+#ifdef SOFTFLOAT_ROUND_ODD
+ } else if ( roundingMode == softfloat_round_odd ) {
+ wordZ |= bit;
+#endif
}
}
}
@@ -197,12 +209,7 @@ void
index += wordIncr;
wordZ = aWPtr[index] + carry;
zWPtr[index] = wordZ;
- carry &= ! wordZ;
- }
- /*------------------------------------------------------------------------
- *------------------------------------------------------------------------*/
- if ( exact && (softfloat_compare128M( aWPtr, zWPtr ) != 0) ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ carry &= !wordZ;
}
return;
/*------------------------------------------------------------------------
diff --git a/deps/SoftFloat-3d/source/f128M_sqrt.c b/deps/SoftFloat-3e/source/f128M_sqrt.c
similarity index 97%
rename from deps/SoftFloat-3d/source/f128M_sqrt.c
rename to deps/SoftFloat-3e/source/f128M_sqrt.c
index d697f9ae188e220c76b21d401e9fb6ae5eb1412e..a984208037a3d4929c072513969891e201e2376e 100644
--- a/deps/SoftFloat-3d/source/f128M_sqrt.c
+++ b/deps/SoftFloat-3e/source/f128M_sqrt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_sub.c b/deps/SoftFloat-3e/source/f128M_sub.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f128M_sub.c
rename to deps/SoftFloat-3e/source/f128M_sub.c
index 78ed09eeae2e9716336b63823233539b7e67329a..5d65c799f31fe1a5b7c589b2a9ce799527c9a9b2 100644
--- a/deps/SoftFloat-3d/source/f128M_sub.c
+++ b/deps/SoftFloat-3e/source/f128M_sub.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_extF80M.c b/deps/SoftFloat-3e/source/f128M_to_extF80M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_extF80M.c
rename to deps/SoftFloat-3e/source/f128M_to_extF80M.c
index 973988ddae9d49653f195aaafa231ba3613899e1..b0340c794854fd324eedb215a10e4de1bd2e0b4f 100644
--- a/deps/SoftFloat-3d/source/f128M_to_extF80M.c
+++ b/deps/SoftFloat-3e/source/f128M_to_extF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_f16.c b/deps/SoftFloat-3e/source/f128M_to_f16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_f16.c
rename to deps/SoftFloat-3e/source/f128M_to_f16.c
index 70f97134e131904d8fab9f14d16ee9be568bc4ad..95109a771d700423cc180b3f11ca7e8ea92a5bc4 100644
--- a/deps/SoftFloat-3d/source/f128M_to_f16.c
+++ b/deps/SoftFloat-3e/source/f128M_to_f16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_f32.c b/deps/SoftFloat-3e/source/f128M_to_f32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_f32.c
rename to deps/SoftFloat-3e/source/f128M_to_f32.c
index ba3122c2b39a68c3fca97de3e2724e013599a4f2..4542deb0c384b7592a4976ac66d72f4dc7d784bc 100644
--- a/deps/SoftFloat-3d/source/f128M_to_f32.c
+++ b/deps/SoftFloat-3e/source/f128M_to_f32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_f64.c b/deps/SoftFloat-3e/source/f128M_to_f64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_f64.c
rename to deps/SoftFloat-3e/source/f128M_to_f64.c
index 7d7e7be66069e65164a3744bd2c6d26498e071f3..6213bb7f50a26197960fecc8cc6fafc1aa2975da 100644
--- a/deps/SoftFloat-3d/source/f128M_to_f64.c
+++ b/deps/SoftFloat-3e/source/f128M_to_f64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_i32.c b/deps/SoftFloat-3e/source/f128M_to_i32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_i32.c
rename to deps/SoftFloat-3e/source/f128M_to_i32.c
index 24ea2e674a1e783a02a23e9e6ff7fda7256a7f05..54cc6f60373764381ea613001db194e77bc7fd09 100644
--- a/deps/SoftFloat-3d/source/f128M_to_i32.c
+++ b/deps/SoftFloat-3e/source/f128M_to_i32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_i32_r_minMag.c b/deps/SoftFloat-3e/source/f128M_to_i32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_i32_r_minMag.c
rename to deps/SoftFloat-3e/source/f128M_to_i32_r_minMag.c
index 7a952edae2138838311b368ba2882b3b3f0276c1..1f22039dedb3962a841b1a598a163025034d1543 100644
--- a/deps/SoftFloat-3d/source/f128M_to_i32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f128M_to_i32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_i64.c b/deps/SoftFloat-3e/source/f128M_to_i64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_i64.c
rename to deps/SoftFloat-3e/source/f128M_to_i64.c
index 67ef7a2bc0f306e34a2dd7d0e7589cb29fe979ac..08844b6be6a78291700a56065b2d820c9252a2f4 100644
--- a/deps/SoftFloat-3d/source/f128M_to_i64.c
+++ b/deps/SoftFloat-3e/source/f128M_to_i64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_i64_r_minMag.c b/deps/SoftFloat-3e/source/f128M_to_i64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_i64_r_minMag.c
rename to deps/SoftFloat-3e/source/f128M_to_i64_r_minMag.c
index ec27dc1f31b5b8d24296ebefb001980de7aa11f0..da3d28ad0b938d679a30d200dda7c9bb1e359f6b 100644
--- a/deps/SoftFloat-3d/source/f128M_to_i64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f128M_to_i64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_ui32.c b/deps/SoftFloat-3e/source/f128M_to_ui32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_ui32.c
rename to deps/SoftFloat-3e/source/f128M_to_ui32.c
index ff8d6c42b4b219cae9959db1477c21505e16a8b4..c1baa063a6dcdc8327832a4160cc6140e0c174a7 100644
--- a/deps/SoftFloat-3d/source/f128M_to_ui32.c
+++ b/deps/SoftFloat-3e/source/f128M_to_ui32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_ui32_r_minMag.c b/deps/SoftFloat-3e/source/f128M_to_ui32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_ui32_r_minMag.c
rename to deps/SoftFloat-3e/source/f128M_to_ui32_r_minMag.c
index 950d8380383353d5c6d6418c9fe54802c50c3f6b..a1aca621ab38a5f11ac17264e1785215f82361ca 100644
--- a/deps/SoftFloat-3d/source/f128M_to_ui32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f128M_to_ui32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_ui64.c b/deps/SoftFloat-3e/source/f128M_to_ui64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_ui64.c
rename to deps/SoftFloat-3e/source/f128M_to_ui64.c
index 2b6858c45530e83602eb38bb885e8c2043d7dd96..abaa85543eae61f384ec1170962dde84019de9f9 100644
--- a/deps/SoftFloat-3d/source/f128M_to_ui64.c
+++ b/deps/SoftFloat-3e/source/f128M_to_ui64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128M_to_ui64_r_minMag.c b/deps/SoftFloat-3e/source/f128M_to_ui64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128M_to_ui64_r_minMag.c
rename to deps/SoftFloat-3e/source/f128M_to_ui64_r_minMag.c
index f4f99d90e4930f14b7ec88f8dcceca9178ec3593..7a1b602959c15385c6588093a8a4f6688e205cdd 100644
--- a/deps/SoftFloat-3d/source/f128M_to_ui64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f128M_to_ui64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_add.c b/deps/SoftFloat-3e/source/f128_add.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_add.c
rename to deps/SoftFloat-3e/source/f128_add.c
index d04aee546be4c4d77da8bdb5918ea7939ab167c7..e9caba682593c9e6d90731d03812d699100b25e8 100644
--- a/deps/SoftFloat-3d/source/f128_add.c
+++ b/deps/SoftFloat-3e/source/f128_add.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_div.c b/deps/SoftFloat-3e/source/f128_div.c
similarity index 97%
rename from deps/SoftFloat-3d/source/f128_div.c
rename to deps/SoftFloat-3e/source/f128_div.c
index db7b6cd1d661afdf926b0ecfdd29ff9c6e0be44d..0693db754a609a408d050c7323f482b7ae639463 100644
--- a/deps/SoftFloat-3d/source/f128_div.c
+++ b/deps/SoftFloat-3e/source/f128_div.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_eq.c b/deps/SoftFloat-3e/source/f128_eq.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f128_eq.c
rename to deps/SoftFloat-3e/source/f128_eq.c
index b366b7d3590fe2cd6291e9dae5d78c7ed4434c3d..9462fc2abd0637617bc770b2792fcd039413d7f0 100644
--- a/deps/SoftFloat-3d/source/f128_eq.c
+++ b/deps/SoftFloat-3e/source/f128_eq.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_eq_signaling.c b/deps/SoftFloat-3e/source/f128_eq_signaling.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f128_eq_signaling.c
rename to deps/SoftFloat-3e/source/f128_eq_signaling.c
index af47f68398fb2a26462c8f53b95f4d1795cea2df..5d0819d291b9343ed1bb279ec0ad88444a1bbd2b 100644
--- a/deps/SoftFloat-3d/source/f128_eq_signaling.c
+++ b/deps/SoftFloat-3e/source/f128_eq_signaling.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_isSignalingNaN.c b/deps/SoftFloat-3e/source/f128_isSignalingNaN.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f128_isSignalingNaN.c
rename to deps/SoftFloat-3e/source/f128_isSignalingNaN.c
index d2d66baa5a013f5e1a952ac808389841774694a4..a764ff6bfebc4f2a16f2bd96a7f3e76261697a63 100644
--- a/deps/SoftFloat-3d/source/f128_isSignalingNaN.c
+++ b/deps/SoftFloat-3e/source/f128_isSignalingNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_le.c b/deps/SoftFloat-3e/source/f128_le.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_le.c
rename to deps/SoftFloat-3e/source/f128_le.c
index c03c196135d3b36051b43ff47839d297690f633f..521a1cb03725d231f951d839dbfd68f362248817 100644
--- a/deps/SoftFloat-3d/source/f128_le.c
+++ b/deps/SoftFloat-3e/source/f128_le.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_le_quiet.c b/deps/SoftFloat-3e/source/f128_le_quiet.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_le_quiet.c
rename to deps/SoftFloat-3e/source/f128_le_quiet.c
index eb02bc7fc267c3acc287a012e17bc7724191cfa1..820b28b810a14362df6ecbe15bd4385b7bf6b6c5 100644
--- a/deps/SoftFloat-3d/source/f128_le_quiet.c
+++ b/deps/SoftFloat-3e/source/f128_le_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_lt.c b/deps/SoftFloat-3e/source/f128_lt.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_lt.c
rename to deps/SoftFloat-3e/source/f128_lt.c
index d6109df81872cc9b2bca880ed43a9b3c6b97fd23..fa46ae2bce69a703a4150fa6f566775c98a7cda7 100644
--- a/deps/SoftFloat-3d/source/f128_lt.c
+++ b/deps/SoftFloat-3e/source/f128_lt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_lt_quiet.c b/deps/SoftFloat-3e/source/f128_lt_quiet.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_lt_quiet.c
rename to deps/SoftFloat-3e/source/f128_lt_quiet.c
index bf6a7aaed9d49f20ef9c83d7c9bd5bef899ed22a..d491de2f2d0220c4e629d95ffe3d83ce61baccb3 100644
--- a/deps/SoftFloat-3d/source/f128_lt_quiet.c
+++ b/deps/SoftFloat-3e/source/f128_lt_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_mul.c b/deps/SoftFloat-3e/source/f128_mul.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_mul.c
rename to deps/SoftFloat-3e/source/f128_mul.c
index 495322b012bd068d0d01bdfcb85cd566db7cfa9c..24af86a245d2625e6b876b8b9e792021949da68c 100644
--- a/deps/SoftFloat-3d/source/f128_mul.c
+++ b/deps/SoftFloat-3e/source/f128_mul.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_mulAdd.c b/deps/SoftFloat-3e/source/f128_mulAdd.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f128_mulAdd.c
rename to deps/SoftFloat-3e/source/f128_mulAdd.c
index 9486fe098eccadba867f9b044e43215dcf5609b0..c7272d4e0e9f3dd15abce1593b3eb1fb060786f5 100644
--- a/deps/SoftFloat-3d/source/f128_mulAdd.c
+++ b/deps/SoftFloat-3e/source/f128_mulAdd.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_rem.c b/deps/SoftFloat-3e/source/f128_rem.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_rem.c
rename to deps/SoftFloat-3e/source/f128_rem.c
index 03350746b4e236a909c79102f784ee96880309e6..f525f697a58c036df2d67372c22b1fa75cb179f2 100644
--- a/deps/SoftFloat-3d/source/f128_rem.c
+++ b/deps/SoftFloat-3e/source/f128_rem.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_roundToInt.c b/deps/SoftFloat-3e/source/f128_roundToInt.c
similarity index 78%
rename from deps/SoftFloat-3d/source/f128_roundToInt.c
rename to deps/SoftFloat-3e/source/f128_roundToInt.c
index fb305c28b94a144b6c579fa332a24daf15f6c0f0..69185d6efa69f31d697e121b523f7cd7e8b6fdf2 100644
--- a/deps/SoftFloat-3d/source/f128_roundToInt.c
+++ b/deps/SoftFloat-3e/source/f128_roundToInt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
California. All rights reserved.
@@ -48,8 +48,9 @@ float128_t
uint_fast64_t uiA64, uiA0;
int_fast32_t exp;
struct uint128 uiZ;
- uint_fast64_t lastBitMask, roundBitsMask;
+ uint_fast64_t lastBitMask0, roundBitsMask;
bool roundNearEven;
+ uint_fast64_t lastBitMask64;
union ui128_f128 uZ;
/*------------------------------------------------------------------------
@@ -72,8 +73,8 @@ float128_t
}
/*--------------------------------------------------------------------
*--------------------------------------------------------------------*/
- lastBitMask = (uint_fast64_t) 2<<(0x406E - exp);
- roundBitsMask = lastBitMask - 1;
+ lastBitMask0 = (uint_fast64_t) 2<<(0x406E - exp);
+ roundBitsMask = lastBitMask0 - 1;
uiZ.v64 = uiA64;
uiZ.v0 = uiA0;
roundNearEven = (roundingMode == softfloat_round_near_even);
@@ -89,9 +90,9 @@ float128_t
}
}
} else {
- uiZ = softfloat_add128( uiZ.v64, uiZ.v0, 0, lastBitMask>>1 );
- if ( roundNearEven && ! (uiZ.v0 & roundBitsMask) ) {
- uiZ.v0 &= ~lastBitMask;
+ uiZ = softfloat_add128( uiZ.v64, uiZ.v0, 0, lastBitMask0>>1 );
+ if ( roundNearEven && !(uiZ.v0 & roundBitsMask) ) {
+ uiZ.v0 &= ~lastBitMask0;
}
}
} else if (
@@ -102,19 +103,18 @@ float128_t
uiZ = softfloat_add128( uiZ.v64, uiZ.v0, 0, roundBitsMask );
}
uiZ.v0 &= ~roundBitsMask;
+ lastBitMask64 = !lastBitMask0;
} else {
/*--------------------------------------------------------------------
*--------------------------------------------------------------------*/
if ( exp < 0x3FFF ) {
- if ( ! ((uiA64 & UINT64_C( 0x7FFFFFFFFFFFFFFF )) | uiA0) ) {
- return a;
- }
+ if ( !((uiA64 & UINT64_C( 0x7FFFFFFFFFFFFFFF )) | uiA0) ) return a;
if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
uiZ.v64 = uiA64 & packToF128UI64( 1, 0, 0 );
uiZ.v0 = 0;
switch ( roundingMode ) {
case softfloat_round_near_even:
- if ( ! (fracF128UI64( uiA64 ) | uiA0) ) break;
+ if ( !(fracF128UI64( uiA64 ) | uiA0) ) break;
case softfloat_round_near_maxMag:
if ( exp == 0x3FFE ) uiZ.v64 |= packToF128UI64( 0, 0x3FFF, 0 );
break;
@@ -122,8 +122,13 @@ float128_t
if ( uiZ.v64 ) uiZ.v64 = packToF128UI64( 1, 0x3FFF, 0 );
break;
case softfloat_round_max:
- if ( ! uiZ.v64 ) uiZ.v64 = packToF128UI64( 0, 0x3FFF, 0 );
+ if ( !uiZ.v64 ) uiZ.v64 = packToF128UI64( 0, 0x3FFF, 0 );
break;
+#ifdef SOFTFLOAT_ROUND_ODD
+ case softfloat_round_odd:
+ uiZ.v64 |= packToF128UI64( 0, 0x3FFF, 0 );
+ break;
+#endif
}
goto uiZ;
}
@@ -131,14 +136,14 @@ float128_t
*--------------------------------------------------------------------*/
uiZ.v64 = uiA64;
uiZ.v0 = 0;
- lastBitMask = (uint_fast64_t) 1<<(0x402F - exp);
- roundBitsMask = lastBitMask - 1;
+ lastBitMask64 = (uint_fast64_t) 1<<(0x402F - exp);
+ roundBitsMask = lastBitMask64 - 1;
if ( roundingMode == softfloat_round_near_maxMag ) {
- uiZ.v64 += lastBitMask>>1;
+ uiZ.v64 += lastBitMask64>>1;
} else if ( roundingMode == softfloat_round_near_even ) {
- uiZ.v64 += lastBitMask>>1;
- if ( ! ((uiZ.v64 & roundBitsMask) | uiA0) ) {
- uiZ.v64 &= ~lastBitMask;
+ uiZ.v64 += lastBitMask64>>1;
+ if ( !((uiZ.v64 & roundBitsMask) | uiA0) ) {
+ uiZ.v64 &= ~lastBitMask64;
}
} else if (
roundingMode
@@ -148,9 +153,16 @@ float128_t
uiZ.v64 = (uiZ.v64 | (uiA0 != 0)) + roundBitsMask;
}
uiZ.v64 &= ~roundBitsMask;
+ lastBitMask0 = 0;
}
- if ( exact && ((uiZ.v64 != uiA64) || (uiZ.v0 != uiA0)) ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( (uiZ.v64 != uiA64) || (uiZ.v0 != uiA0) ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) {
+ uiZ.v64 |= lastBitMask64;
+ uiZ.v0 |= lastBitMask0;
+ }
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
uiZ:
uZ.ui = uiZ;
diff --git a/deps/SoftFloat-3d/source/f128_sqrt.c b/deps/SoftFloat-3e/source/f128_sqrt.c
similarity index 97%
rename from deps/SoftFloat-3d/source/f128_sqrt.c
rename to deps/SoftFloat-3e/source/f128_sqrt.c
index 19966866ae76a2e16bb910115dee2ef8034f3e44..f1d9bac7928721412d85feac765ef151581e4f75 100644
--- a/deps/SoftFloat-3d/source/f128_sqrt.c
+++ b/deps/SoftFloat-3e/source/f128_sqrt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_sub.c b/deps/SoftFloat-3e/source/f128_sub.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_sub.c
rename to deps/SoftFloat-3e/source/f128_sub.c
index 24b73e86b6306ee69065c22bbef6ee7b6eb93088..5181cc5ecd1f56498c0fafebca6e04ad57dda0fd 100644
--- a/deps/SoftFloat-3d/source/f128_sub.c
+++ b/deps/SoftFloat-3e/source/f128_sub.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_extF80.c b/deps/SoftFloat-3e/source/f128_to_extF80.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_extF80.c
rename to deps/SoftFloat-3e/source/f128_to_extF80.c
index 7e7c42d0e30fd1fff991d00144e5d77e424c46c5..ec169c0ffaea609424a4242ccc4231b643db11f1 100644
--- a/deps/SoftFloat-3d/source/f128_to_extF80.c
+++ b/deps/SoftFloat-3e/source/f128_to_extF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_f16.c b/deps/SoftFloat-3e/source/f128_to_f16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_f16.c
rename to deps/SoftFloat-3e/source/f128_to_f16.c
index 10a887f6687381b096e48323fd499078d3ae465d..5a8ee721297b326ddc29dad57d7f70e755e00987 100644
--- a/deps/SoftFloat-3d/source/f128_to_f16.c
+++ b/deps/SoftFloat-3e/source/f128_to_f16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_f32.c b/deps/SoftFloat-3e/source/f128_to_f32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_f32.c
rename to deps/SoftFloat-3e/source/f128_to_f32.c
index 797dc338e9a54ff28ec1ad2d9ddd72a0d8754e7c..07e4a80df65d7db9130fa6d5bada2779100d14e3 100644
--- a/deps/SoftFloat-3d/source/f128_to_f32.c
+++ b/deps/SoftFloat-3e/source/f128_to_f32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_f64.c b/deps/SoftFloat-3e/source/f128_to_f64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_f64.c
rename to deps/SoftFloat-3e/source/f128_to_f64.c
index 302f193abf93214c6e09bd56bb6ea08b483c17f3..f791938b4190b5c5a7b80ad60d221562a23aea0c 100644
--- a/deps/SoftFloat-3d/source/f128_to_f64.c
+++ b/deps/SoftFloat-3e/source/f128_to_f64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_i32.c b/deps/SoftFloat-3e/source/f128_to_i32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_i32.c
rename to deps/SoftFloat-3e/source/f128_to_i32.c
index 87a74294178cc7fdc841d0d61625bacb1df9c0c2..16c4a3ccdace64c102a6fe98ca5c63c6059b2b0d 100644
--- a/deps/SoftFloat-3d/source/f128_to_i32.c
+++ b/deps/SoftFloat-3e/source/f128_to_i32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_i32_r_minMag.c b/deps/SoftFloat-3e/source/f128_to_i32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_i32_r_minMag.c
rename to deps/SoftFloat-3e/source/f128_to_i32_r_minMag.c
index 5f5d53ee6ce47aab217ff324712034032e2d97c0..18cfeaee54423d551634c996c7ee26a376653e56 100644
--- a/deps/SoftFloat-3d/source/f128_to_i32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f128_to_i32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_i64.c b/deps/SoftFloat-3e/source/f128_to_i64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_i64.c
rename to deps/SoftFloat-3e/source/f128_to_i64.c
index c6d87955b4c619538edfdf347b46b33783f56297..f5546604a21b349fa5445631def2a728ca1fc76d 100644
--- a/deps/SoftFloat-3d/source/f128_to_i64.c
+++ b/deps/SoftFloat-3e/source/f128_to_i64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_i64_r_minMag.c b/deps/SoftFloat-3e/source/f128_to_i64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_i64_r_minMag.c
rename to deps/SoftFloat-3e/source/f128_to_i64_r_minMag.c
index 00df9b783a91dbddc95369b623bc0515671f8ac4..e2cc62e27ebe43ff18f810e62d8906b93182d9aa 100644
--- a/deps/SoftFloat-3d/source/f128_to_i64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f128_to_i64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_ui32.c b/deps/SoftFloat-3e/source/f128_to_ui32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_ui32.c
rename to deps/SoftFloat-3e/source/f128_to_ui32.c
index 6802c0d754452458e9ad9207c027943e3ce93b46..7d8f3f8a11087334c6ead89ff651b42078ab2acd 100644
--- a/deps/SoftFloat-3d/source/f128_to_ui32.c
+++ b/deps/SoftFloat-3e/source/f128_to_ui32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_ui32_r_minMag.c b/deps/SoftFloat-3e/source/f128_to_ui32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_ui32_r_minMag.c
rename to deps/SoftFloat-3e/source/f128_to_ui32_r_minMag.c
index f29ecc0df9ba80c54f343a13976e8a067d598007..92facd5178191ac9be86a52a759cf335440d18f8 100644
--- a/deps/SoftFloat-3d/source/f128_to_ui32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f128_to_ui32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_ui64.c b/deps/SoftFloat-3e/source/f128_to_ui64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_ui64.c
rename to deps/SoftFloat-3e/source/f128_to_ui64.c
index 504b25c8f6bc336cc7176b79c874ba0d2c480422..3c38882ab7e37b37e49181d8309e522e3554046d 100644
--- a/deps/SoftFloat-3d/source/f128_to_ui64.c
+++ b/deps/SoftFloat-3e/source/f128_to_ui64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f128_to_ui64_r_minMag.c b/deps/SoftFloat-3e/source/f128_to_ui64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f128_to_ui64_r_minMag.c
rename to deps/SoftFloat-3e/source/f128_to_ui64_r_minMag.c
index 13d7e11d918303ee27eff6889c6f8e413711a1f0..edeafd3c814b9e2362045cdd2ff66e1ec84a2561 100644
--- a/deps/SoftFloat-3d/source/f128_to_ui64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f128_to_ui64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_add.c b/deps/SoftFloat-3e/source/f16_add.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f16_add.c
rename to deps/SoftFloat-3e/source/f16_add.c
index 82397f6720ead2c98ef5838f42cfa2c916f201a3..ff6ec258cb1c59bfc729f1ab0c975ecaa1ee8d6c 100644
--- a/deps/SoftFloat-3d/source/f16_add.c
+++ b/deps/SoftFloat-3e/source/f16_add.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_div.c b/deps/SoftFloat-3e/source/f16_div.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_div.c
rename to deps/SoftFloat-3e/source/f16_div.c
index 20e2abebd979b25ac2b4b06279075d336782313f..77f9a2cd2b89451bbae412a49166a1a8159494dd 100644
--- a/deps/SoftFloat-3d/source/f16_div.c
+++ b/deps/SoftFloat-3e/source/f16_div.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_eq.c b/deps/SoftFloat-3e/source/f16_eq.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f16_eq.c
rename to deps/SoftFloat-3e/source/f16_eq.c
index 5d5d8fe098ed66dfef5eb76be8326af5452a53de..692fa035f94b0ad77d8af011cbecddf371a37898 100644
--- a/deps/SoftFloat-3d/source/f16_eq.c
+++ b/deps/SoftFloat-3e/source/f16_eq.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_eq_signaling.c b/deps/SoftFloat-3e/source/f16_eq_signaling.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f16_eq_signaling.c
rename to deps/SoftFloat-3e/source/f16_eq_signaling.c
index 6cb4f7e4f313813f453b3b061e15dd3cce604905..c1e7a509ca904f9e55d77d152519729f65cf31e0 100644
--- a/deps/SoftFloat-3d/source/f16_eq_signaling.c
+++ b/deps/SoftFloat-3e/source/f16_eq_signaling.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_isSignalingNaN.c b/deps/SoftFloat-3e/source/f16_isSignalingNaN.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f16_isSignalingNaN.c
rename to deps/SoftFloat-3e/source/f16_isSignalingNaN.c
index 9589fe854047e1f9d9c31840bddb8d919536ae42..3eb3d4cc6bab2c367c70bd1811b9f003c81ff226 100644
--- a/deps/SoftFloat-3d/source/f16_isSignalingNaN.c
+++ b/deps/SoftFloat-3e/source/f16_isSignalingNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_le.c b/deps/SoftFloat-3e/source/f16_le.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f16_le.c
rename to deps/SoftFloat-3e/source/f16_le.c
index 0b5706d843b3b8a827e46a315eddc59eb1d3d195..d7313debd54efcacb27667f5525c954054d058ff 100644
--- a/deps/SoftFloat-3d/source/f16_le.c
+++ b/deps/SoftFloat-3e/source/f16_le.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_le_quiet.c b/deps/SoftFloat-3e/source/f16_le_quiet.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f16_le_quiet.c
rename to deps/SoftFloat-3e/source/f16_le_quiet.c
index b1f18a76d39cf7de836d17e1741238fee68717cc..15181c2602f668cbc6f737afd5057a9f49842fb5 100644
--- a/deps/SoftFloat-3d/source/f16_le_quiet.c
+++ b/deps/SoftFloat-3e/source/f16_le_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_lt.c b/deps/SoftFloat-3e/source/f16_lt.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f16_lt.c
rename to deps/SoftFloat-3e/source/f16_lt.c
index 92c0f1a141df462b26212cd13aded0b4e988c048..7745699a2c0a87e496dac586d0dc4bef84f2dea0 100644
--- a/deps/SoftFloat-3d/source/f16_lt.c
+++ b/deps/SoftFloat-3e/source/f16_lt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_lt_quiet.c b/deps/SoftFloat-3e/source/f16_lt_quiet.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f16_lt_quiet.c
rename to deps/SoftFloat-3e/source/f16_lt_quiet.c
index a743a69ea57617fbde12144b6ab4a9de7411ac8f..a31e4a13f4390740d4a3c26f0f0a4313424c8df6 100644
--- a/deps/SoftFloat-3d/source/f16_lt_quiet.c
+++ b/deps/SoftFloat-3e/source/f16_lt_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_mul.c b/deps/SoftFloat-3e/source/f16_mul.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_mul.c
rename to deps/SoftFloat-3e/source/f16_mul.c
index 4bfc0c1ab1f6dcd29210bf164d5b16975d800c1c..a47cab8ce35319a6c31ff5c09bdb4d3ccac741ac 100644
--- a/deps/SoftFloat-3d/source/f16_mul.c
+++ b/deps/SoftFloat-3e/source/f16_mul.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_mulAdd.c b/deps/SoftFloat-3e/source/f16_mulAdd.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f16_mulAdd.c
rename to deps/SoftFloat-3e/source/f16_mulAdd.c
index a94762f45f7afdd16a55cf8bcc74c1a7a9c6e3cc..e97571ac509abf7919bafce54d76b62155447180 100644
--- a/deps/SoftFloat-3d/source/f16_mulAdd.c
+++ b/deps/SoftFloat-3e/source/f16_mulAdd.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_rem.c b/deps/SoftFloat-3e/source/f16_rem.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_rem.c
rename to deps/SoftFloat-3e/source/f16_rem.c
index 6a72eea709839f1e955e29b7e50014b633d16c93..0ffa498a1747f79ea6d55ac8d2b57405ff9abc65 100644
--- a/deps/SoftFloat-3d/source/f16_rem.c
+++ b/deps/SoftFloat-3e/source/f16_rem.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_roundToInt.c b/deps/SoftFloat-3e/source/f16_roundToInt.c
similarity index 85%
rename from deps/SoftFloat-3d/source/f16_roundToInt.c
rename to deps/SoftFloat-3e/source/f16_roundToInt.c
index fabbb950bbc0e32ff695a50b48c1387aec2932fc..a567d51d9fd529d5951b7f443892a28bf23143e1 100644
--- a/deps/SoftFloat-3d/source/f16_roundToInt.c
+++ b/deps/SoftFloat-3e/source/f16_roundToInt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
California. All rights reserved.
@@ -57,12 +57,12 @@ float16_t f16_roundToInt( float16_t a, uint_fast8_t roundingMode, bool exact )
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
if ( exp <= 0xE ) {
- if ( ! (uint16_t) (uiA<<1) ) return a;
+ if ( !(uint16_t) (uiA<<1) ) return a;
if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
uiZ = uiA & packToF16UI( 1, 0, 0 );
switch ( roundingMode ) {
case softfloat_round_near_even:
- if ( ! fracF16UI( uiA ) ) break;
+ if ( !fracF16UI( uiA ) ) break;
case softfloat_round_near_maxMag:
if ( exp == 0xE ) uiZ |= packToF16UI( 0, 0xF, 0 );
break;
@@ -70,8 +70,13 @@ float16_t f16_roundToInt( float16_t a, uint_fast8_t roundingMode, bool exact )
if ( uiZ ) uiZ = packToF16UI( 1, 0xF, 0 );
break;
case softfloat_round_max:
- if ( ! uiZ ) uiZ = packToF16UI( 0, 0xF, 0 );
+ if ( !uiZ ) uiZ = packToF16UI( 0, 0xF, 0 );
break;
+#ifdef SOFTFLOAT_ROUND_ODD
+ case softfloat_round_odd:
+ uiZ |= packToF16UI( 0, 0xF, 0 );
+ break;
+#endif
}
goto uiZ;
}
@@ -93,7 +98,7 @@ float16_t f16_roundToInt( float16_t a, uint_fast8_t roundingMode, bool exact )
uiZ += lastBitMask>>1;
} else if ( roundingMode == softfloat_round_near_even ) {
uiZ += lastBitMask>>1;
- if ( ! (uiZ & roundBitsMask) ) uiZ &= ~lastBitMask;
+ if ( !(uiZ & roundBitsMask) ) uiZ &= ~lastBitMask;
} else if (
roundingMode
== (signF16UI( uiZ ) ? softfloat_round_min : softfloat_round_max)
@@ -101,8 +106,11 @@ float16_t f16_roundToInt( float16_t a, uint_fast8_t roundingMode, bool exact )
uiZ += roundBitsMask;
}
uiZ &= ~roundBitsMask;
- if ( exact && (uiZ != uiA) ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( uiZ != uiA ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) uiZ |= lastBitMask;
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
uiZ:
uZ.ui = uiZ;
diff --git a/deps/SoftFloat-3d/source/f16_sqrt.c b/deps/SoftFloat-3e/source/f16_sqrt.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_sqrt.c
rename to deps/SoftFloat-3e/source/f16_sqrt.c
index f354b8447495ac00e7d4ad1782c4ca9a62738d69..47a3bbf148bbb82f3ad0df752eae48f26300f9f6 100644
--- a/deps/SoftFloat-3d/source/f16_sqrt.c
+++ b/deps/SoftFloat-3e/source/f16_sqrt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_sub.c b/deps/SoftFloat-3e/source/f16_sub.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f16_sub.c
rename to deps/SoftFloat-3e/source/f16_sub.c
index 8b90eb72c20174c6f8c3f41fbac10140372bf6ca..03a87cf325307982d702836b912f01699032191a 100644
--- a/deps/SoftFloat-3d/source/f16_sub.c
+++ b/deps/SoftFloat-3e/source/f16_sub.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_extF80.c b/deps/SoftFloat-3e/source/f16_to_extF80.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_extF80.c
rename to deps/SoftFloat-3e/source/f16_to_extF80.c
index 59ce968c014ef031ae9adc201a18e8b2efc255dc..99c2dfc7466023288ee319cce88339fbe5ae2037 100644
--- a/deps/SoftFloat-3d/source/f16_to_extF80.c
+++ b/deps/SoftFloat-3e/source/f16_to_extF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_extF80M.c b/deps/SoftFloat-3e/source/f16_to_extF80M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_extF80M.c
rename to deps/SoftFloat-3e/source/f16_to_extF80M.c
index f9b60c333c2b8c2da583bc2c48db35511cc39545..7f2d53458d81d5f7933f9fb6a7356cb089281cf6 100644
--- a/deps/SoftFloat-3d/source/f16_to_extF80M.c
+++ b/deps/SoftFloat-3e/source/f16_to_extF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_f128.c b/deps/SoftFloat-3e/source/f16_to_f128.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_f128.c
rename to deps/SoftFloat-3e/source/f16_to_f128.c
index 250fa37c5b1dac8234abc19c57704b5745092dd5..c4b81dc840d1b734f7b6fce256ec12582f7284b7 100644
--- a/deps/SoftFloat-3d/source/f16_to_f128.c
+++ b/deps/SoftFloat-3e/source/f16_to_f128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_f128M.c b/deps/SoftFloat-3e/source/f16_to_f128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_f128M.c
rename to deps/SoftFloat-3e/source/f16_to_f128M.c
index de2592f60c52d9cfd474f4ae73f8704f997da875..b4fc873b5627d4e70aaee01728ccefd69d81bfd7 100644
--- a/deps/SoftFloat-3d/source/f16_to_f128M.c
+++ b/deps/SoftFloat-3e/source/f16_to_f128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_f32.c b/deps/SoftFloat-3e/source/f16_to_f32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_f32.c
rename to deps/SoftFloat-3e/source/f16_to_f32.c
index 4f0c5b48db00c0c277dc03e46afbe766a135d2e7..a219454bf2866ec65b7e988e27e79e3d3c410d57 100644
--- a/deps/SoftFloat-3d/source/f16_to_f32.c
+++ b/deps/SoftFloat-3e/source/f16_to_f32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_f64.c b/deps/SoftFloat-3e/source/f16_to_f64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_f64.c
rename to deps/SoftFloat-3e/source/f16_to_f64.c
index 5ec0c427c125ef75e55997d88e016aac7d15ecef..7e87c25f4f06aeea8a054fd74c31d10840c78063 100644
--- a/deps/SoftFloat-3d/source/f16_to_f64.c
+++ b/deps/SoftFloat-3e/source/f16_to_f64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_i32.c b/deps/SoftFloat-3e/source/f16_to_i32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_i32.c
rename to deps/SoftFloat-3e/source/f16_to_i32.c
index 092ecbd568f603510411a5b1f54887b09889ec97..805c4e55038c118194ff8af30b11f5b93fa76b7b 100644
--- a/deps/SoftFloat-3d/source/f16_to_i32.c
+++ b/deps/SoftFloat-3e/source/f16_to_i32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_i32_r_minMag.c b/deps/SoftFloat-3e/source/f16_to_i32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_i32_r_minMag.c
rename to deps/SoftFloat-3e/source/f16_to_i32_r_minMag.c
index 0c6cd7e7fc562675679de63ee6791b3bdb8ae193..b1f9963718a987838d8aefda431dcf0d7d88c41f 100644
--- a/deps/SoftFloat-3d/source/f16_to_i32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f16_to_i32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_i64.c b/deps/SoftFloat-3e/source/f16_to_i64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_i64.c
rename to deps/SoftFloat-3e/source/f16_to_i64.c
index cf205cc3dba7a66e80d731f6cdbb30a9bccc5dd8..e3c0065f619e690d60375b7ea0ad739604733eeb 100644
--- a/deps/SoftFloat-3d/source/f16_to_i64.c
+++ b/deps/SoftFloat-3e/source/f16_to_i64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_i64_r_minMag.c b/deps/SoftFloat-3e/source/f16_to_i64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_i64_r_minMag.c
rename to deps/SoftFloat-3e/source/f16_to_i64_r_minMag.c
index b1b9d18762868b891446da4d6eef85d3b79559f2..a5a6a077e6ffa936a050dfd6264bfec63c8be4f0 100644
--- a/deps/SoftFloat-3d/source/f16_to_i64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f16_to_i64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_ui32.c b/deps/SoftFloat-3e/source/f16_to_ui32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_ui32.c
rename to deps/SoftFloat-3e/source/f16_to_ui32.c
index 7de931d7746f5215bf296727cfe58dbf012255e2..5371ca339581d85b6d3b7f3df686cb58a2098374 100644
--- a/deps/SoftFloat-3d/source/f16_to_ui32.c
+++ b/deps/SoftFloat-3e/source/f16_to_ui32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_ui32_r_minMag.c b/deps/SoftFloat-3e/source/f16_to_ui32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_ui32_r_minMag.c
rename to deps/SoftFloat-3e/source/f16_to_ui32_r_minMag.c
index 10b6caad4006f82076bd295d24055fd1444af090..5d51df5ec154ff2f60a16795160c045ffd0431cd 100644
--- a/deps/SoftFloat-3d/source/f16_to_ui32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f16_to_ui32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f16_to_ui64.c b/deps/SoftFloat-3e/source/f16_to_ui64.c
similarity index 83%
rename from deps/SoftFloat-3d/source/f16_to_ui64.c
rename to deps/SoftFloat-3e/source/f16_to_ui64.c
index 449c6d480987abe1de9b413d603f44054a25a7c6..e6cb000f1e2788f1eb2aac559afa4e87f97abdc9 100644
--- a/deps/SoftFloat-3d/source/f16_to_ui64.c
+++ b/deps/SoftFloat-3e/source/f16_to_ui64.c
@@ -2,9 +2,9 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
-Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the
University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -50,6 +50,9 @@ uint_fast64_t f16_to_ui64( float16_t a, uint_fast8_t roundingMode, bool exact )
uint_fast16_t frac;
uint_fast32_t sig32;
int_fast8_t shiftDist;
+#ifndef SOFTFLOAT_FAST_INT64
+ uint32_t extSig[3];
+#endif
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
@@ -78,7 +81,16 @@ uint_fast64_t f16_to_ui64( float16_t a, uint_fast8_t roundingMode, bool exact )
shiftDist = exp - 0x0D;
if ( 0 < shiftDist ) sig32 <<= shiftDist;
}
- return softfloat_roundToUI32( sign, sig32, roundingMode, exact );
+#ifdef SOFTFLOAT_FAST_INT64
+ return
+ softfloat_roundToUI64(
+ sign, sig32>>12, (uint_fast64_t) sig32<<52, roundingMode, exact );
+#else
+ extSig[indexWord( 3, 2 )] = 0;
+ extSig[indexWord( 3, 1 )] = sig32>>12;
+ extSig[indexWord( 3, 0 )] = sig32<<20;
+ return softfloat_roundMToUI64( sign, extSig, roundingMode, exact );
+#endif
}
diff --git a/deps/SoftFloat-3d/source/f16_to_ui64_r_minMag.c b/deps/SoftFloat-3e/source/f16_to_ui64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f16_to_ui64_r_minMag.c
rename to deps/SoftFloat-3e/source/f16_to_ui64_r_minMag.c
index 53e6ae73e389e90cafc04702947645d8ec28c026..b4f975f83339e3799a686efa451bc945d641009c 100644
--- a/deps/SoftFloat-3d/source/f16_to_ui64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f16_to_ui64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_add.c b/deps/SoftFloat-3e/source/f32_add.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f32_add.c
rename to deps/SoftFloat-3e/source/f32_add.c
index dba6857f08c07475bfbd7999a5386900b79193e3..70e03e7f94fee6b03c03b717dba06d3af1013d36 100644
--- a/deps/SoftFloat-3d/source/f32_add.c
+++ b/deps/SoftFloat-3e/source/f32_add.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_div.c b/deps/SoftFloat-3e/source/f32_div.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_div.c
rename to deps/SoftFloat-3e/source/f32_div.c
index bed54b24ed7bfc45535a3635d212f52580c1985d..05ec701f76ff469f820d58d881f010b7120752f3 100644
--- a/deps/SoftFloat-3d/source/f32_div.c
+++ b/deps/SoftFloat-3e/source/f32_div.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_eq.c b/deps/SoftFloat-3e/source/f32_eq.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f32_eq.c
rename to deps/SoftFloat-3e/source/f32_eq.c
index 6fc2a653af26613ad2504201c9edddff68ae2692..801bbfd734536b330038eefa14db7ebbbe724053 100644
--- a/deps/SoftFloat-3d/source/f32_eq.c
+++ b/deps/SoftFloat-3e/source/f32_eq.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_eq_signaling.c b/deps/SoftFloat-3e/source/f32_eq_signaling.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f32_eq_signaling.c
rename to deps/SoftFloat-3e/source/f32_eq_signaling.c
index b79aa59d70541abbc3a9f2b855300a05e8863b83..4c610ffae87eff3fd76b9a0a3cf0b78efbab62e5 100644
--- a/deps/SoftFloat-3d/source/f32_eq_signaling.c
+++ b/deps/SoftFloat-3e/source/f32_eq_signaling.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_isSignalingNaN.c b/deps/SoftFloat-3e/source/f32_isSignalingNaN.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f32_isSignalingNaN.c
rename to deps/SoftFloat-3e/source/f32_isSignalingNaN.c
index 76f23ff7d3352f7d91ad2218d5b30d4e8ac85ef3..f5954cbbc441510b1bfac123c2ca478a8f77bb5d 100644
--- a/deps/SoftFloat-3d/source/f32_isSignalingNaN.c
+++ b/deps/SoftFloat-3e/source/f32_isSignalingNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_le.c b/deps/SoftFloat-3e/source/f32_le.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f32_le.c
rename to deps/SoftFloat-3e/source/f32_le.c
index e7de0dd8b696cae8395cb457f4d31f9f315fe09c..d89d1e88df72e05e24372a7af4ab2840777ed751 100644
--- a/deps/SoftFloat-3d/source/f32_le.c
+++ b/deps/SoftFloat-3e/source/f32_le.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_le_quiet.c b/deps/SoftFloat-3e/source/f32_le_quiet.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f32_le_quiet.c
rename to deps/SoftFloat-3e/source/f32_le_quiet.c
index 2b9d49761ae7327bcbbf4595895a68dfbadc13c7..c2d4297a2928485627186859f455660971e6d875 100644
--- a/deps/SoftFloat-3d/source/f32_le_quiet.c
+++ b/deps/SoftFloat-3e/source/f32_le_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_lt.c b/deps/SoftFloat-3e/source/f32_lt.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f32_lt.c
rename to deps/SoftFloat-3e/source/f32_lt.c
index 3281fd10b1e80cbf7ff2eb919ec98a8720eac0ac..5b5fd22821ad39e25c3b5ce430c13e0443293e19 100644
--- a/deps/SoftFloat-3d/source/f32_lt.c
+++ b/deps/SoftFloat-3e/source/f32_lt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_lt_quiet.c b/deps/SoftFloat-3e/source/f32_lt_quiet.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f32_lt_quiet.c
rename to deps/SoftFloat-3e/source/f32_lt_quiet.c
index 4cf972a31e6306797f30abc7f63d6bc874ea0369..0153881437112d217205cb3299d90b240696d101 100644
--- a/deps/SoftFloat-3d/source/f32_lt_quiet.c
+++ b/deps/SoftFloat-3e/source/f32_lt_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_mul.c b/deps/SoftFloat-3e/source/f32_mul.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_mul.c
rename to deps/SoftFloat-3e/source/f32_mul.c
index 2b05f8c3b326a3c231c658455186092599f7d03e..f5c856002f62f2d6a8b7e9f7b8f9436465ad9b8a 100644
--- a/deps/SoftFloat-3d/source/f32_mul.c
+++ b/deps/SoftFloat-3e/source/f32_mul.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_mulAdd.c b/deps/SoftFloat-3e/source/f32_mulAdd.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f32_mulAdd.c
rename to deps/SoftFloat-3e/source/f32_mulAdd.c
index 6f1e03f89ef559756522395b152c1e2f39fec13b..9a28e212ce133b439fbf596de843f1937683f9fd 100644
--- a/deps/SoftFloat-3d/source/f32_mulAdd.c
+++ b/deps/SoftFloat-3e/source/f32_mulAdd.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_rem.c b/deps/SoftFloat-3e/source/f32_rem.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_rem.c
rename to deps/SoftFloat-3e/source/f32_rem.c
index bc1c07508057153082cbda10c5c9bd3c7696e5f1..b29bf416e4611e4309d14bbc5e13dbe96842d079 100644
--- a/deps/SoftFloat-3d/source/f32_rem.c
+++ b/deps/SoftFloat-3e/source/f32_rem.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_roundToInt.c b/deps/SoftFloat-3e/source/f32_roundToInt.c
similarity index 85%
rename from deps/SoftFloat-3d/source/f32_roundToInt.c
rename to deps/SoftFloat-3e/source/f32_roundToInt.c
index bac1cae6ffd6cef9466769b05e8d041112ef7bdb..305af79ddef0fce728c5cc29f507b96f8744b370 100644
--- a/deps/SoftFloat-3d/source/f32_roundToInt.c
+++ b/deps/SoftFloat-3e/source/f32_roundToInt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
California. All rights reserved.
@@ -57,12 +57,12 @@ float32_t f32_roundToInt( float32_t a, uint_fast8_t roundingMode, bool exact )
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
if ( exp <= 0x7E ) {
- if ( ! (uint32_t) (uiA<<1) ) return a;
+ if ( !(uint32_t) (uiA<<1) ) return a;
if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
uiZ = uiA & packToF32UI( 1, 0, 0 );
switch ( roundingMode ) {
case softfloat_round_near_even:
- if ( ! fracF32UI( uiA ) ) break;
+ if ( !fracF32UI( uiA ) ) break;
case softfloat_round_near_maxMag:
if ( exp == 0x7E ) uiZ |= packToF32UI( 0, 0x7F, 0 );
break;
@@ -70,8 +70,13 @@ float32_t f32_roundToInt( float32_t a, uint_fast8_t roundingMode, bool exact )
if ( uiZ ) uiZ = packToF32UI( 1, 0x7F, 0 );
break;
case softfloat_round_max:
- if ( ! uiZ ) uiZ = packToF32UI( 0, 0x7F, 0 );
+ if ( !uiZ ) uiZ = packToF32UI( 0, 0x7F, 0 );
break;
+#ifdef SOFTFLOAT_ROUND_ODD
+ case softfloat_round_odd:
+ uiZ |= packToF32UI( 0, 0x7F, 0 );
+ break;
+#endif
}
goto uiZ;
}
@@ -93,7 +98,7 @@ float32_t f32_roundToInt( float32_t a, uint_fast8_t roundingMode, bool exact )
uiZ += lastBitMask>>1;
} else if ( roundingMode == softfloat_round_near_even ) {
uiZ += lastBitMask>>1;
- if ( ! (uiZ & roundBitsMask) ) uiZ &= ~lastBitMask;
+ if ( !(uiZ & roundBitsMask) ) uiZ &= ~lastBitMask;
} else if (
roundingMode
== (signF32UI( uiZ ) ? softfloat_round_min : softfloat_round_max)
@@ -101,8 +106,11 @@ float32_t f32_roundToInt( float32_t a, uint_fast8_t roundingMode, bool exact )
uiZ += roundBitsMask;
}
uiZ &= ~roundBitsMask;
- if ( exact && (uiZ != uiA) ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( uiZ != uiA ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) uiZ |= lastBitMask;
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
uiZ:
uZ.ui = uiZ;
diff --git a/deps/SoftFloat-3d/source/f32_sqrt.c b/deps/SoftFloat-3e/source/f32_sqrt.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_sqrt.c
rename to deps/SoftFloat-3e/source/f32_sqrt.c
index 19cb2037ba37e1803c988de71bf2a00491440c4a..9263bde595e290af129987234bd099a81e8270de 100644
--- a/deps/SoftFloat-3d/source/f32_sqrt.c
+++ b/deps/SoftFloat-3e/source/f32_sqrt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_sub.c b/deps/SoftFloat-3e/source/f32_sub.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f32_sub.c
rename to deps/SoftFloat-3e/source/f32_sub.c
index 88955e31ff5316f441a6e38c1c1ff6a6818528da..383484dae16afb56207a2d6a8be143c3d524c174 100644
--- a/deps/SoftFloat-3d/source/f32_sub.c
+++ b/deps/SoftFloat-3e/source/f32_sub.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_extF80.c b/deps/SoftFloat-3e/source/f32_to_extF80.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_extF80.c
rename to deps/SoftFloat-3e/source/f32_to_extF80.c
index a00a485d586aac6024ed23986814baaacfdd1568..742ed649c58cc4065facfe019964333a8a5f7c2c 100644
--- a/deps/SoftFloat-3d/source/f32_to_extF80.c
+++ b/deps/SoftFloat-3e/source/f32_to_extF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_extF80M.c b/deps/SoftFloat-3e/source/f32_to_extF80M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_extF80M.c
rename to deps/SoftFloat-3e/source/f32_to_extF80M.c
index eeebbeac4efb4d3b346e70adba36b43f755fb37d..af7e32a76eac9c9ada8116abe48be0f147d18fb4 100644
--- a/deps/SoftFloat-3d/source/f32_to_extF80M.c
+++ b/deps/SoftFloat-3e/source/f32_to_extF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_f128.c b/deps/SoftFloat-3e/source/f32_to_f128.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_f128.c
rename to deps/SoftFloat-3e/source/f32_to_f128.c
index ad8e80ea42e2e1e48ab03ed96cb4e67a56f09cce..6a765a44e493f32c57a762fd5c946f374c388507 100644
--- a/deps/SoftFloat-3d/source/f32_to_f128.c
+++ b/deps/SoftFloat-3e/source/f32_to_f128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_f128M.c b/deps/SoftFloat-3e/source/f32_to_f128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_f128M.c
rename to deps/SoftFloat-3e/source/f32_to_f128M.c
index d60a9aa9e8659afb38502251875301ffc1e67b63..ee7e6b367c9a3a9e40519f82d20f13cbf113a452 100644
--- a/deps/SoftFloat-3d/source/f32_to_f128M.c
+++ b/deps/SoftFloat-3e/source/f32_to_f128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_f16.c b/deps/SoftFloat-3e/source/f32_to_f16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_f16.c
rename to deps/SoftFloat-3e/source/f32_to_f16.c
index 1c59cf6641ec5b980ded502a08cd96f26772e289..a9e77b775aa82e72701eee02d0901eda4171155a 100644
--- a/deps/SoftFloat-3d/source/f32_to_f16.c
+++ b/deps/SoftFloat-3e/source/f32_to_f16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_f64.c b/deps/SoftFloat-3e/source/f32_to_f64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_f64.c
rename to deps/SoftFloat-3e/source/f32_to_f64.c
index 0b1103963fe89814b5c0c47faaee21017f94d680..4f97519e8637fc13b38cc40a439ec99700575134 100644
--- a/deps/SoftFloat-3d/source/f32_to_f64.c
+++ b/deps/SoftFloat-3e/source/f32_to_f64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_i32.c b/deps/SoftFloat-3e/source/f32_to_i32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_i32.c
rename to deps/SoftFloat-3e/source/f32_to_i32.c
index b3e96121dfe7b7e8f6b78bf150c2cf489bcf49b2..7d0356fbe3b9eb40935f08e2a2ef9e850f83307a 100644
--- a/deps/SoftFloat-3d/source/f32_to_i32.c
+++ b/deps/SoftFloat-3e/source/f32_to_i32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_i32_r_minMag.c b/deps/SoftFloat-3e/source/f32_to_i32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_i32_r_minMag.c
rename to deps/SoftFloat-3e/source/f32_to_i32_r_minMag.c
index 720b77b3bb28ea076c5ab077062b36d3ce88e0a7..7652f2ebb024429921d575839ddcbd8aceda78bb 100644
--- a/deps/SoftFloat-3d/source/f32_to_i32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f32_to_i32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_i64.c b/deps/SoftFloat-3e/source/f32_to_i64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_i64.c
rename to deps/SoftFloat-3e/source/f32_to_i64.c
index 1ae1907f2534a22bf5440a500b24e1c6bfa5d4d4..4b125441f5c5575d4843ce70fbd400b4cc217498 100644
--- a/deps/SoftFloat-3d/source/f32_to_i64.c
+++ b/deps/SoftFloat-3e/source/f32_to_i64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_i64_r_minMag.c b/deps/SoftFloat-3e/source/f32_to_i64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_i64_r_minMag.c
rename to deps/SoftFloat-3e/source/f32_to_i64_r_minMag.c
index 8fc67f3054e6cbfa19bfd59edf180f5d1cce2ad6..397ddf6d0dc569b5a6d9bb050a7c2cdfc79af5c6 100644
--- a/deps/SoftFloat-3d/source/f32_to_i64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f32_to_i64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_ui32.c b/deps/SoftFloat-3e/source/f32_to_ui32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_ui32.c
rename to deps/SoftFloat-3e/source/f32_to_ui32.c
index e7a42a8960d69c95623866f25cb2f06e9287cd16..cb47d9458f0debad19df2c4c4ca99f8666ad100c 100644
--- a/deps/SoftFloat-3d/source/f32_to_ui32.c
+++ b/deps/SoftFloat-3e/source/f32_to_ui32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_ui32_r_minMag.c b/deps/SoftFloat-3e/source/f32_to_ui32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_ui32_r_minMag.c
rename to deps/SoftFloat-3e/source/f32_to_ui32_r_minMag.c
index 8fd3d2f6b06aa4de2f95eeaeae81ffa1f4c0f46c..cdeb75f9f2cab20936e9e3d7802e2515456bd5d6 100644
--- a/deps/SoftFloat-3d/source/f32_to_ui32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f32_to_ui32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_ui64.c b/deps/SoftFloat-3e/source/f32_to_ui64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_ui64.c
rename to deps/SoftFloat-3e/source/f32_to_ui64.c
index e10bc7ffbbf6915cd61bf25ec4c9508b81639b80..61f204af727e2a52dffac15da0f2922000df74e5 100644
--- a/deps/SoftFloat-3d/source/f32_to_ui64.c
+++ b/deps/SoftFloat-3e/source/f32_to_ui64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f32_to_ui64_r_minMag.c b/deps/SoftFloat-3e/source/f32_to_ui64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f32_to_ui64_r_minMag.c
rename to deps/SoftFloat-3e/source/f32_to_ui64_r_minMag.c
index 50f6b0175f07d534988ae4fe5ec0c78befd031f4..c0fe54f6e19532fcf20f06e145474228a256cd63 100644
--- a/deps/SoftFloat-3d/source/f32_to_ui64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f32_to_ui64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_add.c b/deps/SoftFloat-3e/source/f64_add.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f64_add.c
rename to deps/SoftFloat-3e/source/f64_add.c
index 10ae93cc18634b4b895d3dce992c1df00ae7d6d3..42f840dc59bfbe7687d8a155fd37eb5d03282239 100644
--- a/deps/SoftFloat-3d/source/f64_add.c
+++ b/deps/SoftFloat-3e/source/f64_add.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_div.c b/deps/SoftFloat-3e/source/f64_div.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_div.c
rename to deps/SoftFloat-3e/source/f64_div.c
index f3766cdeac577fe5ffd29364f14fb0c40a4bfa07..9c967bb740ab3763396bcfde67853f658fd21fc1 100644
--- a/deps/SoftFloat-3d/source/f64_div.c
+++ b/deps/SoftFloat-3e/source/f64_div.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_eq.c b/deps/SoftFloat-3e/source/f64_eq.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f64_eq.c
rename to deps/SoftFloat-3e/source/f64_eq.c
index a8494aa0ca3cafe514e54b44cb23fd33808367d5..36020037953ef8448b13b14dceb2e5c6b4b861e7 100644
--- a/deps/SoftFloat-3d/source/f64_eq.c
+++ b/deps/SoftFloat-3e/source/f64_eq.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_eq_signaling.c b/deps/SoftFloat-3e/source/f64_eq_signaling.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f64_eq_signaling.c
rename to deps/SoftFloat-3e/source/f64_eq_signaling.c
index dd13da269d52f951a63e596f84bdb8aa844e16c8..5daa17937320e04c6953246ecbb8d9b8350a20c7 100644
--- a/deps/SoftFloat-3d/source/f64_eq_signaling.c
+++ b/deps/SoftFloat-3e/source/f64_eq_signaling.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_isSignalingNaN.c b/deps/SoftFloat-3e/source/f64_isSignalingNaN.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f64_isSignalingNaN.c
rename to deps/SoftFloat-3e/source/f64_isSignalingNaN.c
index 7729cb162972e3d2943f589179cdbf6fd9dc36f2..e5d38321ecddcdc85613b6211c2795babe70abf6 100644
--- a/deps/SoftFloat-3d/source/f64_isSignalingNaN.c
+++ b/deps/SoftFloat-3e/source/f64_isSignalingNaN.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_le.c b/deps/SoftFloat-3e/source/f64_le.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f64_le.c
rename to deps/SoftFloat-3e/source/f64_le.c
index 0648d56af3fff668d2294a066d691a74813dca1e..0b43d04677067fe3e978378bd22bc9a1625f7932 100644
--- a/deps/SoftFloat-3d/source/f64_le.c
+++ b/deps/SoftFloat-3e/source/f64_le.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_le_quiet.c b/deps/SoftFloat-3e/source/f64_le_quiet.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f64_le_quiet.c
rename to deps/SoftFloat-3e/source/f64_le_quiet.c
index a3350c1ea3748a315b9ca29e9339a3376a3e5187..832eee7a76bfdde11921313ea6c6353ef35f3796 100644
--- a/deps/SoftFloat-3d/source/f64_le_quiet.c
+++ b/deps/SoftFloat-3e/source/f64_le_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_lt.c b/deps/SoftFloat-3e/source/f64_lt.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f64_lt.c
rename to deps/SoftFloat-3e/source/f64_lt.c
index 9686da31bb99f3a30ebb9023db9c02bd3af9b803..49ee05be031b8d7a1afbeb32906e5b8e0fa3ff80 100644
--- a/deps/SoftFloat-3d/source/f64_lt.c
+++ b/deps/SoftFloat-3e/source/f64_lt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_lt_quiet.c b/deps/SoftFloat-3e/source/f64_lt_quiet.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f64_lt_quiet.c
rename to deps/SoftFloat-3e/source/f64_lt_quiet.c
index 7f27bd1310b1ba9d055441fbcc07abadd4a616aa..d64088054927ae02cb20691cc693082d4023b08b 100644
--- a/deps/SoftFloat-3d/source/f64_lt_quiet.c
+++ b/deps/SoftFloat-3e/source/f64_lt_quiet.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_mul.c b/deps/SoftFloat-3e/source/f64_mul.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_mul.c
rename to deps/SoftFloat-3e/source/f64_mul.c
index 561505e2e956c6924b7accec9443d03052401c33..222e91dce4b7a3ffe84dbfb1799fc1a40fa68f32 100644
--- a/deps/SoftFloat-3d/source/f64_mul.c
+++ b/deps/SoftFloat-3e/source/f64_mul.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_mulAdd.c b/deps/SoftFloat-3e/source/f64_mulAdd.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f64_mulAdd.c
rename to deps/SoftFloat-3e/source/f64_mulAdd.c
index 3c152b8a382942dc3fa15c0d219d4df64324b771..fea3d968bf1d389f9506b7817f2c90e2d77e2ba5 100644
--- a/deps/SoftFloat-3d/source/f64_mulAdd.c
+++ b/deps/SoftFloat-3e/source/f64_mulAdd.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_rem.c b/deps/SoftFloat-3e/source/f64_rem.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_rem.c
rename to deps/SoftFloat-3e/source/f64_rem.c
index adb152726e87351ef533ebd49f7e25dcb5f4095b..ffce679aa30dda0eef6086d6ba73336bf48a0a13 100644
--- a/deps/SoftFloat-3d/source/f64_rem.c
+++ b/deps/SoftFloat-3e/source/f64_rem.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_roundToInt.c b/deps/SoftFloat-3e/source/f64_roundToInt.c
similarity index 84%
rename from deps/SoftFloat-3d/source/f64_roundToInt.c
rename to deps/SoftFloat-3e/source/f64_roundToInt.c
index d544f6547d794b47c3b964c80e21b71158700a88..54e7b0542767d42a899534b607bd12099880f3ba 100644
--- a/deps/SoftFloat-3d/source/f64_roundToInt.c
+++ b/deps/SoftFloat-3e/source/f64_roundToInt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
California. All rights reserved.
@@ -57,12 +57,12 @@ float64_t f64_roundToInt( float64_t a, uint_fast8_t roundingMode, bool exact )
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
if ( exp <= 0x3FE ) {
- if ( ! (uiA & UINT64_C( 0x7FFFFFFFFFFFFFFF )) ) return a;
+ if ( !(uiA & UINT64_C( 0x7FFFFFFFFFFFFFFF )) ) return a;
if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
uiZ = uiA & packToF64UI( 1, 0, 0 );
switch ( roundingMode ) {
case softfloat_round_near_even:
- if ( ! fracF64UI( uiA ) ) break;
+ if ( !fracF64UI( uiA ) ) break;
case softfloat_round_near_maxMag:
if ( exp == 0x3FE ) uiZ |= packToF64UI( 0, 0x3FF, 0 );
break;
@@ -70,8 +70,13 @@ float64_t f64_roundToInt( float64_t a, uint_fast8_t roundingMode, bool exact )
if ( uiZ ) uiZ = packToF64UI( 1, 0x3FF, 0 );
break;
case softfloat_round_max:
- if ( ! uiZ ) uiZ = packToF64UI( 0, 0x3FF, 0 );
+ if ( !uiZ ) uiZ = packToF64UI( 0, 0x3FF, 0 );
break;
+#ifdef SOFTFLOAT_ROUND_ODD
+ case softfloat_round_odd:
+ uiZ |= packToF64UI( 0, 0x3FF, 0 );
+ break;
+#endif
}
goto uiZ;
}
@@ -93,7 +98,7 @@ float64_t f64_roundToInt( float64_t a, uint_fast8_t roundingMode, bool exact )
uiZ += lastBitMask>>1;
} else if ( roundingMode == softfloat_round_near_even ) {
uiZ += lastBitMask>>1;
- if ( ! (uiZ & roundBitsMask) ) uiZ &= ~lastBitMask;
+ if ( !(uiZ & roundBitsMask) ) uiZ &= ~lastBitMask;
} else if (
roundingMode
== (signF64UI( uiZ ) ? softfloat_round_min : softfloat_round_max)
@@ -101,8 +106,11 @@ float64_t f64_roundToInt( float64_t a, uint_fast8_t roundingMode, bool exact )
uiZ += roundBitsMask;
}
uiZ &= ~roundBitsMask;
- if ( exact && (uiZ != uiA) ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( uiZ != uiA ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) uiZ |= lastBitMask;
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
uiZ:
uZ.ui = uiZ;
diff --git a/deps/SoftFloat-3d/source/f64_sqrt.c b/deps/SoftFloat-3e/source/f64_sqrt.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_sqrt.c
rename to deps/SoftFloat-3e/source/f64_sqrt.c
index 076411659f928d5bc3f59f13ff41989194f8761d..f9f226b697660f7e3c37620cea8af714a836c6c7 100644
--- a/deps/SoftFloat-3d/source/f64_sqrt.c
+++ b/deps/SoftFloat-3e/source/f64_sqrt.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_sub.c b/deps/SoftFloat-3e/source/f64_sub.c
similarity index 95%
rename from deps/SoftFloat-3d/source/f64_sub.c
rename to deps/SoftFloat-3e/source/f64_sub.c
index bc544b2ef5a96205bdeb5da3e0b8e7f5de7490bb..b5ccb882bbd5b3c9297e58514b1c47f72da48026 100644
--- a/deps/SoftFloat-3d/source/f64_sub.c
+++ b/deps/SoftFloat-3e/source/f64_sub.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_extF80.c b/deps/SoftFloat-3e/source/f64_to_extF80.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_extF80.c
rename to deps/SoftFloat-3e/source/f64_to_extF80.c
index d5b0ff3e20fb5759717ad3ed16927f31692b417a..2799d9b0709ae5e4c099e6df5f653da603acc4cd 100644
--- a/deps/SoftFloat-3d/source/f64_to_extF80.c
+++ b/deps/SoftFloat-3e/source/f64_to_extF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_extF80M.c b/deps/SoftFloat-3e/source/f64_to_extF80M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_extF80M.c
rename to deps/SoftFloat-3e/source/f64_to_extF80M.c
index 90a46f3cea6e61092c4a9ac0b3533f53eba4bec5..a2e67e46fcff95270189685efaaa797ecfa3194d 100644
--- a/deps/SoftFloat-3d/source/f64_to_extF80M.c
+++ b/deps/SoftFloat-3e/source/f64_to_extF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_f128.c b/deps/SoftFloat-3e/source/f64_to_f128.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_f128.c
rename to deps/SoftFloat-3e/source/f64_to_f128.c
index 79c4f751671e8f0d5f9d3c4505ca13fbaf578f83..60af3b0be1aa127b898acc66d4cdbf2883fa4a7e 100644
--- a/deps/SoftFloat-3d/source/f64_to_f128.c
+++ b/deps/SoftFloat-3e/source/f64_to_f128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_f128M.c b/deps/SoftFloat-3e/source/f64_to_f128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_f128M.c
rename to deps/SoftFloat-3e/source/f64_to_f128M.c
index 51718e76a0e2b272da78cccd2357240b32e36eef..fbc4515373972372c35050d0c95cc6800f194cce 100644
--- a/deps/SoftFloat-3d/source/f64_to_f128M.c
+++ b/deps/SoftFloat-3e/source/f64_to_f128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_f16.c b/deps/SoftFloat-3e/source/f64_to_f16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_f16.c
rename to deps/SoftFloat-3e/source/f64_to_f16.c
index 8a68789454ffc8f446ace0e192b336675ded2c8c..121e3062a0419e43d8a8f449f4738fbc8aeb4294 100644
--- a/deps/SoftFloat-3d/source/f64_to_f16.c
+++ b/deps/SoftFloat-3e/source/f64_to_f16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_f32.c b/deps/SoftFloat-3e/source/f64_to_f32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_f32.c
rename to deps/SoftFloat-3e/source/f64_to_f32.c
index f5dba28534850f6a09c5a06286b6f2a6ab767434..a18106556da3313fc13f1401dc52645b8619a045 100644
--- a/deps/SoftFloat-3d/source/f64_to_f32.c
+++ b/deps/SoftFloat-3e/source/f64_to_f32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_i32.c b/deps/SoftFloat-3e/source/f64_to_i32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_i32.c
rename to deps/SoftFloat-3e/source/f64_to_i32.c
index 0d579b53c87186c15418a9916ab9a1105d54c745..8d9785b0bc626e0300749a9e12dd94b23377cca9 100644
--- a/deps/SoftFloat-3d/source/f64_to_i32.c
+++ b/deps/SoftFloat-3e/source/f64_to_i32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_i32_r_minMag.c b/deps/SoftFloat-3e/source/f64_to_i32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_i32_r_minMag.c
rename to deps/SoftFloat-3e/source/f64_to_i32_r_minMag.c
index fcf93768fcad3670db6f0a5c8ba2ac88b275ed48..8b7a91f1c06870dd1dd77929e64e4017be8ffe89 100644
--- a/deps/SoftFloat-3d/source/f64_to_i32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f64_to_i32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_i64.c b/deps/SoftFloat-3e/source/f64_to_i64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_i64.c
rename to deps/SoftFloat-3e/source/f64_to_i64.c
index 3957269fb288cc7179ec2af5940c947b7cc565de..7199643ac8aca0806d8216a84d8d225b87227be9 100644
--- a/deps/SoftFloat-3d/source/f64_to_i64.c
+++ b/deps/SoftFloat-3e/source/f64_to_i64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_i64_r_minMag.c b/deps/SoftFloat-3e/source/f64_to_i64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_i64_r_minMag.c
rename to deps/SoftFloat-3e/source/f64_to_i64_r_minMag.c
index b8de0b504cf06e99229c6c9185c057fe6d7732a6..56c6a101016e6715c3091bb9fb67ff07b1da45ec 100644
--- a/deps/SoftFloat-3d/source/f64_to_i64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f64_to_i64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_ui32.c b/deps/SoftFloat-3e/source/f64_to_ui32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_ui32.c
rename to deps/SoftFloat-3e/source/f64_to_ui32.c
index c6e52755dbe6d7b210e700dc000090a12c1a2c30..9d2114633bf0fed78433ae64aec6dd4ea475bd41 100644
--- a/deps/SoftFloat-3d/source/f64_to_ui32.c
+++ b/deps/SoftFloat-3e/source/f64_to_ui32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_ui32_r_minMag.c b/deps/SoftFloat-3e/source/f64_to_ui32_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_ui32_r_minMag.c
rename to deps/SoftFloat-3e/source/f64_to_ui32_r_minMag.c
index 8876e13b9b623ce720ecd95e03d942c89c69a583..6e3d14e8f3384c280e95dbda53902c453bbd0e08 100644
--- a/deps/SoftFloat-3d/source/f64_to_ui32_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f64_to_ui32_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_ui64.c b/deps/SoftFloat-3e/source/f64_to_ui64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_ui64.c
rename to deps/SoftFloat-3e/source/f64_to_ui64.c
index 95b94c8ca30afd801dbf3894a5edda2b2d3f3662..292e47a44c8edf6d3c2d4a670bd7e0841bff0b5d 100644
--- a/deps/SoftFloat-3d/source/f64_to_ui64.c
+++ b/deps/SoftFloat-3e/source/f64_to_ui64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/f64_to_ui64_r_minMag.c b/deps/SoftFloat-3e/source/f64_to_ui64_r_minMag.c
similarity index 96%
rename from deps/SoftFloat-3d/source/f64_to_ui64_r_minMag.c
rename to deps/SoftFloat-3e/source/f64_to_ui64_r_minMag.c
index ddbfa9b8887de21cab89dfde799ceb59a41b4939..87eb0d05cb3bf393b2555bd632c9126642c02e6b 100644
--- a/deps/SoftFloat-3d/source/f64_to_ui64_r_minMag.c
+++ b/deps/SoftFloat-3e/source/f64_to_ui64_r_minMag.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i32_to_extF80.c b/deps/SoftFloat-3e/source/i32_to_extF80.c
similarity index 95%
rename from deps/SoftFloat-3d/source/i32_to_extF80.c
rename to deps/SoftFloat-3e/source/i32_to_extF80.c
index 43b394848a588e7b220b702462634984d981ead5..8036fa9f1186d13fba75f567c2926e168327a23e 100644
--- a/deps/SoftFloat-3d/source/i32_to_extF80.c
+++ b/deps/SoftFloat-3e/source/i32_to_extF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i32_to_extF80M.c b/deps/SoftFloat-3e/source/i32_to_extF80M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/i32_to_extF80M.c
rename to deps/SoftFloat-3e/source/i32_to_extF80M.c
index 236b04353d811147cbea2792f532106a0df619da..6d5431c1c19c661cea21fcdc12de086dc9b5b069 100644
--- a/deps/SoftFloat-3d/source/i32_to_extF80M.c
+++ b/deps/SoftFloat-3e/source/i32_to_extF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i32_to_f128.c b/deps/SoftFloat-3e/source/i32_to_f128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/i32_to_f128.c
rename to deps/SoftFloat-3e/source/i32_to_f128.c
index 76894a18b77d8a65319fb0aa9e648f784832951f..a7d55cba429a872d183befe6481d4244e050fc32 100644
--- a/deps/SoftFloat-3d/source/i32_to_f128.c
+++ b/deps/SoftFloat-3e/source/i32_to_f128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i32_to_f128M.c b/deps/SoftFloat-3e/source/i32_to_f128M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/i32_to_f128M.c
rename to deps/SoftFloat-3e/source/i32_to_f128M.c
index 82c6f06bb25280cbb5c57d9ea79ccece90c9f1a1..beb3c1012644821449d4db389bc1d7cea0fdbb12 100644
--- a/deps/SoftFloat-3d/source/i32_to_f128M.c
+++ b/deps/SoftFloat-3e/source/i32_to_f128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i32_to_f16.c b/deps/SoftFloat-3e/source/i32_to_f16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/i32_to_f16.c
rename to deps/SoftFloat-3e/source/i32_to_f16.c
index d75601cb51ce7ccea1af2d98309935307d7ed515..d3117248a233942e1d97f2a03ffd2c421e50ce94 100644
--- a/deps/SoftFloat-3d/source/i32_to_f16.c
+++ b/deps/SoftFloat-3e/source/i32_to_f16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i32_to_f32.c b/deps/SoftFloat-3e/source/i32_to_f32.c
similarity index 95%
rename from deps/SoftFloat-3d/source/i32_to_f32.c
rename to deps/SoftFloat-3e/source/i32_to_f32.c
index 3ba93b1069ce0e6812471d5498b316469185b12d..e6de3e837a048ac469f261e86fa017cc0ca833c4 100644
--- a/deps/SoftFloat-3d/source/i32_to_f32.c
+++ b/deps/SoftFloat-3e/source/i32_to_f32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i32_to_f64.c b/deps/SoftFloat-3e/source/i32_to_f64.c
similarity index 95%
rename from deps/SoftFloat-3d/source/i32_to_f64.c
rename to deps/SoftFloat-3e/source/i32_to_f64.c
index 9d5203126943c7ab1367bc02d14b1b9f04c7b98c..24feda542d245950ef9713249725dd0ac2655d2b 100644
--- a/deps/SoftFloat-3d/source/i32_to_f64.c
+++ b/deps/SoftFloat-3e/source/i32_to_f64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i64_to_extF80.c b/deps/SoftFloat-3e/source/i64_to_extF80.c
similarity index 95%
rename from deps/SoftFloat-3d/source/i64_to_extF80.c
rename to deps/SoftFloat-3e/source/i64_to_extF80.c
index e180004ea86d294c1fa4807c54a550d88b289d5d..a1000be7776df3d2cd24d22767f4ea971fd250fe 100644
--- a/deps/SoftFloat-3d/source/i64_to_extF80.c
+++ b/deps/SoftFloat-3e/source/i64_to_extF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i64_to_extF80M.c b/deps/SoftFloat-3e/source/i64_to_extF80M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/i64_to_extF80M.c
rename to deps/SoftFloat-3e/source/i64_to_extF80M.c
index 37a3da98438461b365e913574427c79afad41ad0..4838dde6dbbbc7dc1951f542c7a81aa93a7983f7 100644
--- a/deps/SoftFloat-3d/source/i64_to_extF80M.c
+++ b/deps/SoftFloat-3e/source/i64_to_extF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i64_to_f128.c b/deps/SoftFloat-3e/source/i64_to_f128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/i64_to_f128.c
rename to deps/SoftFloat-3e/source/i64_to_f128.c
index 51c80973410c3506e347017e6cac5034644d2e32..fcb0179392c5674bbf0b28faf02669257efaef36 100644
--- a/deps/SoftFloat-3d/source/i64_to_f128.c
+++ b/deps/SoftFloat-3e/source/i64_to_f128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i64_to_f128M.c b/deps/SoftFloat-3e/source/i64_to_f128M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/i64_to_f128M.c
rename to deps/SoftFloat-3e/source/i64_to_f128M.c
index 6d0caf633969a7c307261575f7920d9cd7d247c6..0a04eb8d072bd1fcf38cde8d4c300b6f29600c88 100644
--- a/deps/SoftFloat-3d/source/i64_to_f128M.c
+++ b/deps/SoftFloat-3e/source/i64_to_f128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i64_to_f16.c b/deps/SoftFloat-3e/source/i64_to_f16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/i64_to_f16.c
rename to deps/SoftFloat-3e/source/i64_to_f16.c
index 002161f1a2269a37d16cdab8a30ec5c828d60563..cef7b6133a03b62f91adb40d165f441ffb5bb103 100644
--- a/deps/SoftFloat-3d/source/i64_to_f16.c
+++ b/deps/SoftFloat-3e/source/i64_to_f16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i64_to_f32.c b/deps/SoftFloat-3e/source/i64_to_f32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/i64_to_f32.c
rename to deps/SoftFloat-3e/source/i64_to_f32.c
index 0184caade292f6ae30d8ec678d45744d9c2ff73b..ca1dc7452be21b1cccb436f274a095a15cdf2fe0 100644
--- a/deps/SoftFloat-3d/source/i64_to_f32.c
+++ b/deps/SoftFloat-3e/source/i64_to_f32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/i64_to_f64.c b/deps/SoftFloat-3e/source/i64_to_f64.c
similarity index 95%
rename from deps/SoftFloat-3d/source/i64_to_f64.c
rename to deps/SoftFloat-3e/source/i64_to_f64.c
index f85283d3d05a9334b4af16c073642566523d6237..ea9e821adf201175ab92a5e8242aebf05a661ed7 100644
--- a/deps/SoftFloat-3d/source/i64_to_f64.c
+++ b/deps/SoftFloat-3e/source/i64_to_f64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/include/internals.h b/deps/SoftFloat-3e/source/include/internals.h
similarity index 97%
rename from deps/SoftFloat-3d/source/include/internals.h
rename to deps/SoftFloat-3e/source/include/internals.h
index c3cd38d4bdd4534e9c40cd47cac142aa6dec3faf..020b3402f59f640ff6c76c322444623614c67cfb 100644
--- a/deps/SoftFloat-3d/source/include/internals.h
+++ b/deps/SoftFloat-3e/source/include/internals.h
@@ -2,7 +2,7 @@
/*============================================================================
This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3e/source/include/opts-GCC.h b/deps/SoftFloat-3e/source/include/opts-GCC.h
new file mode 100644
index 0000000000000000000000000000000000000000..18c1523e9205298fe38fe0a0fda61fad1054f6c0
--- /dev/null
+++ b/deps/SoftFloat-3e/source/include/opts-GCC.h
@@ -0,0 +1,114 @@
+
+/*============================================================================
+
+This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic
+Package, Release 3e, by John R. Hauser.
+
+Copyright 2017 The Regents of the University of California. All rights
+reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 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.
+
+=============================================================================*/
+
+#ifndef opts_GCC_h
+#define opts_GCC_h 1
+
+#ifdef INLINE
+
+#include
+#include "primitiveTypes.h"
+
+#ifdef SOFTFLOAT_BUILTIN_CLZ
+
+INLINE uint_fast8_t softfloat_countLeadingZeros16( uint16_t a )
+ { return a ? __builtin_clz( a ) - 16 : 16; }
+#define softfloat_countLeadingZeros16 softfloat_countLeadingZeros16
+
+INLINE uint_fast8_t softfloat_countLeadingZeros32( uint32_t a )
+ { return a ? __builtin_clz( a ) : 32; }
+#define softfloat_countLeadingZeros32 softfloat_countLeadingZeros32
+
+INLINE uint_fast8_t softfloat_countLeadingZeros64( uint64_t a )
+ { return a ? __builtin_clzll( a ) : 64; }
+#define softfloat_countLeadingZeros64 softfloat_countLeadingZeros64
+
+#endif
+
+#ifdef SOFTFLOAT_INTRINSIC_INT128
+
+INLINE struct uint128 softfloat_mul64ByShifted32To128( uint64_t a, uint32_t b )
+{
+ union { unsigned __int128 ui; struct uint128 s; } uZ;
+ uZ.ui = (unsigned __int128) a * ((uint_fast64_t) b<<32);
+ return uZ.s;
+}
+#define softfloat_mul64ByShifted32To128 softfloat_mul64ByShifted32To128
+
+INLINE struct uint128 softfloat_mul64To128( uint64_t a, uint64_t b )
+{
+ union { unsigned __int128 ui; struct uint128 s; } uZ;
+ uZ.ui = (unsigned __int128) a * b;
+ return uZ.s;
+}
+#define softfloat_mul64To128 softfloat_mul64To128
+
+INLINE
+struct uint128 softfloat_mul128By32( uint64_t a64, uint64_t a0, uint32_t b )
+{
+ union { unsigned __int128 ui; struct uint128 s; } uZ;
+ uZ.ui = ((unsigned __int128) a64<<64 | a0) * b;
+ return uZ.s;
+}
+#define softfloat_mul128By32 softfloat_mul128By32
+
+INLINE
+void
+ softfloat_mul128To256M(
+ uint64_t a64, uint64_t a0, uint64_t b64, uint64_t b0, uint64_t *zPtr )
+{
+ unsigned __int128 z0, mid1, mid, z128;
+ z0 = (unsigned __int128) a0 * b0;
+ mid1 = (unsigned __int128) a64 * b0;
+ mid = mid1 + (unsigned __int128) a0 * b64;
+ z128 = (unsigned __int128) a64 * b64;
+ z128 += (unsigned __int128) (mid < mid1)<<64 | mid>>64;
+ mid <<= 64;
+ z0 += mid;
+ z128 += (z0 < mid);
+ zPtr[indexWord( 4, 0 )] = z0;
+ zPtr[indexWord( 4, 1 )] = z0>>64;
+ zPtr[indexWord( 4, 2 )] = z128;
+ zPtr[indexWord( 4, 3 )] = z128>>64;
+}
+#define softfloat_mul128To256M softfloat_mul128To256M
+
+#endif
+
+#endif
+
+#endif
+
diff --git a/deps/SoftFloat-3d/source/include/primitiveTypes.h b/deps/SoftFloat-3e/source/include/primitiveTypes.h
similarity index 96%
rename from deps/SoftFloat-3d/source/include/primitiveTypes.h
rename to deps/SoftFloat-3e/source/include/primitiveTypes.h
index 845113a0c6ed5abf0d92d6b0474d4e632539720c..a4a6dd11c65c4d5940f2684713154a7f9b29f2ea 100644
--- a/deps/SoftFloat-3d/source/include/primitiveTypes.h
+++ b/deps/SoftFloat-3e/source/include/primitiveTypes.h
@@ -2,7 +2,7 @@
/*============================================================================
This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/include/primitives.h b/deps/SoftFloat-3e/source/include/primitives.h
similarity index 97%
rename from deps/SoftFloat-3d/source/include/primitives.h
rename to deps/SoftFloat-3e/source/include/primitives.h
index 68d280172c8a27a28f44d5d404df4ded1c9b86e1..863ab45b57ca4079bd193d1e27416ddc684a7b3e 100644
--- a/deps/SoftFloat-3d/source/include/primitives.h
+++ b/deps/SoftFloat-3e/source/include/primitives.h
@@ -2,7 +2,7 @@
/*============================================================================
This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/include/softfloat.h b/deps/SoftFloat-3e/source/include/softfloat.h
similarity index 97%
rename from deps/SoftFloat-3d/source/include/softfloat.h
rename to deps/SoftFloat-3e/source/include/softfloat.h
index bfabcacf6445c226a6f049e3ca6fe6cdabab9a24..b33374cd6c8b0f4b9db3b98bff5b8a66be228826 100644
--- a/deps/SoftFloat-3d/source/include/softfloat.h
+++ b/deps/SoftFloat-3e/source/include/softfloat.h
@@ -2,7 +2,7 @@
/*============================================================================
This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
@@ -74,7 +74,7 @@ enum {
softfloat_round_min = 2,
softfloat_round_max = 3,
softfloat_round_near_maxMag = 4,
- softfloat_round_odd = 5
+ softfloat_round_odd = 6
};
/*----------------------------------------------------------------------------
diff --git a/deps/SoftFloat-3d/source/include/softfloat_types.h b/deps/SoftFloat-3e/source/include/softfloat_types.h
similarity index 97%
rename from deps/SoftFloat-3d/source/include/softfloat_types.h
rename to deps/SoftFloat-3e/source/include/softfloat_types.h
index c646fc0677592cbebcbb58bf289b937cdbb3c202..bc30e31440667fce3019797398efef9de1a65b5b 100644
--- a/deps/SoftFloat-3d/source/include/softfloat_types.h
+++ b/deps/SoftFloat-3e/source/include/softfloat_types.h
@@ -2,7 +2,7 @@
/*============================================================================
This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_add128.c b/deps/SoftFloat-3e/source/s_add128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_add128.c
rename to deps/SoftFloat-3e/source/s_add128.c
index 584cabc7df79753482d0a280a874099582673531..5a9d5082a0b7dd17bf85eef181a3a5dfa2b6cd1f 100644
--- a/deps/SoftFloat-3d/source/s_add128.c
+++ b/deps/SoftFloat-3e/source/s_add128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_add256M.c b/deps/SoftFloat-3e/source/s_add256M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_add256M.c
rename to deps/SoftFloat-3e/source/s_add256M.c
index 44175ddfdd7e4759a37236be90ac1621dec2a8cc..4fb46a1742cb8390e734a7a41cb099dce824fb90 100644
--- a/deps/SoftFloat-3d/source/s_add256M.c
+++ b/deps/SoftFloat-3e/source/s_add256M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_addCarryM.c b/deps/SoftFloat-3e/source/s_addCarryM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_addCarryM.c
rename to deps/SoftFloat-3e/source/s_addCarryM.c
index d626b5d88d78e25f5791e3602d653066330423ba..f0ccf6724764475032a5d5299940a893243c538e 100644
--- a/deps/SoftFloat-3d/source/s_addCarryM.c
+++ b/deps/SoftFloat-3e/source/s_addCarryM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_addComplCarryM.c b/deps/SoftFloat-3e/source/s_addComplCarryM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_addComplCarryM.c
rename to deps/SoftFloat-3e/source/s_addComplCarryM.c
index f6781c25ca8e6f5d944c865677b178de1b739150..e1584c669a18a709e0ecf6390b37fb4cea00e386 100644
--- a/deps/SoftFloat-3d/source/s_addComplCarryM.c
+++ b/deps/SoftFloat-3e/source/s_addComplCarryM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_addExtF80M.c b/deps/SoftFloat-3e/source/s_addExtF80M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_addExtF80M.c
rename to deps/SoftFloat-3e/source/s_addExtF80M.c
index 551e45d37a823a096c5ce1191588a4d6ba4935b8..febfb65773dde8b8ce019759695b59c705e5cd47 100644
--- a/deps/SoftFloat-3d/source/s_addExtF80M.c
+++ b/deps/SoftFloat-3e/source/s_addExtF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_addF128M.c b/deps/SoftFloat-3e/source/s_addF128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_addF128M.c
rename to deps/SoftFloat-3e/source/s_addF128M.c
index 8bdaa14d2c74b9b39ca5056f503700e9529d85c5..8ed9d271fabba469fafdb2efd07738b47e8123e5 100644
--- a/deps/SoftFloat-3d/source/s_addF128M.c
+++ b/deps/SoftFloat-3e/source/s_addF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_addM.c b/deps/SoftFloat-3e/source/s_addM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_addM.c
rename to deps/SoftFloat-3e/source/s_addM.c
index 797a133b8472fb72f5ee7acab272a6a03cb1eab3..c935baaf7c9e08583a4148cf6e8505559e6b5d65 100644
--- a/deps/SoftFloat-3d/source/s_addM.c
+++ b/deps/SoftFloat-3e/source/s_addM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_addMagsExtF80.c b/deps/SoftFloat-3e/source/s_addMagsExtF80.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_addMagsExtF80.c
rename to deps/SoftFloat-3e/source/s_addMagsExtF80.c
index f053fd4c9a6e15b0a8f51bd1eec7b56e85955293..b1bb5dbe64a77c9ad41427958bb4395e099af59b 100644
--- a/deps/SoftFloat-3d/source/s_addMagsExtF80.c
+++ b/deps/SoftFloat-3e/source/s_addMagsExtF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_addMagsF128.c b/deps/SoftFloat-3e/source/s_addMagsF128.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_addMagsF128.c
rename to deps/SoftFloat-3e/source/s_addMagsF128.c
index 63d5236c82f4ec6ae8f972d25fbe8547e695a405..8e5ce5b34e16076b84d946035609991f3ad22e57 100644
--- a/deps/SoftFloat-3d/source/s_addMagsF128.c
+++ b/deps/SoftFloat-3e/source/s_addMagsF128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_addMagsF16.c b/deps/SoftFloat-3e/source/s_addMagsF16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_addMagsF16.c
rename to deps/SoftFloat-3e/source/s_addMagsF16.c
index 1bacd90e873cb7f9d5df27b5199c2587f36df6b6..b7fba09283e8af8f403f31286dd29684e619de18 100644
--- a/deps/SoftFloat-3d/source/s_addMagsF16.c
+++ b/deps/SoftFloat-3e/source/s_addMagsF16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_addMagsF32.c b/deps/SoftFloat-3e/source/s_addMagsF32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_addMagsF32.c
rename to deps/SoftFloat-3e/source/s_addMagsF32.c
index 4e16047304dba5588edb4d518f05a2d1a201bb2d..b74489decefef2d25676d5f11038c9b74d648397 100644
--- a/deps/SoftFloat-3d/source/s_addMagsF32.c
+++ b/deps/SoftFloat-3e/source/s_addMagsF32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_addMagsF64.c b/deps/SoftFloat-3e/source/s_addMagsF64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_addMagsF64.c
rename to deps/SoftFloat-3e/source/s_addMagsF64.c
index 7890d15a35c1ca5a1eff4ea8d64e99ffb5cb7532..e8a4898745623b091a6d1cfaeddbc9961f17d964 100644
--- a/deps/SoftFloat-3d/source/s_addMagsF64.c
+++ b/deps/SoftFloat-3e/source/s_addMagsF64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_approxRecip32_1.c b/deps/SoftFloat-3e/source/s_approxRecip32_1.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_approxRecip32_1.c
rename to deps/SoftFloat-3e/source/s_approxRecip32_1.c
index 332fc53e72db08a19f21e9b9967f8d3ae7f8f49c..4a326a438fe4b9d219c841ba3bbe0e849a4beced 100644
--- a/deps/SoftFloat-3d/source/s_approxRecip32_1.c
+++ b/deps/SoftFloat-3e/source/s_approxRecip32_1.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_approxRecipSqrt32_1.c b/deps/SoftFloat-3e/source/s_approxRecipSqrt32_1.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_approxRecipSqrt32_1.c
rename to deps/SoftFloat-3e/source/s_approxRecipSqrt32_1.c
index 606c010a63c83e685a134dc35c164be27446265f..b3fdeba68b75ae52646ddf207747749851ef94ce 100644
--- a/deps/SoftFloat-3d/source/s_approxRecipSqrt32_1.c
+++ b/deps/SoftFloat-3e/source/s_approxRecipSqrt32_1.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_approxRecipSqrt_1Ks.c b/deps/SoftFloat-3e/source/s_approxRecipSqrt_1Ks.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_approxRecipSqrt_1Ks.c
rename to deps/SoftFloat-3e/source/s_approxRecipSqrt_1Ks.c
index 76d34fb533531b5dae091181c6e3dd738c2c71de..38a27985c03ed4df425729cfd5467ea4c9412ac8 100644
--- a/deps/SoftFloat-3d/source/s_approxRecipSqrt_1Ks.c
+++ b/deps/SoftFloat-3e/source/s_approxRecipSqrt_1Ks.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_approxRecip_1Ks.c b/deps/SoftFloat-3e/source/s_approxRecip_1Ks.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_approxRecip_1Ks.c
rename to deps/SoftFloat-3e/source/s_approxRecip_1Ks.c
index 2c373065a292840336943ef0f82835311969eb4d..f1fca74e73b71d6cda61bfec06eee5aa620bf096 100644
--- a/deps/SoftFloat-3d/source/s_approxRecip_1Ks.c
+++ b/deps/SoftFloat-3e/source/s_approxRecip_1Ks.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_compare128M.c b/deps/SoftFloat-3e/source/s_compare128M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_compare128M.c
rename to deps/SoftFloat-3e/source/s_compare128M.c
index c215195776acfef5e8ade0337f227fbe356817a2..dc97ce9e50151e4f263e98ca2226873ada70f58a 100644
--- a/deps/SoftFloat-3d/source/s_compare128M.c
+++ b/deps/SoftFloat-3e/source/s_compare128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_compare96M.c b/deps/SoftFloat-3e/source/s_compare96M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_compare96M.c
rename to deps/SoftFloat-3e/source/s_compare96M.c
index eda3b46139ea990de0da163251e5eacbb19ecdf4..2681c46274ac085f4e38fea80e36af8661bf8372 100644
--- a/deps/SoftFloat-3d/source/s_compare96M.c
+++ b/deps/SoftFloat-3e/source/s_compare96M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_compareNonnormExtF80M.c b/deps/SoftFloat-3e/source/s_compareNonnormExtF80M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_compareNonnormExtF80M.c
rename to deps/SoftFloat-3e/source/s_compareNonnormExtF80M.c
index 9723d6e2e7c35da85c94c2a7c3e2b2a2c8f139bc..2673153048c1791ef6df270259c14886a709d851 100644
--- a/deps/SoftFloat-3d/source/s_compareNonnormExtF80M.c
+++ b/deps/SoftFloat-3e/source/s_compareNonnormExtF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_countLeadingZeros16.c b/deps/SoftFloat-3e/source/s_countLeadingZeros16.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_countLeadingZeros16.c
rename to deps/SoftFloat-3e/source/s_countLeadingZeros16.c
index e5bd10e4e08578a0c17a07e40725094167b50017..7a68da52f35e162dec5a241f8c29779ecadacebd 100644
--- a/deps/SoftFloat-3d/source/s_countLeadingZeros16.c
+++ b/deps/SoftFloat-3e/source/s_countLeadingZeros16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_countLeadingZeros32.c b/deps/SoftFloat-3e/source/s_countLeadingZeros32.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_countLeadingZeros32.c
rename to deps/SoftFloat-3e/source/s_countLeadingZeros32.c
index c35c014ce162468e4669e65b60fdeca3e4eb011a..53ab22824f7e1b05e3dca4d5853ad2b1db0dd936 100644
--- a/deps/SoftFloat-3d/source/s_countLeadingZeros32.c
+++ b/deps/SoftFloat-3e/source/s_countLeadingZeros32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_countLeadingZeros64.c b/deps/SoftFloat-3e/source/s_countLeadingZeros64.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_countLeadingZeros64.c
rename to deps/SoftFloat-3e/source/s_countLeadingZeros64.c
index d9b2641e7f0e85482ecf90f0c18a8eec46a5963e..13a2224636439d880ca79557fcb728ab5172e965 100644
--- a/deps/SoftFloat-3d/source/s_countLeadingZeros64.c
+++ b/deps/SoftFloat-3e/source/s_countLeadingZeros64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_countLeadingZeros8.c b/deps/SoftFloat-3e/source/s_countLeadingZeros8.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_countLeadingZeros8.c
rename to deps/SoftFloat-3e/source/s_countLeadingZeros8.c
index a84beb8366a49d0b66e79e66ce3ad36a5c5dd80a..a56f5a40c52e3e7eecbf059dc7c8dee9382f3f02 100644
--- a/deps/SoftFloat-3d/source/s_countLeadingZeros8.c
+++ b/deps/SoftFloat-3e/source/s_countLeadingZeros8.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_eq128.c b/deps/SoftFloat-3e/source/s_eq128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_eq128.c
rename to deps/SoftFloat-3e/source/s_eq128.c
index 9fdb92fc0c3fb7a7244e1414316d300060a61a08..275b8ae29942a4a847b668d2067ddddf9dfae533 100644
--- a/deps/SoftFloat-3d/source/s_eq128.c
+++ b/deps/SoftFloat-3e/source/s_eq128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_invalidExtF80M.c b/deps/SoftFloat-3e/source/s_invalidExtF80M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_invalidExtF80M.c
rename to deps/SoftFloat-3e/source/s_invalidExtF80M.c
index f2ac22f33bdc46bd7886d1eb4d6d6a90387755a8..237d217212eff02835e4d7310fde914987844634 100644
--- a/deps/SoftFloat-3d/source/s_invalidExtF80M.c
+++ b/deps/SoftFloat-3e/source/s_invalidExtF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_invalidF128M.c b/deps/SoftFloat-3e/source/s_invalidF128M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_invalidF128M.c
rename to deps/SoftFloat-3e/source/s_invalidF128M.c
index 41f669a831c88e2465e5208dc97549ea2e6f10e6..a20840e5f55613e9a17e3e482f582e0c9d3fe37a 100644
--- a/deps/SoftFloat-3d/source/s_invalidF128M.c
+++ b/deps/SoftFloat-3e/source/s_invalidF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_isNaNF128M.c b/deps/SoftFloat-3e/source/s_isNaNF128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_isNaNF128M.c
rename to deps/SoftFloat-3e/source/s_isNaNF128M.c
index 84ebd33c9255afe6ea3fbaf162f85058adb598c9..6008cf3ebc19bd4719071da084104b58dd8f7932 100644
--- a/deps/SoftFloat-3d/source/s_isNaNF128M.c
+++ b/deps/SoftFloat-3e/source/s_isNaNF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_le128.c b/deps/SoftFloat-3e/source/s_le128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_le128.c
rename to deps/SoftFloat-3e/source/s_le128.c
index 5e493d0f9bd9e6649867bbbd4bf918188073815e..1fce7af98ea2ca722035bcf055561cd3e73956f1 100644
--- a/deps/SoftFloat-3d/source/s_le128.c
+++ b/deps/SoftFloat-3e/source/s_le128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_lt128.c b/deps/SoftFloat-3e/source/s_lt128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_lt128.c
rename to deps/SoftFloat-3e/source/s_lt128.c
index 763fa947800786ca351d4c7c924048175aa596f9..d7ce3b9971548226091e7ffba069db0c49c05f4b 100644
--- a/deps/SoftFloat-3d/source/s_lt128.c
+++ b/deps/SoftFloat-3e/source/s_lt128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_mul128By32.c b/deps/SoftFloat-3e/source/s_mul128By32.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_mul128By32.c
rename to deps/SoftFloat-3e/source/s_mul128By32.c
index 8f1d1cd9d8752381a67a94275af44d2cf54e4441..7c0fdc8679499ec183ab64597134026b34633241 100644
--- a/deps/SoftFloat-3d/source/s_mul128By32.c
+++ b/deps/SoftFloat-3e/source/s_mul128By32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_mul128MTo256M.c b/deps/SoftFloat-3e/source/s_mul128MTo256M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_mul128MTo256M.c
rename to deps/SoftFloat-3e/source/s_mul128MTo256M.c
index cc07d9661d32dd528f82cf525230fad44c8cf8a9..ea8865ea35296a824561a2df359fb799ed4798b7 100644
--- a/deps/SoftFloat-3d/source/s_mul128MTo256M.c
+++ b/deps/SoftFloat-3e/source/s_mul128MTo256M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_mul128To256M.c b/deps/SoftFloat-3e/source/s_mul128To256M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_mul128To256M.c
rename to deps/SoftFloat-3e/source/s_mul128To256M.c
index 07bd0051adce5a75863dd65d274ac19ef7c96ee3..7c9d9b58414031b4fa047d3c3f79ae4fca30fb45 100644
--- a/deps/SoftFloat-3d/source/s_mul128To256M.c
+++ b/deps/SoftFloat-3e/source/s_mul128To256M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_mul64ByShifted32To128.c b/deps/SoftFloat-3e/source/s_mul64ByShifted32To128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_mul64ByShifted32To128.c
rename to deps/SoftFloat-3e/source/s_mul64ByShifted32To128.c
index b9a3c2a2378545f220b8861e5881bb6f55a6b09b..57e528888bfdda38871b3ae48f6897403672382b 100644
--- a/deps/SoftFloat-3d/source/s_mul64ByShifted32To128.c
+++ b/deps/SoftFloat-3e/source/s_mul64ByShifted32To128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_mul64To128.c b/deps/SoftFloat-3e/source/s_mul64To128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_mul64To128.c
rename to deps/SoftFloat-3e/source/s_mul64To128.c
index 6101b951701caf31b4f3e554d97139387fb2373a..5d360aa4b81eeeef4a03aa196dcfd7633434c5f6 100644
--- a/deps/SoftFloat-3d/source/s_mul64To128.c
+++ b/deps/SoftFloat-3e/source/s_mul64To128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_mul64To128M.c b/deps/SoftFloat-3e/source/s_mul64To128M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_mul64To128M.c
rename to deps/SoftFloat-3e/source/s_mul64To128M.c
index 89883c52497ac1a2bd816a783df4072b5ab19528..ed10be3243dbe1a59729bd8ad1c0cb7d8776c5e3 100644
--- a/deps/SoftFloat-3d/source/s_mul64To128M.c
+++ b/deps/SoftFloat-3e/source/s_mul64To128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_mulAddF128.c b/deps/SoftFloat-3e/source/s_mulAddF128.c
similarity index 97%
rename from deps/SoftFloat-3d/source/s_mulAddF128.c
rename to deps/SoftFloat-3e/source/s_mulAddF128.c
index 1fa3db1d0e1106c364445629af33841f0480eab0..f6b2b45df0cabd0234c063885607c9dca3b5bb6b 100644
--- a/deps/SoftFloat-3d/source/s_mulAddF128.c
+++ b/deps/SoftFloat-3e/source/s_mulAddF128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_mulAddF128M.c b/deps/SoftFloat-3e/source/s_mulAddF128M.c
similarity index 97%
rename from deps/SoftFloat-3d/source/s_mulAddF128M.c
rename to deps/SoftFloat-3e/source/s_mulAddF128M.c
index ac33bb5dfda5343c9c1bd71c7f4420c70f25039f..f51fc71d28e3f2125623b0fac7b01afc9dc01d6c 100644
--- a/deps/SoftFloat-3d/source/s_mulAddF128M.c
+++ b/deps/SoftFloat-3e/source/s_mulAddF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_mulAddF16.c b/deps/SoftFloat-3e/source/s_mulAddF16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_mulAddF16.c
rename to deps/SoftFloat-3e/source/s_mulAddF16.c
index aaee78c3a6dee74647afc4aa7b3dd84a93ca1a37..3a684ac32c6d154f10849da5d8cc9af196c5eb46 100644
--- a/deps/SoftFloat-3d/source/s_mulAddF16.c
+++ b/deps/SoftFloat-3e/source/s_mulAddF16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_mulAddF32.c b/deps/SoftFloat-3e/source/s_mulAddF32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_mulAddF32.c
rename to deps/SoftFloat-3e/source/s_mulAddF32.c
index b709c8c61fdb921972531b9696b1cc3bb73b84aa..6cdd9fdc07e1b8badc9cd4cde4f721d2880004b9 100644
--- a/deps/SoftFloat-3d/source/s_mulAddF32.c
+++ b/deps/SoftFloat-3e/source/s_mulAddF32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_mulAddF64.c b/deps/SoftFloat-3e/source/s_mulAddF64.c
similarity index 97%
rename from deps/SoftFloat-3d/source/s_mulAddF64.c
rename to deps/SoftFloat-3e/source/s_mulAddF64.c
index 76cf30e89cf30eb313a6d07067677abe7c00d38d..b8bb4c430aae0b5a8416363a9bd99a84b1c54276 100644
--- a/deps/SoftFloat-3d/source/s_mulAddF64.c
+++ b/deps/SoftFloat-3e/source/s_mulAddF64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_negXM.c b/deps/SoftFloat-3e/source/s_negXM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_negXM.c
rename to deps/SoftFloat-3e/source/s_negXM.c
index cf52c616a47662a33da63214da11c48d02d48ba4..ec8c928861ca926b92d19de39849b2525db795e2 100644
--- a/deps/SoftFloat-3d/source/s_negXM.c
+++ b/deps/SoftFloat-3e/source/s_negXM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normExtF80SigM.c b/deps/SoftFloat-3e/source/s_normExtF80SigM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_normExtF80SigM.c
rename to deps/SoftFloat-3e/source/s_normExtF80SigM.c
index 3b7b44dbdb7536b58b94c149e7616bb87309521d..acc54dc63c8d08f3ca3d3954e693f1c56d4b4085 100644
--- a/deps/SoftFloat-3d/source/s_normExtF80SigM.c
+++ b/deps/SoftFloat-3e/source/s_normExtF80SigM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normRoundPackMToExtF80M.c b/deps/SoftFloat-3e/source/s_normRoundPackMToExtF80M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_normRoundPackMToExtF80M.c
rename to deps/SoftFloat-3e/source/s_normRoundPackMToExtF80M.c
index a0764e4e5548c71d534bad0eeb62734a125c0d8d..88b69cd4c20544d2c67526297206a2255fd71dbe 100644
--- a/deps/SoftFloat-3d/source/s_normRoundPackMToExtF80M.c
+++ b/deps/SoftFloat-3e/source/s_normRoundPackMToExtF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normRoundPackMToF128M.c b/deps/SoftFloat-3e/source/s_normRoundPackMToF128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_normRoundPackMToF128M.c
rename to deps/SoftFloat-3e/source/s_normRoundPackMToF128M.c
index dd1b177778be08a17eaeb5a539af54be1b465acc..309455998c7f652f945d9310b62c983fcae5587a 100644
--- a/deps/SoftFloat-3d/source/s_normRoundPackMToF128M.c
+++ b/deps/SoftFloat-3e/source/s_normRoundPackMToF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normRoundPackToExtF80.c b/deps/SoftFloat-3e/source/s_normRoundPackToExtF80.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_normRoundPackToExtF80.c
rename to deps/SoftFloat-3e/source/s_normRoundPackToExtF80.c
index 10e2d56f2de64110881cf35cfc78430d4731c44a..76e791d911a3816377c651187b866095b9d44d32 100644
--- a/deps/SoftFloat-3d/source/s_normRoundPackToExtF80.c
+++ b/deps/SoftFloat-3e/source/s_normRoundPackToExtF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normRoundPackToF128.c b/deps/SoftFloat-3e/source/s_normRoundPackToF128.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_normRoundPackToF128.c
rename to deps/SoftFloat-3e/source/s_normRoundPackToF128.c
index 060a49d27fade5182bbc3412aa4c21899285d48b..67f5b434907846f1039faa37b7bce0ec9a07ff03 100644
--- a/deps/SoftFloat-3d/source/s_normRoundPackToF128.c
+++ b/deps/SoftFloat-3e/source/s_normRoundPackToF128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normRoundPackToF16.c b/deps/SoftFloat-3e/source/s_normRoundPackToF16.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_normRoundPackToF16.c
rename to deps/SoftFloat-3e/source/s_normRoundPackToF16.c
index 4b1ca5866dee00a04ec0e12138d9a67083c8c09c..1d184d58ba9e6b47d024af1dadb9f991608c6e92 100644
--- a/deps/SoftFloat-3d/source/s_normRoundPackToF16.c
+++ b/deps/SoftFloat-3e/source/s_normRoundPackToF16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normRoundPackToF32.c b/deps/SoftFloat-3e/source/s_normRoundPackToF32.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_normRoundPackToF32.c
rename to deps/SoftFloat-3e/source/s_normRoundPackToF32.c
index 95eaeed52e13c7119735c433c4492fa8a0793b76..9fae916315e7d3340840cfc92d6a6417d7b26bb9 100644
--- a/deps/SoftFloat-3d/source/s_normRoundPackToF32.c
+++ b/deps/SoftFloat-3e/source/s_normRoundPackToF32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normRoundPackToF64.c b/deps/SoftFloat-3e/source/s_normRoundPackToF64.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_normRoundPackToF64.c
rename to deps/SoftFloat-3e/source/s_normRoundPackToF64.c
index 629e536d51bb6b1126bf04ae7c39775554615ea0..109141fad029fe35c2b18583da22b9acbf2e1bc9 100644
--- a/deps/SoftFloat-3d/source/s_normRoundPackToF64.c
+++ b/deps/SoftFloat-3e/source/s_normRoundPackToF64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normSubnormalExtF80Sig.c b/deps/SoftFloat-3e/source/s_normSubnormalExtF80Sig.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_normSubnormalExtF80Sig.c
rename to deps/SoftFloat-3e/source/s_normSubnormalExtF80Sig.c
index c0d9f9c1f4a4c64df470331d2e6b314cec06ed4e..c1d7788b1c3aca4865b1ef426e1e5e5c9bf43d7d 100644
--- a/deps/SoftFloat-3d/source/s_normSubnormalExtF80Sig.c
+++ b/deps/SoftFloat-3e/source/s_normSubnormalExtF80Sig.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normSubnormalF128Sig.c b/deps/SoftFloat-3e/source/s_normSubnormalF128Sig.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_normSubnormalF128Sig.c
rename to deps/SoftFloat-3e/source/s_normSubnormalF128Sig.c
index b5df05b44ebc88f5962598df9c29f1c751d69548..597d558cc31aae80f27065ea9c38040d2d12e1cf 100644
--- a/deps/SoftFloat-3d/source/s_normSubnormalF128Sig.c
+++ b/deps/SoftFloat-3e/source/s_normSubnormalF128Sig.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normSubnormalF128SigM.c b/deps/SoftFloat-3e/source/s_normSubnormalF128SigM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_normSubnormalF128SigM.c
rename to deps/SoftFloat-3e/source/s_normSubnormalF128SigM.c
index f67d3484c117177747c7f1adf9433211d92bac1d..7b8ced1d45e6d9609ebc806ac5e62b9eb8b04844 100644
--- a/deps/SoftFloat-3d/source/s_normSubnormalF128SigM.c
+++ b/deps/SoftFloat-3e/source/s_normSubnormalF128SigM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normSubnormalF16Sig.c b/deps/SoftFloat-3e/source/s_normSubnormalF16Sig.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_normSubnormalF16Sig.c
rename to deps/SoftFloat-3e/source/s_normSubnormalF16Sig.c
index c7641dd70b3299918a3af763e1a443345d1cc5d9..bb92adfea56ad9154021280408ebaa0d294fb31d 100644
--- a/deps/SoftFloat-3d/source/s_normSubnormalF16Sig.c
+++ b/deps/SoftFloat-3e/source/s_normSubnormalF16Sig.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normSubnormalF32Sig.c b/deps/SoftFloat-3e/source/s_normSubnormalF32Sig.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_normSubnormalF32Sig.c
rename to deps/SoftFloat-3e/source/s_normSubnormalF32Sig.c
index 6fef3d49b5cfb0064e841edbb2402abc6e4165bb..d4bff9b419ae8555790d08dda2d488edbd6753c7 100644
--- a/deps/SoftFloat-3d/source/s_normSubnormalF32Sig.c
+++ b/deps/SoftFloat-3e/source/s_normSubnormalF32Sig.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_normSubnormalF64Sig.c b/deps/SoftFloat-3e/source/s_normSubnormalF64Sig.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_normSubnormalF64Sig.c
rename to deps/SoftFloat-3e/source/s_normSubnormalF64Sig.c
index 20fb9b4e738580d91575a88e6cc295afc0d4be53..0c63b97d5b263583a8ec9545cd6d99268a69fd8e 100644
--- a/deps/SoftFloat-3d/source/s_normSubnormalF64Sig.c
+++ b/deps/SoftFloat-3e/source/s_normSubnormalF64Sig.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_remStepMBy32.c b/deps/SoftFloat-3e/source/s_remStepMBy32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_remStepMBy32.c
rename to deps/SoftFloat-3e/source/s_remStepMBy32.c
index 9b5de167e6ee597af930354766efb04423bda207..dd7d78d46e0d6365041671ffc1d0c972926abf51 100644
--- a/deps/SoftFloat-3d/source/s_remStepMBy32.c
+++ b/deps/SoftFloat-3e/source/s_remStepMBy32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_roundMToI64.c b/deps/SoftFloat-3e/source/s_roundMToI64.c
similarity index 72%
rename from deps/SoftFloat-3d/source/s_roundMToI64.c
rename to deps/SoftFloat-3e/source/s_roundMToI64.c
index d89e86f4bca7e7e2bfc3e74c5bae8d78a8117bb8..66f43b24de2dab0c2f6af0a61db12a3eba7a297a 100644
--- a/deps/SoftFloat-3d/source/s_roundMToI64.c
+++ b/deps/SoftFloat-3e/source/s_roundMToI64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
@@ -45,37 +45,51 @@ int_fast64_t
softfloat_roundMToI64(
bool sign, uint32_t *extSigPtr, uint_fast8_t roundingMode, bool exact )
{
- bool roundNearEven;
- uint32_t sigExtra;
- bool doIncrement;
uint64_t sig;
+ uint32_t sigExtra;
union { uint64_t ui; int64_t i; } uZ;
int64_t z;
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
- roundNearEven = (roundingMode == softfloat_round_near_even);
- sigExtra = extSigPtr[indexWordLo( 3 )];
- doIncrement = (0x80000000 <= sigExtra);
- if ( ! roundNearEven && (roundingMode != softfloat_round_near_maxMag) ) {
- doIncrement =
- (roundingMode
- == (sign ? softfloat_round_min : softfloat_round_max))
- && sigExtra;
- }
sig =
(uint64_t) extSigPtr[indexWord( 3, 2 )]<<32
| extSigPtr[indexWord( 3, 1 )];
- if ( doIncrement ) {
- ++sig;
- if ( ! sig ) goto invalid;
- if ( ! (sigExtra & 0x7FFFFFFF) && roundNearEven ) sig &= ~1;
+ sigExtra = extSigPtr[indexWordLo( 3 )];
+ if (
+ (roundingMode == softfloat_round_near_maxMag)
+ || (roundingMode == softfloat_round_near_even)
+ ) {
+ if ( 0x80000000 <= sigExtra ) goto increment;
+ } else {
+ if (
+ sigExtra
+ && (sign
+ ? (roundingMode == softfloat_round_min)
+#ifdef SOFTFLOAT_ROUND_ODD
+ || (roundingMode == softfloat_round_odd)
+#endif
+ : (roundingMode == softfloat_round_max))
+ ) {
+ increment:
+ ++sig;
+ if ( !sig ) goto invalid;
+ if (
+ (sigExtra == 0x80000000)
+ && (roundingMode == softfloat_round_near_even)
+ ) {
+ sig &= ~(uint_fast64_t) 1;
+ }
+ }
}
uZ.ui = sign ? -sig : sig;
z = uZ.i;
if ( z && ((z < 0) ^ sign) ) goto invalid;
- if ( exact && sigExtra ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( sigExtra ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) z |= 1;
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
return z;
/*------------------------------------------------------------------------
diff --git a/deps/SoftFloat-3d/source/s_roundMToUI64.c b/deps/SoftFloat-3e/source/s_roundMToUI64.c
similarity index 69%
rename from deps/SoftFloat-3d/source/s_roundMToUI64.c
rename to deps/SoftFloat-3e/source/s_roundMToUI64.c
index bcd923f956cb278a9dce8042e50ca17d13041327..196f53735f5bae2a472f91255111d392b0c59943 100644
--- a/deps/SoftFloat-3d/source/s_roundMToUI64.c
+++ b/deps/SoftFloat-3e/source/s_roundMToUI64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
@@ -45,33 +45,47 @@ uint_fast64_t
softfloat_roundMToUI64(
bool sign, uint32_t *extSigPtr, uint_fast8_t roundingMode, bool exact )
{
- bool roundNearEven;
- uint32_t sigExtra;
- bool doIncrement;
uint64_t sig;
+ uint32_t sigExtra;
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
- roundNearEven = (roundingMode == softfloat_round_near_even);
- sigExtra = extSigPtr[indexWordLo( 3 )];
- doIncrement = (0x80000000 <= sigExtra);
- if ( ! roundNearEven && (roundingMode != softfloat_round_near_maxMag) ) {
- doIncrement =
- (roundingMode
- == (sign ? softfloat_round_min : softfloat_round_max))
- && sigExtra;
- }
sig =
(uint64_t) extSigPtr[indexWord( 3, 2 )]<<32
| extSigPtr[indexWord( 3, 1 )];
- if ( doIncrement ) {
- ++sig;
- if ( ! sig ) goto invalid;
- if ( ! (sigExtra & 0x7FFFFFFF) && roundNearEven ) sig &= ~1;
+ sigExtra = extSigPtr[indexWordLo( 3 )];
+ if (
+ (roundingMode == softfloat_round_near_maxMag)
+ || (roundingMode == softfloat_round_near_even)
+ ) {
+ if ( 0x80000000 <= sigExtra ) goto increment;
+ } else {
+ if ( sign ) {
+ if ( !(sig | sigExtra) ) return 0;
+ if ( roundingMode == softfloat_round_min ) goto invalid;
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) goto invalid;
+#endif
+ } else {
+ if ( (roundingMode == softfloat_round_max) && sigExtra ) {
+ increment:
+ ++sig;
+ if ( !sig ) goto invalid;
+ if (
+ (sigExtra == 0x80000000)
+ && (roundingMode == softfloat_round_near_even)
+ ) {
+ sig &= ~(uint_fast64_t) 1;
+ }
+ }
+ }
}
if ( sign && sig ) goto invalid;
- if ( exact && sigExtra ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( sigExtra ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) sig |= 1;
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
return sig;
/*------------------------------------------------------------------------
diff --git a/deps/SoftFloat-3d/source/s_roundPackMToExtF80M.c b/deps/SoftFloat-3e/source/s_roundPackMToExtF80M.c
similarity index 97%
rename from deps/SoftFloat-3d/source/s_roundPackMToExtF80M.c
rename to deps/SoftFloat-3e/source/s_roundPackMToExtF80M.c
index 9c5651936279daca2ec07b8a5190504b7b41da1b..08620159f0143a4e944a8f36f00cf9e992d6b10c 100644
--- a/deps/SoftFloat-3d/source/s_roundPackMToExtF80M.c
+++ b/deps/SoftFloat-3e/source/s_roundPackMToExtF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_roundPackMToF128M.c b/deps/SoftFloat-3e/source/s_roundPackMToF128M.c
similarity index 97%
rename from deps/SoftFloat-3d/source/s_roundPackMToF128M.c
rename to deps/SoftFloat-3e/source/s_roundPackMToF128M.c
index 3ad4a870855226b67b94e3e6047f3ed39e32c7ec..22591b8356b4f90524ec7958891b5ec14be78057 100644
--- a/deps/SoftFloat-3d/source/s_roundPackMToF128M.c
+++ b/deps/SoftFloat-3e/source/s_roundPackMToF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_roundPackToExtF80.c b/deps/SoftFloat-3e/source/s_roundPackToExtF80.c
similarity index 97%
rename from deps/SoftFloat-3d/source/s_roundPackToExtF80.c
rename to deps/SoftFloat-3e/source/s_roundPackToExtF80.c
index 76eaa9d3b257e2bf9f55734388b534516d67f903..0cc7af9851bac989f824a5ece54ad507cd063377 100644
--- a/deps/SoftFloat-3d/source/s_roundPackToExtF80.c
+++ b/deps/SoftFloat-3e/source/s_roundPackToExtF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_roundPackToF128.c b/deps/SoftFloat-3e/source/s_roundPackToF128.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_roundPackToF128.c
rename to deps/SoftFloat-3e/source/s_roundPackToF128.c
index b3ba6125d902a90e95cd97108151490781986cef..41584316a4af8d63669b57ea9e35e5236acb7cfc 100644
--- a/deps/SoftFloat-3d/source/s_roundPackToF128.c
+++ b/deps/SoftFloat-3e/source/s_roundPackToF128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_roundPackToF16.c b/deps/SoftFloat-3e/source/s_roundPackToF16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_roundPackToF16.c
rename to deps/SoftFloat-3e/source/s_roundPackToF16.c
index db7a9b7f06fda984696fbd6159ed364ab9f63b03..2dde55bb40a95e3a2375509a2c745f455af79027 100644
--- a/deps/SoftFloat-3d/source/s_roundPackToF16.c
+++ b/deps/SoftFloat-3e/source/s_roundPackToF16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_roundPackToF32.c b/deps/SoftFloat-3e/source/s_roundPackToF32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_roundPackToF32.c
rename to deps/SoftFloat-3e/source/s_roundPackToF32.c
index ceb6ccd9cf803b82de1858ef293bbf1a2ccaa95d..a69b8d4d70223dfbea14121935b5aa0c77d49d7d 100644
--- a/deps/SoftFloat-3d/source/s_roundPackToF32.c
+++ b/deps/SoftFloat-3e/source/s_roundPackToF32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_roundPackToF64.c b/deps/SoftFloat-3e/source/s_roundPackToF64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_roundPackToF64.c
rename to deps/SoftFloat-3e/source/s_roundPackToF64.c
index efd3142143c071437e98eb7d50e0e83fff459a59..f7f3abff52e43b416fc82fee785b90260540c13d 100644
--- a/deps/SoftFloat-3d/source/s_roundPackToF64.c
+++ b/deps/SoftFloat-3e/source/s_roundPackToF64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2017 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_roundToI32.c b/deps/SoftFloat-3e/source/s_roundToI32.c
similarity index 75%
rename from deps/SoftFloat-3d/source/s_roundToI32.c
rename to deps/SoftFloat-3e/source/s_roundToI32.c
index 11b16a34320417ccb218f28de7cd6fd2b157a05a..a3e727dc70e3b743d9384d517a712baaa139ead9 100644
--- a/deps/SoftFloat-3d/source/s_roundToI32.c
+++ b/deps/SoftFloat-3e/source/s_roundToI32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
@@ -45,7 +45,6 @@ int_fast32_t
softfloat_roundToI32(
bool sign, uint_fast64_t sig, uint_fast8_t roundingMode, bool exact )
{
- bool roundNearEven;
uint_fast16_t roundIncrement, roundBits;
uint_fast32_t sig32;
union { uint32_t ui; int32_t i; } uZ;
@@ -53,25 +52,40 @@ int_fast32_t
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
- roundNearEven = (roundingMode == softfloat_round_near_even);
roundIncrement = 0x800;
- if ( ! roundNearEven && (roundingMode != softfloat_round_near_maxMag) ) {
- roundIncrement =
- (roundingMode
- == (sign ? softfloat_round_min : softfloat_round_max))
- ? 0xFFF
- : 0;
+ if (
+ (roundingMode != softfloat_round_near_maxMag)
+ && (roundingMode != softfloat_round_near_even)
+ ) {
+ roundIncrement = 0;
+ if (
+ sign
+ ? (roundingMode == softfloat_round_min)
+#ifdef SOFTFLOAT_ROUND_ODD
+ || (roundingMode == softfloat_round_odd)
+#endif
+ : (roundingMode == softfloat_round_max)
+ ) {
+ roundIncrement = 0xFFF;
+ }
}
roundBits = sig & 0xFFF;
sig += roundIncrement;
if ( sig & UINT64_C( 0xFFFFF00000000000 ) ) goto invalid;
sig32 = sig>>12;
- sig32 &= ~(uint_fast32_t) (! (roundBits ^ 0x800) & roundNearEven);
+ if (
+ (roundBits == 0x800) && (roundingMode == softfloat_round_near_even)
+ ) {
+ sig32 &= ~(uint_fast32_t) 1;
+ }
uZ.ui = sign ? -sig32 : sig32;
z = uZ.i;
if ( z && ((z < 0) ^ sign) ) goto invalid;
- if ( exact && roundBits ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( roundBits ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) z |= 1;
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
return z;
/*------------------------------------------------------------------------
diff --git a/deps/SoftFloat-3d/source/s_roundToI64.c b/deps/SoftFloat-3e/source/s_roundToI64.c
similarity index 70%
rename from deps/SoftFloat-3d/source/s_roundToI64.c
rename to deps/SoftFloat-3e/source/s_roundToI64.c
index 2280bdc8ad226fe34f2fc8f9411c455b1d749042..773c82cfc253e78d54426e15d922b7eeeda1c3e8 100644
--- a/deps/SoftFloat-3d/source/s_roundToI64.c
+++ b/deps/SoftFloat-3e/source/s_roundToI64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
@@ -50,33 +50,45 @@ int_fast64_t
bool exact
)
{
- bool roundNearEven, doIncrement;
union { uint64_t ui; int64_t i; } uZ;
int_fast64_t z;
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
- roundNearEven = (roundingMode == softfloat_round_near_even);
- doIncrement = (UINT64_C( 0x8000000000000000 ) <= sigExtra);
- if ( ! roundNearEven && (roundingMode != softfloat_round_near_maxMag) ) {
- doIncrement =
- (roundingMode
- == (sign ? softfloat_round_min : softfloat_round_max))
- && sigExtra;
- }
- if ( doIncrement ) {
- ++sig;
- if ( ! sig ) goto invalid;
- sig &=
- ~(uint_fast64_t)
- (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF ))
- & roundNearEven);
+ if (
+ (roundingMode == softfloat_round_near_maxMag)
+ || (roundingMode == softfloat_round_near_even)
+ ) {
+ if ( UINT64_C( 0x8000000000000000 ) <= sigExtra ) goto increment;
+ } else {
+ if (
+ sigExtra
+ && (sign
+ ? (roundingMode == softfloat_round_min)
+#ifdef SOFTFLOAT_ROUND_ODD
+ || (roundingMode == softfloat_round_odd)
+#endif
+ : (roundingMode == softfloat_round_max))
+ ) {
+ increment:
+ ++sig;
+ if ( !sig ) goto invalid;
+ if (
+ (sigExtra == UINT64_C( 0x8000000000000000 ))
+ && (roundingMode == softfloat_round_near_even)
+ ) {
+ sig &= ~(uint_fast64_t) 1;
+ }
+ }
}
uZ.ui = sign ? -sig : sig;
z = uZ.i;
if ( z && ((z < 0) ^ sign) ) goto invalid;
- if ( exact && sigExtra ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( sigExtra ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) z |= 1;
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
return z;
/*------------------------------------------------------------------------
diff --git a/deps/SoftFloat-3d/source/s_roundToUI32.c b/deps/SoftFloat-3e/source/s_roundToUI32.c
similarity index 74%
rename from deps/SoftFloat-3d/source/s_roundToUI32.c
rename to deps/SoftFloat-3e/source/s_roundToUI32.c
index 5c086a3d58469ba10b72bd51f34acb754c6be070..059e231e2edd8da9f4def7581128c426218630cb 100644
--- a/deps/SoftFloat-3d/source/s_roundToUI32.c
+++ b/deps/SoftFloat-3e/source/s_roundToUI32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
@@ -45,29 +45,42 @@ uint_fast32_t
softfloat_roundToUI32(
bool sign, uint_fast64_t sig, uint_fast8_t roundingMode, bool exact )
{
- bool roundNearEven;
uint_fast16_t roundIncrement, roundBits;
uint_fast32_t z;
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
- roundNearEven = (roundingMode == softfloat_round_near_even);
roundIncrement = 0x800;
- if ( ! roundNearEven && (roundingMode != softfloat_round_near_maxMag) ) {
- roundIncrement =
- (roundingMode
- == (sign ? softfloat_round_min : softfloat_round_max))
- ? 0xFFF
- : 0;
+ if (
+ (roundingMode != softfloat_round_near_maxMag)
+ && (roundingMode != softfloat_round_near_even)
+ ) {
+ roundIncrement = 0;
+ if ( sign ) {
+ if ( !sig ) return 0;
+ if ( roundingMode == softfloat_round_min ) goto invalid;
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) goto invalid;
+#endif
+ } else {
+ if ( roundingMode == softfloat_round_max ) roundIncrement = 0xFFF;
+ }
}
roundBits = sig & 0xFFF;
sig += roundIncrement;
if ( sig & UINT64_C( 0xFFFFF00000000000 ) ) goto invalid;
z = sig>>12;
- z &= ~(uint_fast32_t) (! (roundBits ^ 0x800) & roundNearEven);
+ if (
+ (roundBits == 0x800) && (roundingMode == softfloat_round_near_even)
+ ) {
+ z &= ~(uint_fast32_t) 1;
+ }
if ( sign && z ) goto invalid;
- if ( exact && roundBits ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( roundBits ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) z |= 1;
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
return z;
/*------------------------------------------------------------------------
diff --git a/deps/SoftFloat-3d/source/s_roundToUI64.c b/deps/SoftFloat-3e/source/s_roundToUI64.c
similarity index 68%
rename from deps/SoftFloat-3d/source/s_roundToUI64.c
rename to deps/SoftFloat-3e/source/s_roundToUI64.c
index 968eaebbee715a801eeb35b1a77a6bc995e16f01..856ad97929f122ea771e1e86e6766136c39d6f2f 100644
--- a/deps/SoftFloat-3d/source/s_roundToUI64.c
+++ b/deps/SoftFloat-3e/source/s_roundToUI64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
@@ -50,29 +50,41 @@ uint_fast64_t
bool exact
)
{
- bool roundNearEven, doIncrement;
/*------------------------------------------------------------------------
*------------------------------------------------------------------------*/
- roundNearEven = (roundingMode == softfloat_round_near_even);
- doIncrement = (UINT64_C( 0x8000000000000000 ) <= sigExtra);
- if ( ! roundNearEven && (roundingMode != softfloat_round_near_maxMag) ) {
- doIncrement =
- (roundingMode
- == (sign ? softfloat_round_min : softfloat_round_max))
- && sigExtra;
- }
- if ( doIncrement ) {
- ++sig;
- if ( ! sig ) goto invalid;
- sig &=
- ~(uint_fast64_t)
- (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF ))
- & roundNearEven);
+ if (
+ (roundingMode == softfloat_round_near_maxMag)
+ || (roundingMode == softfloat_round_near_even)
+ ) {
+ if ( UINT64_C( 0x8000000000000000 ) <= sigExtra ) goto increment;
+ } else {
+ if ( sign ) {
+ if ( !(sig | sigExtra) ) return 0;
+ if ( roundingMode == softfloat_round_min ) goto invalid;
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) goto invalid;
+#endif
+ } else {
+ if ( (roundingMode == softfloat_round_max) && sigExtra ) {
+ increment:
+ ++sig;
+ if ( !sig ) goto invalid;
+ if (
+ (sigExtra == UINT64_C( 0x8000000000000000 ))
+ && (roundingMode == softfloat_round_near_even)
+ ) {
+ sig &= ~(uint_fast64_t) 1;
+ }
+ }
+ }
}
if ( sign && sig ) goto invalid;
- if ( exact && sigExtra ) {
- softfloat_exceptionFlags |= softfloat_flag_inexact;
+ if ( sigExtra ) {
+#ifdef SOFTFLOAT_ROUND_ODD
+ if ( roundingMode == softfloat_round_odd ) sig |= 1;
+#endif
+ if ( exact ) softfloat_exceptionFlags |= softfloat_flag_inexact;
}
return sig;
/*------------------------------------------------------------------------
diff --git a/deps/SoftFloat-3d/source/s_shiftLeftM.c b/deps/SoftFloat-3e/source/s_shiftLeftM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shiftLeftM.c
rename to deps/SoftFloat-3e/source/s_shiftLeftM.c
index 4095e228afd0f735f0cd85d631e32741c74cf678..71a3099199191f224242b938ddce3041bd1d3f1d 100644
--- a/deps/SoftFloat-3d/source/s_shiftLeftM.c
+++ b/deps/SoftFloat-3e/source/s_shiftLeftM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shiftNormSigF128M.c b/deps/SoftFloat-3e/source/s_shiftNormSigF128M.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_shiftNormSigF128M.c
rename to deps/SoftFloat-3e/source/s_shiftNormSigF128M.c
index 561bf5c6f53e47099f7e2b0e510e2a7a5d36439e..fa4976c8e77145f198d8ed6da0fee30075e78d55 100644
--- a/deps/SoftFloat-3d/source/s_shiftNormSigF128M.c
+++ b/deps/SoftFloat-3e/source/s_shiftNormSigF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shiftRightJam128.c b/deps/SoftFloat-3e/source/s_shiftRightJam128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shiftRightJam128.c
rename to deps/SoftFloat-3e/source/s_shiftRightJam128.c
index e320bc994eb84e2e32224bb1c3bf7f0a251a7f0e..aac5f6db0ce9dde4a6d74bdf57f7e7d14fd4217c 100644
--- a/deps/SoftFloat-3d/source/s_shiftRightJam128.c
+++ b/deps/SoftFloat-3e/source/s_shiftRightJam128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shiftRightJam128Extra.c b/deps/SoftFloat-3e/source/s_shiftRightJam128Extra.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shiftRightJam128Extra.c
rename to deps/SoftFloat-3e/source/s_shiftRightJam128Extra.c
index 4f672491ab6d39bdf9a9c210bf3c8a98170a39fc..75722887bdf74adcecc74549882358cfc141ad04 100644
--- a/deps/SoftFloat-3d/source/s_shiftRightJam128Extra.c
+++ b/deps/SoftFloat-3e/source/s_shiftRightJam128Extra.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shiftRightJam256M.c b/deps/SoftFloat-3e/source/s_shiftRightJam256M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shiftRightJam256M.c
rename to deps/SoftFloat-3e/source/s_shiftRightJam256M.c
index 68dbf59bd07fb258f6cf303c6b5078aa9fc50650..433870a81767bf78f13abfd646964e7e2cd10779 100644
--- a/deps/SoftFloat-3d/source/s_shiftRightJam256M.c
+++ b/deps/SoftFloat-3e/source/s_shiftRightJam256M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shiftRightJam32.c b/deps/SoftFloat-3e/source/s_shiftRightJam32.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shiftRightJam32.c
rename to deps/SoftFloat-3e/source/s_shiftRightJam32.c
index 9d79f225aeeec31f6fb4546a2a480629b9023cd0..2533fcd9562120ccbf7fac780d71a8d57f17f731 100644
--- a/deps/SoftFloat-3d/source/s_shiftRightJam32.c
+++ b/deps/SoftFloat-3e/source/s_shiftRightJam32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shiftRightJam64.c b/deps/SoftFloat-3e/source/s_shiftRightJam64.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shiftRightJam64.c
rename to deps/SoftFloat-3e/source/s_shiftRightJam64.c
index ad30f64f91b2c2d7c30c21af4c913f96e2174538..4b40e3de68c090e55018f542a89d6acde3d5a6f2 100644
--- a/deps/SoftFloat-3d/source/s_shiftRightJam64.c
+++ b/deps/SoftFloat-3e/source/s_shiftRightJam64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shiftRightJam64Extra.c b/deps/SoftFloat-3e/source/s_shiftRightJam64Extra.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shiftRightJam64Extra.c
rename to deps/SoftFloat-3e/source/s_shiftRightJam64Extra.c
index 85f8926b03b63cc478df0e20e7801d058afab9f6..b93fad39c944d62b83d7b713b74431eb6d95133a 100644
--- a/deps/SoftFloat-3d/source/s_shiftRightJam64Extra.c
+++ b/deps/SoftFloat-3e/source/s_shiftRightJam64Extra.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shiftRightJamM.c b/deps/SoftFloat-3e/source/s_shiftRightJamM.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_shiftRightJamM.c
rename to deps/SoftFloat-3e/source/s_shiftRightJamM.c
index 00aeaded3c57b282d4c4b0955da4cde23219bed5..edf5f956b9d5b2144d41c95e2a7b23503c2dfb88 100644
--- a/deps/SoftFloat-3d/source/s_shiftRightJamM.c
+++ b/deps/SoftFloat-3e/source/s_shiftRightJamM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shiftRightM.c b/deps/SoftFloat-3e/source/s_shiftRightM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shiftRightM.c
rename to deps/SoftFloat-3e/source/s_shiftRightM.c
index 4dd8d27871ba496e390bae85670cee904e77bfb1..00265ea238e254e4fab6e2f76ad53a0c22478aa5 100644
--- a/deps/SoftFloat-3d/source/s_shiftRightM.c
+++ b/deps/SoftFloat-3e/source/s_shiftRightM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shortShiftLeft128.c b/deps/SoftFloat-3e/source/s_shortShiftLeft128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shortShiftLeft128.c
rename to deps/SoftFloat-3e/source/s_shortShiftLeft128.c
index 0ae75c141915f5d33f65be4ace59440fff640610..7513bc627288ed424903ae3a608a8b12245802a1 100644
--- a/deps/SoftFloat-3d/source/s_shortShiftLeft128.c
+++ b/deps/SoftFloat-3e/source/s_shortShiftLeft128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shortShiftLeft64To96M.c b/deps/SoftFloat-3e/source/s_shortShiftLeft64To96M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shortShiftLeft64To96M.c
rename to deps/SoftFloat-3e/source/s_shortShiftLeft64To96M.c
index 0c4289da4baa79746616ba578ec21bc7e6a9ee03..ce1f09b23f0b20cd3524b0d9786e7aacb39d552b 100644
--- a/deps/SoftFloat-3d/source/s_shortShiftLeft64To96M.c
+++ b/deps/SoftFloat-3e/source/s_shortShiftLeft64To96M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shortShiftLeftM.c b/deps/SoftFloat-3e/source/s_shortShiftLeftM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shortShiftLeftM.c
rename to deps/SoftFloat-3e/source/s_shortShiftLeftM.c
index 5a5c5224cba1067bb77d3bea2e55f860b4a37457..48e6e03b542f2ebb0dddb8c08b95e42b96d74a7e 100644
--- a/deps/SoftFloat-3d/source/s_shortShiftLeftM.c
+++ b/deps/SoftFloat-3e/source/s_shortShiftLeftM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shortShiftRight128.c b/deps/SoftFloat-3e/source/s_shortShiftRight128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shortShiftRight128.c
rename to deps/SoftFloat-3e/source/s_shortShiftRight128.c
index 787759bec838e976993abd3a98a092c5734984e3..8f5c650b23080e62cfe7f44e3b318e65f477b269 100644
--- a/deps/SoftFloat-3d/source/s_shortShiftRight128.c
+++ b/deps/SoftFloat-3e/source/s_shortShiftRight128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shortShiftRightExtendM.c b/deps/SoftFloat-3e/source/s_shortShiftRightExtendM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shortShiftRightExtendM.c
rename to deps/SoftFloat-3e/source/s_shortShiftRightExtendM.c
index 94deedaa74c9ca34d8ff884de7337a4dfb6c32b5..bc441c731afedbf69f3a6d7e01bdac167b5214b8 100644
--- a/deps/SoftFloat-3d/source/s_shortShiftRightExtendM.c
+++ b/deps/SoftFloat-3e/source/s_shortShiftRightExtendM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shortShiftRightJam128.c b/deps/SoftFloat-3e/source/s_shortShiftRightJam128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shortShiftRightJam128.c
rename to deps/SoftFloat-3e/source/s_shortShiftRightJam128.c
index b3ab65c9b00a7dbfb72b605a1e6edba44ba60ec5..76008722bf90d55cdd3f65e4b25b098bd524cd21 100644
--- a/deps/SoftFloat-3d/source/s_shortShiftRightJam128.c
+++ b/deps/SoftFloat-3e/source/s_shortShiftRightJam128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shortShiftRightJam128Extra.c b/deps/SoftFloat-3e/source/s_shortShiftRightJam128Extra.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shortShiftRightJam128Extra.c
rename to deps/SoftFloat-3e/source/s_shortShiftRightJam128Extra.c
index 83463a7af82aac60a82e4ab90e2b39f1ac318d9e..b0774401d65b4a17e8b321464e33ac79ab907de0 100644
--- a/deps/SoftFloat-3d/source/s_shortShiftRightJam128Extra.c
+++ b/deps/SoftFloat-3e/source/s_shortShiftRightJam128Extra.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shortShiftRightJam64.c b/deps/SoftFloat-3e/source/s_shortShiftRightJam64.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shortShiftRightJam64.c
rename to deps/SoftFloat-3e/source/s_shortShiftRightJam64.c
index c13d860d6529e5314719def1bce4d4d7ad6b9ab5..d3044c8537521ed04627b63270f93a106d92d744 100644
--- a/deps/SoftFloat-3d/source/s_shortShiftRightJam64.c
+++ b/deps/SoftFloat-3e/source/s_shortShiftRightJam64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shortShiftRightJam64Extra.c b/deps/SoftFloat-3e/source/s_shortShiftRightJam64Extra.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shortShiftRightJam64Extra.c
rename to deps/SoftFloat-3e/source/s_shortShiftRightJam64Extra.c
index 9a5006d81167f6fc312ba38571969b860bf1518b..f2af92bc0af484c88601d85348a6572f2ce95dca 100644
--- a/deps/SoftFloat-3d/source/s_shortShiftRightJam64Extra.c
+++ b/deps/SoftFloat-3e/source/s_shortShiftRightJam64Extra.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shortShiftRightJamM.c b/deps/SoftFloat-3e/source/s_shortShiftRightJamM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shortShiftRightJamM.c
rename to deps/SoftFloat-3e/source/s_shortShiftRightJamM.c
index 24155ca5e79a225ca61d447dececc46f8916e421..b567e482a8ae35f596eb37f46add55c027ff3760 100644
--- a/deps/SoftFloat-3d/source/s_shortShiftRightJamM.c
+++ b/deps/SoftFloat-3e/source/s_shortShiftRightJamM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_shortShiftRightM.c b/deps/SoftFloat-3e/source/s_shortShiftRightM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_shortShiftRightM.c
rename to deps/SoftFloat-3e/source/s_shortShiftRightM.c
index 6527e03ca0c53750fc6fd817f364a0379ceae403..54e0071c7bf40965197c6b25c6ba6b8211b586bb 100644
--- a/deps/SoftFloat-3d/source/s_shortShiftRightM.c
+++ b/deps/SoftFloat-3e/source/s_shortShiftRightM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_sub128.c b/deps/SoftFloat-3e/source/s_sub128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_sub128.c
rename to deps/SoftFloat-3e/source/s_sub128.c
index cbb1216ebef1b6d130f997aee87fc129d16cd189..9bf346391010dfaaba8cdd5d4c003790470cd36b 100644
--- a/deps/SoftFloat-3d/source/s_sub128.c
+++ b/deps/SoftFloat-3e/source/s_sub128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_sub1XM.c b/deps/SoftFloat-3e/source/s_sub1XM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_sub1XM.c
rename to deps/SoftFloat-3e/source/s_sub1XM.c
index 18019aab399402b564e6065e75b9f2789caeec32..30c5d36eea7b21d95c523314413dee9edf3c5cbd 100644
--- a/deps/SoftFloat-3d/source/s_sub1XM.c
+++ b/deps/SoftFloat-3e/source/s_sub1XM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_sub256M.c b/deps/SoftFloat-3e/source/s_sub256M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_sub256M.c
rename to deps/SoftFloat-3e/source/s_sub256M.c
index 4690ac5685cda30b3696fdd99b8a8b153b22f6c9..a4af5a1c95240e5e93981fa4de429b0eabb8e540 100644
--- a/deps/SoftFloat-3d/source/s_sub256M.c
+++ b/deps/SoftFloat-3e/source/s_sub256M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_subM.c b/deps/SoftFloat-3e/source/s_subM.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_subM.c
rename to deps/SoftFloat-3e/source/s_subM.c
index c72bbc5d8f0276c13e3135a0ba4a7e103b0c10b7..fcccc744cfac2226f98b965599ffa77de5b8450a 100644
--- a/deps/SoftFloat-3d/source/s_subM.c
+++ b/deps/SoftFloat-3e/source/s_subM.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_subMagsExtF80.c b/deps/SoftFloat-3e/source/s_subMagsExtF80.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_subMagsExtF80.c
rename to deps/SoftFloat-3e/source/s_subMagsExtF80.c
index 016e4c455ce096f5956760c489f925bdc3da2a5d..0c46c61a2b9c473f5058bf59eb1c04b0a5ba5633 100644
--- a/deps/SoftFloat-3d/source/s_subMagsExtF80.c
+++ b/deps/SoftFloat-3e/source/s_subMagsExtF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_subMagsF128.c b/deps/SoftFloat-3e/source/s_subMagsF128.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_subMagsF128.c
rename to deps/SoftFloat-3e/source/s_subMagsF128.c
index 2bf8f4d85105818b87ee5a4c2208604cde819f8f..e93543f096f9af0d6e5d8684cc8f4c927e8664d7 100644
--- a/deps/SoftFloat-3d/source/s_subMagsF128.c
+++ b/deps/SoftFloat-3e/source/s_subMagsF128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_subMagsF16.c b/deps/SoftFloat-3e/source/s_subMagsF16.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_subMagsF16.c
rename to deps/SoftFloat-3e/source/s_subMagsF16.c
index e192553f30ff2bf225e5633ce524df22988e3538..ae1417ea944169aeea98954dbd8966af5338be37 100644
--- a/deps/SoftFloat-3d/source/s_subMagsF16.c
+++ b/deps/SoftFloat-3e/source/s_subMagsF16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the
University of California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_subMagsF32.c b/deps/SoftFloat-3e/source/s_subMagsF32.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_subMagsF32.c
rename to deps/SoftFloat-3e/source/s_subMagsF32.c
index 625cbef16287ab7bc5c488a4b8cf761e13007d47..0c1f32ed6f89be9b00872863749c1eea5ae2f7c6 100644
--- a/deps/SoftFloat-3d/source/s_subMagsF32.c
+++ b/deps/SoftFloat-3e/source/s_subMagsF32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_subMagsF64.c b/deps/SoftFloat-3e/source/s_subMagsF64.c
similarity index 96%
rename from deps/SoftFloat-3d/source/s_subMagsF64.c
rename to deps/SoftFloat-3e/source/s_subMagsF64.c
index 6636af25a67eb80001ca076a4f9641ed639c0ae4..a4a0ebc44fa6227aa756b306e59271a62d5b480e 100644
--- a/deps/SoftFloat-3d/source/s_subMagsF64.c
+++ b/deps/SoftFloat-3e/source/s_subMagsF64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_tryPropagateNaNExtF80M.c b/deps/SoftFloat-3e/source/s_tryPropagateNaNExtF80M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_tryPropagateNaNExtF80M.c
rename to deps/SoftFloat-3e/source/s_tryPropagateNaNExtF80M.c
index 2a81689cf6d2935af9588c827655a592908ba218..70092fe6a3ccfd1ddec89206b57a6e8a4bde48ac 100644
--- a/deps/SoftFloat-3d/source/s_tryPropagateNaNExtF80M.c
+++ b/deps/SoftFloat-3e/source/s_tryPropagateNaNExtF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/s_tryPropagateNaNF128M.c b/deps/SoftFloat-3e/source/s_tryPropagateNaNF128M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/s_tryPropagateNaNF128M.c
rename to deps/SoftFloat-3e/source/s_tryPropagateNaNF128M.c
index 9301b0faea7a5620da7244db04c041f242dd2456..bab04a7c08590c9173501922bf94f47781a86566 100644
--- a/deps/SoftFloat-3d/source/s_tryPropagateNaNF128M.c
+++ b/deps/SoftFloat-3e/source/s_tryPropagateNaNF128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All rights reserved.
diff --git a/deps/SoftFloat-3d/source/softfloat_state.c b/deps/SoftFloat-3e/source/softfloat_state.c
similarity index 96%
rename from deps/SoftFloat-3d/source/softfloat_state.c
rename to deps/SoftFloat-3e/source/softfloat_state.c
index d54dd1e43c0b212fea421aac2e79c1bfdd1c4b02..0f296654fd488c9d1de33e54f1081e273feee4b0 100644
--- a/deps/SoftFloat-3d/source/softfloat_state.c
+++ b/deps/SoftFloat-3e/source/softfloat_state.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui32_to_extF80.c b/deps/SoftFloat-3e/source/ui32_to_extF80.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui32_to_extF80.c
rename to deps/SoftFloat-3e/source/ui32_to_extF80.c
index f75fb762566cfbc0cb3964ada070c2d67cb5a153..34f79368f2feb5ba0937ad347411a3f66d2afa4e 100644
--- a/deps/SoftFloat-3d/source/ui32_to_extF80.c
+++ b/deps/SoftFloat-3e/source/ui32_to_extF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui32_to_extF80M.c b/deps/SoftFloat-3e/source/ui32_to_extF80M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui32_to_extF80M.c
rename to deps/SoftFloat-3e/source/ui32_to_extF80M.c
index 3b8662a8fbb8cdaf791285e03e7fd7d307095ff0..0a0c098c00517976f7b5986b324b8e04bf081394 100644
--- a/deps/SoftFloat-3d/source/ui32_to_extF80M.c
+++ b/deps/SoftFloat-3e/source/ui32_to_extF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui32_to_f128.c b/deps/SoftFloat-3e/source/ui32_to_f128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui32_to_f128.c
rename to deps/SoftFloat-3e/source/ui32_to_f128.c
index bbb6fa0f90a4cc7aab984f3ca80e38621675ce54..c3ab53daf7ceee20d54846411fe6ce489a21b3c4 100644
--- a/deps/SoftFloat-3d/source/ui32_to_f128.c
+++ b/deps/SoftFloat-3e/source/ui32_to_f128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui32_to_f128M.c b/deps/SoftFloat-3e/source/ui32_to_f128M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui32_to_f128M.c
rename to deps/SoftFloat-3e/source/ui32_to_f128M.c
index 57df69fdd030cb8613c9d36b96a55c5cf250b22a..02b0434cad2760a41b024bdd75d335928f34cae3 100644
--- a/deps/SoftFloat-3d/source/ui32_to_f128M.c
+++ b/deps/SoftFloat-3e/source/ui32_to_f128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui32_to_f16.c b/deps/SoftFloat-3e/source/ui32_to_f16.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui32_to_f16.c
rename to deps/SoftFloat-3e/source/ui32_to_f16.c
index 643a3aeb7fd16524469a51d4191b1de2a2b0e7e6..6fc377bca14cf1b8f0626c43a71f806ffa9d2bc3 100644
--- a/deps/SoftFloat-3d/source/ui32_to_f16.c
+++ b/deps/SoftFloat-3e/source/ui32_to_f16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui32_to_f32.c b/deps/SoftFloat-3e/source/ui32_to_f32.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui32_to_f32.c
rename to deps/SoftFloat-3e/source/ui32_to_f32.c
index 65a2789e2a72db8280f46846cb74d99a5f65eaa6..d75911f2d397bbc10dff59e24d0009337db41abe 100644
--- a/deps/SoftFloat-3d/source/ui32_to_f32.c
+++ b/deps/SoftFloat-3e/source/ui32_to_f32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui32_to_f64.c b/deps/SoftFloat-3e/source/ui32_to_f64.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui32_to_f64.c
rename to deps/SoftFloat-3e/source/ui32_to_f64.c
index cd0961a02f8f1088d64e3806dd937bca1ebd4923..504f96e6e2b41d4c381a54a43714583d8c7fcc71 100644
--- a/deps/SoftFloat-3d/source/ui32_to_f64.c
+++ b/deps/SoftFloat-3e/source/ui32_to_f64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui64_to_extF80.c b/deps/SoftFloat-3e/source/ui64_to_extF80.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui64_to_extF80.c
rename to deps/SoftFloat-3e/source/ui64_to_extF80.c
index 85de5b94ef24a8f37a5229a35d828d09ab2ff2eb..b0e932fed32ecc43557f81a62db4246f75b4d55f 100644
--- a/deps/SoftFloat-3d/source/ui64_to_extF80.c
+++ b/deps/SoftFloat-3e/source/ui64_to_extF80.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui64_to_extF80M.c b/deps/SoftFloat-3e/source/ui64_to_extF80M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui64_to_extF80M.c
rename to deps/SoftFloat-3e/source/ui64_to_extF80M.c
index c1175440657fecc44337f41fd834c84fe4ccbf2a..e676d904a4a0abc1c42c7b1d53be668d80984f3c 100644
--- a/deps/SoftFloat-3d/source/ui64_to_extF80M.c
+++ b/deps/SoftFloat-3e/source/ui64_to_extF80M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui64_to_f128.c b/deps/SoftFloat-3e/source/ui64_to_f128.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui64_to_f128.c
rename to deps/SoftFloat-3e/source/ui64_to_f128.c
index b0f311d30b10da73beb0b383114b81f9be959061..6ff6a6fcfa57538196150d4fee9328d044b79361 100644
--- a/deps/SoftFloat-3d/source/ui64_to_f128.c
+++ b/deps/SoftFloat-3e/source/ui64_to_f128.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui64_to_f128M.c b/deps/SoftFloat-3e/source/ui64_to_f128M.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui64_to_f128M.c
rename to deps/SoftFloat-3e/source/ui64_to_f128M.c
index a0e8a5761c55e2d8b354377c30fb61c4b4c47310..043406cc4f8394b5300b12d33d03a807383b6d98 100644
--- a/deps/SoftFloat-3d/source/ui64_to_f128M.c
+++ b/deps/SoftFloat-3e/source/ui64_to_f128M.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui64_to_f16.c b/deps/SoftFloat-3e/source/ui64_to_f16.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui64_to_f16.c
rename to deps/SoftFloat-3e/source/ui64_to_f16.c
index dcea8964719bc15cbeb11da6c72f86e6af3c93cb..3d58e85cf6472dfc92ce3691e4fd638b0b4aa3b6 100644
--- a/deps/SoftFloat-3d/source/ui64_to_f16.c
+++ b/deps/SoftFloat-3e/source/ui64_to_f16.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui64_to_f32.c b/deps/SoftFloat-3e/source/ui64_to_f32.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui64_to_f32.c
rename to deps/SoftFloat-3e/source/ui64_to_f32.c
index d299fb4e502747b069d85184be69841d1e90b502..cbe3a9db2ad22e078bf739ceaa208b7a5ad5ab2d 100644
--- a/deps/SoftFloat-3d/source/ui64_to_f32.c
+++ b/deps/SoftFloat-3e/source/ui64_to_f32.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014, 2015, 2016 The Regents of the University of
California. All Rights Reserved.
diff --git a/deps/SoftFloat-3d/source/ui64_to_f64.c b/deps/SoftFloat-3e/source/ui64_to_f64.c
similarity index 95%
rename from deps/SoftFloat-3d/source/ui64_to_f64.c
rename to deps/SoftFloat-3e/source/ui64_to_f64.c
index ffbc2ce232bb8d44679596ab434c66cd3019a460..032894378503925ee487404c20650aa84067afb0 100644
--- a/deps/SoftFloat-3d/source/ui64_to_f64.c
+++ b/deps/SoftFloat-3e/source/ui64_to_f64.c
@@ -2,7 +2,7 @@
/*============================================================================
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
-Package, Release 3d, by John R. Hauser.
+Package, Release 3e, by John R. Hauser.
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
All Rights Reserved.
--
2.54.0