FreeTensor
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
bounds.h File Reference
#include <iostream>
#include <optional>
#include <unordered_set>
#include <math/linear.h>
#include <math/rational.h>
Include dependency graph for bounds.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  freetensor::UpperBound
 
class  freetensor::LowerBound
 

Namespaces

namespace  freetensor
 
namespace  freetensor::detail
 

Functions

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)