#ifndef MLIR_UNITTESTS_ANALYSIS_PRESBURGER_UTILS_H
#define MLIR_UNITTESTS_ANALYSIS_PRESBURGER_UTILS_H
#include "mlir/Analysis/Presburger/GeneratingFunction.h"
#include "mlir/Analysis/Presburger/IntegerRelation.h"
#include "mlir/Analysis/Presburger/Matrix.h"
#include "mlir/Analysis/Presburger/QuasiPolynomial.h"
#include <gtest/gtest.h>
#include <optional>
namespace mlir {
namespace presburger {
dynamicAPIntFromInt64;
inline IntMatrix makeIntMatrix(unsigned numRow, unsigned numColumns,
ArrayRef<SmallVector<int, 8>> matrix) { … }
inline FracMatrix makeFracMatrix(unsigned numRow, unsigned numColumns,
ArrayRef<SmallVector<Fraction, 8>> matrix) { … }
inline void EXPECT_EQ_INT_MATRIX(IntMatrix a, IntMatrix b) { … }
inline void EXPECT_EQ_FRAC_MATRIX(FracMatrix a, FracMatrix b) { … }
inline void EXPECT_EQ_REPR_GENERATINGFUNCTION(detail::GeneratingFunction a,
detail::GeneratingFunction b) { … }
inline void EXPECT_EQ_REPR_QUASIPOLYNOMIAL(QuasiPolynomial a,
QuasiPolynomial b) { … }
inline bool infinityOrUInt64LE(std::optional<DynamicAPInt> lhs,
std::optional<DynamicAPInt> rhs) { … }
inline void expectComputedVolumeIsValidOverapprox(
const std::optional<DynamicAPInt> &computedVolume,
const std::optional<DynamicAPInt> &trueVolume,
const std::optional<DynamicAPInt> &resultBound) { … }
inline void expectComputedVolumeIsValidOverapprox(
const std::optional<DynamicAPInt> &computedVolume,
std::optional<int64_t> trueVolume, std::optional<int64_t> resultBound) { … }
}
}
#endif