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

#include <comp_unique_bounds.h>

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

Classes

class  Bound
 

Public Types

enum class  BoundType { Combination , Presburger }
 

Public Member Functions

 CompUniqueBounds (const CompTransientBoundsInterface &transients)
 
virtual ~CompUniqueBounds ()
 
virtual Ref< BoundgetBound (const Expr &op)=0
 
int64_t getIntLower (const Expr &op)
 
int64_t getIntUpper (const Expr &op)
 
std::optional< int64_t > getInt (const Expr &op)
 
virtual bool alwaysLT (const Expr &lhs, const Expr &rhs)=0
 
virtual bool alwaysLE (const Expr &lhs, const Expr &rhs)=0
 
virtual std::pair< Expr, ExprunionBounds (const std::vector< Ref< Bound > > &bounds)=0
 

Protected Attributes

const CompTransientBoundsInterfacetransients_
 

Member Enumeration Documentation

◆ BoundType

Enumerator
Combination 
Presburger 

Constructor & Destructor Documentation

◆ CompUniqueBounds()

freetensor::CompUniqueBounds::CompUniqueBounds ( const CompTransientBoundsInterface transients)
inline

◆ ~CompUniqueBounds()

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

Member Function Documentation

◆ alwaysLE()

virtual bool freetensor::CompUniqueBounds::alwaysLE ( const Expr lhs,
const Expr rhs 
)
pure virtual

◆ alwaysLT()

virtual bool freetensor::CompUniqueBounds::alwaysLT ( const Expr lhs,
const Expr rhs 
)
pure virtual

◆ getBound()

virtual Ref< Bound > freetensor::CompUniqueBounds::getBound ( const Expr op)
pure virtual

◆ getInt()

std::optional< int64_t > freetensor::CompUniqueBounds::getInt ( const Expr op)
inline

◆ getIntLower()

int64_t freetensor::CompUniqueBounds::getIntLower ( const Expr op)
inline

◆ getIntUpper()

int64_t freetensor::CompUniqueBounds::getIntUpper ( const Expr op)
inline

◆ unionBounds()

virtual std::pair< Expr, Expr > freetensor::CompUniqueBounds::unionBounds ( const std::vector< Ref< Bound > > &  bounds)
pure virtual

Member Data Documentation

◆ transients_

const CompTransientBoundsInterface& freetensor::CompUniqueBounds::transients_
protected

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