FreeTensor
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
freetensor::CompUniqueBoundsCombination::Bound Class Reference

#include <comp_unique_bounds_combination.h>

Inheritance diagram for freetensor::CompUniqueBoundsCombination::Bound:
Inheritance graph
[legend]
Collaboration diagram for freetensor::CompUniqueBoundsCombination::Bound:
Collaboration graph
[legend]

Public Member Functions

 Bound (std::vector< LowerBound > lowerBounds, std::vector< UpperBound > upperBounds)
 
BoundType type () const override
 
int64_t lowerInt () const override
 
int64_t upperInt () const override
 
std::optional< int64_t > getInt () const override
 
Expr lowerExpr () const override
 
Expr upperExpr () const override
 
Ref< CompUniqueBounds::BoundrestrictScope (const std::unordered_set< std::string > &scope) const override
 
Expr simplestExpr (const Expr &reference, const std::unordered_map< std::string, int > &orderedScope) const override
 
- Public Member Functions inherited from freetensor::CompUniqueBounds::Bound
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
 

Friends

class CompUniqueBoundsCombination
 

Additional Inherited Members

- Static Protected Member Functions inherited from freetensor::CompUniqueBounds::Bound
static int countScope (const Expr &op, const std::unordered_map< std::string, int > &orderedScope)
 
static int countHeavyOps (const Expr &op)
 

Constructor & Destructor Documentation

◆ Bound()

freetensor::CompUniqueBoundsCombination::Bound::Bound ( std::vector< LowerBound lowerBounds,
std::vector< UpperBound upperBounds 
)
inline

Member Function Documentation

◆ getInt()

std::optional< int64_t > freetensor::CompUniqueBoundsCombination::Bound::getInt ( ) const
overridevirtual

If the bounded value is a constant integer, return it

Implements freetensor::CompUniqueBounds::Bound.

◆ lowerExpr()

Expr freetensor::CompUniqueBoundsCombination::Bound::lowerExpr ( ) const
overridevirtual

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

Implements freetensor::CompUniqueBounds::Bound.

◆ lowerInt()

int64_t freetensor::CompUniqueBoundsCombination::Bound::lowerInt ( ) const
overridevirtual

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

Implements freetensor::CompUniqueBounds::Bound.

◆ restrictScope()

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

◆ simplestExpr()

Expr freetensor::CompUniqueBoundsCombination::Bound::simplestExpr ( const Expr reference,
const std::unordered_map< std::string, int > &  orderedScope 
) const
overridevirtual

◆ type()

BoundType freetensor::CompUniqueBoundsCombination::Bound::type ( ) const
inlineoverridevirtual

◆ upperExpr()

Expr freetensor::CompUniqueBoundsCombination::Bound::upperExpr ( ) const
overridevirtual

◆ upperInt()

int64_t freetensor::CompUniqueBoundsCombination::Bound::upperInt ( ) const
overridevirtual

Friends And Related Function Documentation

◆ CompUniqueBoundsCombination

friend class CompUniqueBoundsCombination
friend

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