//===- MatrixTest.cpp - Tests for QuasiPolynomial -------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "mlir/Analysis/Presburger/QuasiPolynomial.h" #include "./Utils.h" #include "mlir/Analysis/Presburger/Fraction.h" #include <gmock/gmock.h> #include <gtest/gtest.h> usingnamespacemlir; usingnamespacepresburger; // Test the arithmetic operations on QuasiPolynomials; // addition, subtraction, multiplication, and division // by a constant. // Two QPs of 3 parameters each were generated randomly // and their sum, difference, and product computed by hand. TEST(QuasiPolynomialTest, arithmetic) { … } // Test the simplify() operation on QPs, which removes terms that // are identically zero. A random QP was generated and terms were // changed to account for each condition in simplify() – // the term coefficient being zero, or all the coefficients in some // affine term in the product being zero. TEST(QuasiPolynomialTest, simplify) { … }