tvm
Public Member Functions | Static Public Member Functions | List of all members
tvm::arith::IntGroupBounds Class Reference

Managed reference to IntGroupBoundsNode. More...

#include <int_solver.h>

Inheritance diagram for tvm::arith::IntGroupBounds:
Collaboration diagram for tvm::arith::IntGroupBounds:

Public Member Functions

 IntGroupBounds (PrimExpr coef, Array< PrimExpr > lower, Array< PrimExpr > equal, Array< PrimExpr > upper)
 Constructor by fields. More...
 
IntGroupBounds Substitute (const Map< Var, PrimExpr > &subst) const
 Perform substitution on all components of the struct. More...
 
Range FindBestRange (const Map< Var, Range > &vranges_addl={}) const
 Find the best range from the grouped bounds. More...
 
IntGroupBounds operator+ (const Range &r)
 Combine the bounds with another range. More...
 
 TVM_DEFINE_OBJECT_REF_METHODS (IntGroupBounds, ObjectRef, IntGroupBoundsNode)
 
- Public Member Functions inherited from tvm::runtime::ObjectRef
 ObjectRef ()=default
 default constructor More...
 
 ObjectRef (ObjectPtr< Object > data)
 Constructor from existing object ptr. More...
 
bool same_as (const ObjectRef &other) const
 Comparator. More...
 
bool operator== (const ObjectRef &other) const
 Comparator. More...
 
bool operator!= (const ObjectRef &other) const
 Comparator. More...
 
bool operator< (const ObjectRef &other) const
 Comparator. More...
 
bool defined () const
 
const Objectget () const
 
const Objectoperator-> () const
 
bool unique () const
 
int use_count () const
 
template<typename ObjectType , typename = std::enable_if_t<std::is_base_of_v<Object, ObjectType>>>
const ObjectType * as () const
 Try to downcast the internal Object to a raw pointer of a corresponding type. More...
 
template<typename ObjectRefType , typename = std::enable_if_t<std::is_base_of_v<ObjectRef, ObjectRefType>>>
Optional< ObjectRefType > as () const
 Try to downcast the ObjectRef to a Optional<T> of the requested type. More...
 

Static Public Member Functions

static IntGroupBounds FromRange (const Range &r)
 Construct bounds from a range. More...
 

Additional Inherited Members

- Public Types inherited from tvm::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 
- Static Public Attributes inherited from tvm::runtime::ObjectRef
static constexpr bool _type_is_nullable = true
 
- Protected Member Functions inherited from tvm::runtime::ObjectRef
Objectget_mutable () const
 
- Static Protected Member Functions inherited from tvm::runtime::ObjectRef
template<typename T >
static T DowncastNoCheck (ObjectRef ref)
 Internal helper function downcast a ref without check. More...
 
static void FFIClearAfterMove (ObjectRef *ref)
 Clear the object ref data field without DecRef after we successfully moved the field. More...
 
template<typename ObjectType >
static ObjectPtr< ObjectType > GetDataPtr (const ObjectRef &ref)
 Internal helper function get data_ as ObjectPtr of ObjectType. More...
 
- Protected Attributes inherited from tvm::runtime::ObjectRef
ObjectPtr< Objectdata_
 Internal pointer that backs the reference. More...
 

Detailed Description

Managed reference to IntGroupBoundsNode.

See also
IntGroupBoundsNode

Constructor & Destructor Documentation

◆ IntGroupBounds()

tvm::arith::IntGroupBounds::IntGroupBounds ( PrimExpr  coef,
Array< PrimExpr lower,
Array< PrimExpr equal,
Array< PrimExpr upper 
)

Constructor by fields.

Parameters
coefThe coefficient. Must be integer. coef * var >= lower coef * var == equal coef * var >= upper
lowerthe lower bounds (include)
equalequalities
upperthe upper bounds (include)

Member Function Documentation

◆ FindBestRange()

Range tvm::arith::IntGroupBounds::FindBestRange ( const Map< Var, Range > &  vranges_addl = {}) const

Find the best range from the grouped bounds.

Parameters
vranges_addladditional variable ranges that help infer the best range.
Returns
The best range (has the least difference between the lower bound and upper bound). undefined if (-inf, +inf).

◆ FromRange()

static IntGroupBounds tvm::arith::IntGroupBounds::FromRange ( const Range r)
static

Construct bounds from a range.

Parameters
rThe range
Returns
constructed bounds.

◆ operator+()

IntGroupBounds tvm::arith::IntGroupBounds::operator+ ( const Range r)

Combine the bounds with another range.

Parameters
rrange to be combined.
Returns
combined bounds.

◆ Substitute()

IntGroupBounds tvm::arith::IntGroupBounds::Substitute ( const Map< Var, PrimExpr > &  subst) const

Perform substitution on all components of the struct.

◆ TVM_DEFINE_OBJECT_REF_METHODS()

tvm::arith::IntGroupBounds::TVM_DEFINE_OBJECT_REF_METHODS ( IntGroupBounds  ,
ObjectRef  ,
IntGroupBoundsNode   
)

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