FreeTensor
Loading...
Searching...
No Matches
Public Member Functions | Static Protected Member Functions | List of all members
freetensor::CompUniqueBounds::Bound Class Referenceabstract

#include <comp_unique_bounds.h>

Inheritance diagram for freetensor::CompUniqueBounds::Bound:
Inheritance graph
[legend]

Public Member Functions

virtual ~Bound ()
 
virtual BoundType type () const =0
 
virtual std::optional< int64_t > getInt () const =0
 
virtual Ref< BoundrestrictScope (const std::unordered_set< std::string > &scope) const =0
 
virtual Expr simplestExpr (const Expr &reference, const std::unordered_map< std::string, int > &orderedScope) const =0
 
virtual int64_t lowerInt () const =0
 
virtual int64_t upperInt () const =0
 
virtual Expr lowerExpr () const =0
 
virtual Expr upperExpr () const =0
 

Static Protected Member Functions

static int countScope (const Expr &op, const std::unordered_map< std::string, int > &orderedScope)
 
static int countHeavyOps (const Expr &op)
 

Constructor & Destructor Documentation

◆ ~Bound()

virtual freetensor::CompUniqueBounds::Bound::~Bound ( )
inlinevirtual

Member Function Documentation

◆ countHeavyOps()

int freetensor::CompUniqueBounds::Bound::countHeavyOps ( const Expr op)
staticprotected

◆ countScope()

int freetensor::CompUniqueBounds::Bound::countScope ( const Expr op,
const std::unordered_map< std::string, int > &  orderedScope 
)
staticprotected

◆ getInt()

virtual std::optional< int64_t > freetensor::CompUniqueBounds::Bound::getInt ( ) const
pure virtual

If the bounded value is a constant integer, return it

Implemented in freetensor::CompUniqueBoundsCombination::Bound, and freetensor::CompUniqueBoundsPB::Bound.

◆ lowerExpr()

virtual Expr freetensor::CompUniqueBounds::Bound::lowerExpr ( ) const
pure virtual

Return an Expr for the bound. In case of no solution, return nullptr

Implemented in freetensor::CompUniqueBoundsCombination::Bound, and freetensor::CompUniqueBoundsPB::Bound.

◆ lowerInt()

virtual int64_t freetensor::CompUniqueBounds::Bound::lowerInt ( ) const
pure virtual

Get an integer bound. In case of no solution, return LLONG_MAX or LLONG_MIN

Implemented in freetensor::CompUniqueBoundsCombination::Bound, and freetensor::CompUniqueBoundsPB::Bound.

◆ restrictScope()

virtual Ref< Bound > freetensor::CompUniqueBounds::Bound::restrictScope ( const std::unordered_set< std::string > &  scope) const
pure virtual

◆ simplestExpr()

virtual Expr freetensor::CompUniqueBounds::Bound::simplestExpr ( const Expr reference,
const std::unordered_map< std::string, int > &  orderedScope 
) const
pure virtual

◆ type()

virtual BoundType freetensor::CompUniqueBounds::Bound::type ( ) const
pure virtual

◆ upperExpr()

virtual Expr freetensor::CompUniqueBounds::Bound::upperExpr ( ) const
pure virtual

◆ upperInt()

virtual int64_t freetensor::CompUniqueBounds::Bound::upperInt ( ) const
pure virtual

The documentation for this class was generated from the following files: