// // Copyright 2016 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // ConstantFoldingNaN_test.cpp: // Tests for constant folding that results in NaN according to IEEE and should also generate a // warning. The ESSL spec does not mandate generating NaNs, but this is reasonable behavior in // this case. // #include "tests/test_utils/ConstantFoldingTest.h" usingnamespacesh; namespace { class ConstantFoldingNaNExpressionTest : public ConstantFoldingExpressionTest { … }; } // anonymous namespace // Test that infinity - infinity evaluates to NaN. TEST_F(ConstantFoldingNaNExpressionTest, FoldInfinityMinusInfinity) { … } // Test that infinity + negative infinity evaluates to NaN. TEST_F(ConstantFoldingNaNExpressionTest, FoldInfinityPlusNegativeInfinity) { … } // Test that infinity multiplied by zero evaluates to NaN. TEST_F(ConstantFoldingNaNExpressionTest, FoldInfinityMultipliedByZero) { … } // Test that infinity divided by infinity evaluates to NaN. TEST_F(ConstantFoldingNaNExpressionTest, FoldInfinityDividedByInfinity) { … } // Test that zero divided by zero evaluates to NaN. TEST_F(ConstantFoldingNaNExpressionTest, FoldZeroDividedByZero) { … }