summaryrefslogtreecommitdiff
path: root/Source/Core/Common/MathUtil.cpp
diff options
context:
space:
mode:
authorTillmann Karras <tilkax@gmail.com>2015-06-25 22:29:31 +0200
committerTillmann Karras <tilkax@gmail.com>2015-06-26 09:29:18 +0200
commitb78310bbe562ee1c133d06739cf5a16167f10145 (patch)
tree47f0e760d1bd3c8abaa9c4810880424f4827b2a2 /Source/Core/Common/MathUtil.cpp
parent174ada3a62d7835f877d534062883e75305fdf18 (diff)
Interpreter: simplify fres
Diffstat (limited to 'Source/Core/Common/MathUtil.cpp')
-rw-r--r--Source/Core/Common/MathUtil.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/Core/Common/MathUtil.cpp b/Source/Core/Common/MathUtil.cpp
index 07fa5bf293..a9252ddf55 100644
--- a/Source/Core/Common/MathUtil.cpp
+++ b/Source/Core/Common/MathUtil.cpp
@@ -209,23 +209,23 @@ double ApproximateReciprocal(double val)
// Special case 0
if (mantissa == 0 && exponent == 0)
- return sign ? -std::numeric_limits<double>::infinity() : std::numeric_limits<double>::infinity();
+ return std::copysign(std::numeric_limits<double>::infinity(), valf);
// Special case NaN-ish numbers
if (exponent == (0x7FFLL << 52))
{
if (mantissa == 0)
- return sign ? -0.0 : 0.0;
+ return std::copysign(0.0, valf);
return 0.0 + valf;
}
// Special case small inputs
if (exponent < (895LL << 52))
- return sign ? -std::numeric_limits<float>::max() : std::numeric_limits<float>::max();
+ return std::copysign(std::numeric_limits<float>::max(), valf);
// Special case large inputs
if (exponent >= (1149LL << 52))
- return sign ? -0.0f : 0.0f;
+ return std::copysign(0.0, valf);
exponent = (0x7FDLL << 52) - exponent;