chromium/third_party/angle/src/tests/compiler_tests/ConstantFoldingNaN_test.cpp

//
// 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)
{}