mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-10-05 01:49:02 +00:00
Disable floating point exception traps when testing NaNs
Some functions are supposed to behave correctly when given a NaN. This might only be valid if floation point exceptions are not trapped, so disable trapping for these tests.
This commit is contained in:
parent
b01ca530b8
commit
6447b17303
@ -120,6 +120,8 @@ void TestBounds()
|
||||
VTKM_TEST_ASSERT(unionBounds.Contains(Vec3(25)), "Contains fail");
|
||||
|
||||
std::cout << "Try adding NaN." << std::endl;
|
||||
// Turn off floating point exceptions. This is only for conditions that allow NaNs.
|
||||
vtkm::testing::FloatingPointExceptionTrapDisable();
|
||||
unionBounds.Include(Vec3(vtkm::Nan64()));
|
||||
VTKM_TEST_ASSERT(!unionBounds.Contains(Vec3(-20)), "Contains fail");
|
||||
VTKM_TEST_ASSERT(!unionBounds.Contains(Vec3(-2)), "Contains fail");
|
||||
|
@ -179,10 +179,11 @@ struct ScalarFieldTests : public vtkm::exec::FunctorBase
|
||||
|
||||
// General behavior.
|
||||
VTKM_MATH_ASSERT(nan != vtkm::Nan<T>(), "Nan not equal itself.");
|
||||
VTKM_MATH_ASSERT(!(nan >= zero), "Nan not greater or less.");
|
||||
VTKM_MATH_ASSERT(!(nan <= zero), "Nan not greater or less.");
|
||||
VTKM_MATH_ASSERT(!(nan >= finite), "Nan not greater or less.");
|
||||
VTKM_MATH_ASSERT(!(nan <= finite), "Nan not greater or less.");
|
||||
// Disabled because they can cause floating point exceptions
|
||||
//VTKM_MATH_ASSERT(!(nan >= zero), "Nan not greater or less.");
|
||||
//VTKM_MATH_ASSERT(!(nan <= zero), "Nan not greater or less.");
|
||||
//VTKM_MATH_ASSERT(!(nan >= finite), "Nan not greater or less.");
|
||||
//VTKM_MATH_ASSERT(!(nan <= finite), "Nan not greater or less.");
|
||||
|
||||
VTKM_MATH_ASSERT(neginf < inf, "Infinity big");
|
||||
VTKM_MATH_ASSERT(zero < inf, "Infinity big");
|
||||
|
@ -122,6 +122,8 @@ void TestRange()
|
||||
VTKM_TEST_ASSERT(unionRange.Contains(25), "Contains fail");
|
||||
|
||||
std::cout << "Try adding NaN." << std::endl;
|
||||
// Turn off floating point exceptions. This is only for conditions that allow NaNs.
|
||||
vtkm::testing::FloatingPointExceptionTrapDisable();
|
||||
unionRange.Include(vtkm::Nan64());
|
||||
VTKM_TEST_ASSERT(unionRange.IsNonEmpty(), "Empty?");
|
||||
VTKM_TEST_ASSERT(!unionRange.Contains(-20), "Contains fail");
|
||||
|
@ -29,7 +29,7 @@ void CheckTypeSizes()
|
||||
VTKM_TEST_ASSERT(sizeof(vtkm::Int64) == 8, "Int64 wrong size.");
|
||||
VTKM_TEST_ASSERT(sizeof(vtkm::UInt64) == 8, "UInt64 wrong size.");
|
||||
VTKM_TEST_ASSERT(sizeof(vtkm::Float32) == 4, "Float32 wrong size.");
|
||||
VTKM_TEST_ASSERT(sizeof(vtkm::Float64) == 8, "Float32 wrong size.");
|
||||
VTKM_TEST_ASSERT(sizeof(vtkm::Float64) == 8, "Float64 wrong size.");
|
||||
}
|
||||
|
||||
// This part of the test has to be broken out of GeneralVecTypeTest because
|
||||
|
Loading…
Reference in New Issue
Block a user