aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/glsl/ir_constant_expression.cpp
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-09-23 09:49:27 +0200
committermarha <marha@users.sourceforge.net>2013-09-23 09:49:27 +0200
commitb299d73bb416e2a26a642a54d5a15ea9fa30df33 (patch)
tree4cff827d4348e99d516ee2f1051f92ad5fa3ef8d /mesalib/src/glsl/ir_constant_expression.cpp
parenta5179a42a3376f0d8c1d01456235b044854d8bdc (diff)
parente4d5a2996e4a03f55bc7d21c493ba1bcbef35aae (diff)
downloadvcxsrv-b299d73bb416e2a26a642a54d5a15ea9fa30df33.tar.gz
vcxsrv-b299d73bb416e2a26a642a54d5a15ea9fa30df33.tar.bz2
vcxsrv-b299d73bb416e2a26a642a54d5a15ea9fa30df33.zip
Merge remote-tracking branch 'origin/released'
* origin/released: mesa xserver git update 23 Sep 2013 Conflicts: mesalib/src/glsl/ast.h mesalib/src/glsl/glsl_parser_extras.h mesalib/src/glsl/glsl_symbol_table.cpp mesalib/src/glsl/ir_constant_expression.cpp mesalib/src/glsl/list.h
Diffstat (limited to 'mesalib/src/glsl/ir_constant_expression.cpp')
-rwxr-xr-x[-rw-r--r--]mesalib/src/glsl/ir_constant_expression.cpp25
1 files changed, 12 insertions, 13 deletions
diff --git a/mesalib/src/glsl/ir_constant_expression.cpp b/mesalib/src/glsl/ir_constant_expression.cpp
index 3e30510a6..215c4a0ff 100644..100755
--- a/mesalib/src/glsl/ir_constant_expression.cpp
+++ b/mesalib/src/glsl/ir_constant_expression.cpp
@@ -40,19 +40,18 @@
#include "glsl_types.h"
#include "program/hash_table.h"
-#ifdef _MSC_VER
-#include <limits>
-
-inline bool isnormal(float x)
-{
- if(x < 0) x = -x;
- return x >= (std::numeric_limits<float>::min)()
- && x <= (std::numeric_limits<float>::max)();
-}
-inline float copysign(const float& x, const float& y)
-{
- return fabs(x) * ((y<0) ? -1 : 1);
-}
+#if defined(_MSC_VER) && (_MSC_VER < 1800)
+static int isnormal(double x)
+{
+ return _fpclass(x) == _FPCLASS_NN || _fpclass(x) == _FPCLASS_PN;
+}
+#endif
+
+#if defined(_MSC_VER)
+static double copysign(double x, double y)
+{
+ return _copysign(x, y);
+}
#endif
static float