You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While working on PR #7196 , we noticed that adding NaN value handling to the S390 float & double max/min evaluators seems to pass all the MaxMin.cpp tests on Linux on Z, but on z/OS, the tests with NaN operands keeps failing with the following exception:
28: [----------] 1444 tests from MaxMin/FloatMaxMin
28: unknown file: Failure
28: Unknown C++ exception thrown in the test body.
28: [ FAILED ] MaxMin/FloatMaxMin.UsingConst/20, where GetParam() = ((0, NaNQ(1)), ("\x86\x94" "\x81\xA7", 50088187B0)) (0 ms)
28: unknown file: Failure
28: Unknown C++ exception thrown in the test body.
28: [ FAILED ] MaxMin/FloatMaxMin.UsingConst/21, where GetParam() = ((0, NaNQ(1)), ("\x86\x94\x89\x95", 50088187A0)) (0 ms)
28: unknown file: Failure
28: Unknown C++ exception thrown in the test body.
28: [ FAILED ] MaxMin/FloatMaxMin.UsingConst/22, where GetParam() = ((0, -NaNQ(1)), ("\x86\x94" "\x81\xA7", 50088187B0)) (1 ms)
28: unknown file: Failure
28: Unknown C++ exception thrown in the test body.
28: [ FAILED ] MaxMin/FloatMaxMin.UsingConst/23, where GetParam() = ((0, -NaNQ(1)), ("\x86\x94\x89\x95", 50088187A0)) (0 ms)
The tests are failing most likely due to non-standard nan formatting where the TRIL generator raises an exception:
std::snprintf("(dconst %f)", NAN) yields (dconst nan) on Linux/GCC, passing all the tests
std::snprintf("(dconst %f)", NAN) yields (dconst NaNQ(1)) on zOS/XLC, where the tests fail.
This leads to the Float/Double MaxMin tests currently being disabled on z/OS. Opening up this issue to keep track of potential fixes for the correct NaN formatting on z/OS. @r30shah
The text was updated successfully, but these errors were encountered:
Thanks @janvrany , @sarwat12 was working on handling NaN's correctly on Z. His PR (#7196) will enable the tril test on Linux on Z as the logic in the evaluator now simply return the operand which is NaN (So we would not generate any constant materialization).
For the z/OS as he said, formatting is the blocking, but the evaluator now have the support so please let us know if you have something for us to try on z/OS.
While working on PR #7196 , we noticed that adding NaN value handling to the S390 float & double max/min evaluators seems to pass all the MaxMin.cpp tests on Linux on Z, but on z/OS, the tests with NaN operands keeps failing with the following exception:
The tests are failing most likely due to non-standard
nan
formatting where the TRIL generator raises an exception:std::snprintf("(dconst %f)", NAN)
yields(dconst nan)
on Linux/GCC, passing all the testsstd::snprintf("(dconst %f)", NAN)
yields(dconst NaNQ(1))
on zOS/XLC, where the tests fail.This leads to the Float/Double MaxMin tests currently being disabled on z/OS. Opening up this issue to keep track of potential fixes for the correct
NaN
formatting on z/OS. @r30shahThe text was updated successfully, but these errors were encountered: