#include <iostream>
#include <optional>
#include <unordered_set>
#include <math/linear.h>
#include <math/rational.h>
Go to the source code of this file.
|
| ASTNodeType | freetensor::detail::reverseCmp (ASTNodeType type) |
| |
| UpperBound | freetensor::add (const UpperBound &b1, const UpperBound &b2) |
| |
| LowerBound | freetensor::add (const LowerBound &b1, const LowerBound &b2) |
| |
| UpperBound | freetensor::sub (const UpperBound &b1, const LowerBound &b2) |
| |
| LowerBound | freetensor::sub (const LowerBound &b1, const UpperBound &b2) |
| |
| UpperBound | freetensor::mul (const UpperBound &b, int k) |
| |
| LowerBound | freetensor::mul (const LowerBound &b, int k) |
| |
| UpperBound | freetensor::floorDiv (const UpperBound &b, int k) |
| |
| LowerBound | freetensor::floorDiv (const LowerBound &b, int k) |
| |
| UpperBound | freetensor::ceilDiv (const UpperBound &b, int k) |
| |
| LowerBound | freetensor::ceilDiv (const LowerBound &b, int k) |
| |
| bool | freetensor::alwaysLT (const UpperBound &b1, const LowerBound &b2) |
| |
| bool | freetensor::alwaysLE (const UpperBound &b1, const LowerBound &b2) |
| |
| template<class T > |
| std::pair< std::optional< LowerBound >, std::optional< UpperBound > > | freetensor::lin2bounds (const LinearExpr< T > &_lin, ASTNodeType cmp, const Expr &x) |
| |