Re: d3dx9_36: Use cross-platform versions of infinity and NaN.
Hi, While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at http://testbot.winehq.org/JobDetails.pl?Key=12221 Your paranoid android. === WXPPROSP3 (32 bit math) === math.c:2275: Test failed: Got ffff, expected 7fff or 7fff for index 18. === W2K3R2SESP2 (32 bit math) === math.c:2275: Test failed: Got ffff, expected 7fff or 7fff for index 18. === WVISTAADM (32 bit math) === math.c:2275: Test failed: Got ffff, expected 7fff or 7fff for index 18. === W2K8SE (32 bit math) === math.c:2275: Test failed: Got ffff, expected 7fff or 7fff for index 18. === W7PRO (32 bit math) === math.c:2275: Test failed: Got ffff, expected 7fff or 7fff for index 18. === W7PROX64 (32 bit math) === math.c:2275: Test failed: Got ffff, expected 7fff or 7fff for index 18.
On Tue, Jul 5, 2011 at 8:27 AM, Marvin <testbot(a)testbot.winehq.org> wrote:
=== WXPPROSP3 (32 bit math) === math.c:2275: Test failed: Got ffff, expected 7fff or 7fff for index 18.
0.0f/0.0f = -nan (0xffc00000) -(0.0f/0.0f) = nan (0x7fc00000) msvc complains about dividing by zero. I found the following works around the error for MS Visual Studio 2010, although later version might try to be "smarter". static const float z = 0.0f; const float neg_nan = 0.0f/z; const float pos_nan = -(0.0f/z); Note that neg_nan and pos_nan can't be static.
On Tue, Jul 5, 2011 at 8:18 AM, Dylan Smith <dylan.ah.smith(a)gmail.com> wrote:
On Tue, Jul 5, 2011 at 8:27 AM, Marvin <testbot(a)testbot.winehq.org> wrote:
=== WXPPROSP3 (32 bit math) === math.c:2275: Test failed: Got ffff, expected 7fff or 7fff for index 18.
0.0f/0.0f = -nan (0xffc00000) -(0.0f/0.0f) = nan (0x7fc00000)
msvc complains about dividing by zero. I found the following works around the error for MS Visual Studio 2010, although later version might try to be "smarter".
static const float z = 0.0f; const float neg_nan = 0.0f/z; const float pos_nan = -(0.0f/z);
Note that neg_nan and pos_nan can't be static.
Thank you for figuring this out. Does the attached patch work on MS Visual Studio 2010? This passes all tests. Your version does not seem to convert properly to +NAN on some platforms (e.g., Linux) and results in some test failures. Thank you Misha
On Sat, Jul 9, 2011 at 10:16 AM, Misha Koshelev <misha680(a)gmail.com> wrote:
Does the attached patch work on MS Visual Studio 2010? This passes all tests.
Ya, it should work. I was only building test applications using the cl from the platform SDK in wine; I haven't been using it for make crosstest.
Your version does not seem to convert properly to +NAN on some platforms (e.g., Linux) and results in some test failures.
That doesn't make sense, because I am primarily using gcc in Ubuntu. Did you try it with the parentheses, because unary minus has higher precedence than division: -0.0f/zero => -nan (0xffc00000) -(0.0f/zero) => nan (0x7fc00000)
On Jul 9, 2011 9:46 AM, "Dylan Smith" <dylan.ah.smith(a)gmail.com> wrote:
On Sat, Jul 9, 2011 at 10:16 AM, Misha Koshelev <misha680(a)gmail.com>
wrote:
Does the attached patch work on MS Visual Studio 2010? This passes all tests.
Ya, it should work. I was only building test applications using the cl from the platform SDK in wine; I haven't been using it for make crosstest.
Your version does not seem to convert properly to +NAN on some platforms (e.g., Linux) and results in some test failures.
That doesn't make sense, because I am primarily using gcc in Ubuntu. Did you try it with the parentheses, because unary minus has higher precedence than division:
-0.0f/zero => -nan (0xffc00000) -(0.0f/zero) => nan (0x7fc00000)
Hi Dylan: I am sorry I miswrote about Ubuntu. However, there were some test failures that occurred on Winetestbot when I tried to use -(0.0f/zero) for nan. Thank you Misha
participants (3)
-
Dylan Smith -
Marvin -
Misha Koshelev