From b97b577e9fde609c7c9644e6f189ef84c3a530b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Tue, 20 Sep 2011 22:10:28 +0200 Subject: [PATCH] d3dx9_36/tests: Make sure NaN and negative NaN have the correct sign bits. --- dlls/d3dx9_36/tests/math.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/d3dx9_36/tests/math.c b/dlls/d3dx9_36/tests/math.c index c26a523f544..fcf0a99a5e5 100644 --- a/dlls/d3dx9_36/tests/math.c +++ b/dlls/d3dx9_36/tests/math.c @@ -2219,7 +2219,9 @@ static void test_D3DXVec_Array(void) static void test_D3DXFloat_Array(void) { static const float z = 0.0f; - float nnan = 0.0f/z; + /* Compilers set different sign bits on 0.0 / 0.0, pick the right ones for NaN and -NaN */ + float tmpnan = 0.0f/z; + float nnan = copysignf(1, tmpnan) < 0.0f ? tmpnan : -tmpnan; float nan = -nnan; unsigned int i; void *out = NULL;