TVM  0.9.4
tvm::hint::internal::Substitutions Class Reference

#include <tvm/hint/internal/Substitutions.h>

Public Member Functions

void add (const Substitution &s)
 
void remove (const Substitution &s)
 
const std::vector< Substitution > & substitutions () const
 
bool uses (LinearConstraintPtr c) const
 
void finalize ()
 
void updateSubstitutions ()
 
void updateVariableValues () const
 
const std::vector< VariablePtr > & variables () const
 
const std::vector< std::shared_ptr< function::BasicLinearFunction > > & variableSubstitutions () const
 
const std::vector< VariablePtr > & additionalVariables () const
 
const std::vector< std::shared_ptr< constraint::BasicLinearConstraint > > & additionalConstraints () const
 
const std::vector< VariablePtr > & otherVariables () const
 
VariableVector substitute (const VariablePtr &x) const
 
Substitution const * getSubstitutionFor (const constraint::abstract::LinearConstraint &cstr)
 

Friends

class SubstitutionTest
 

Detailed Description

A set of substitutions

Member Function Documentation

◆ add()

void tvm::hint::internal::Substitutions::add ( const Substitution s)

Add substitution s.

◆ additionalConstraints()

const std::vector<std::shared_ptr<constraint::BasicLinearConstraint> >& tvm::hint::internal::Substitutions::additionalConstraints ( ) const

The remaining constraints on y and z

◆ additionalVariables()

const std::vector<VariablePtr>& tvm::hint::internal::Substitutions::additionalVariables ( ) const

The additional nullspace variables z

◆ finalize()

void tvm::hint::internal::Substitutions::finalize ( )

Compute all the data needed for the substitutions. Needs to be called after all the call to add or remove, and before the calls to variables, variableSubstitutions and additionalConstraints.

◆ getSubstitutionFor()

Substitution const* tvm::hint::internal::Substitutions::getSubstitutionFor ( const constraint::abstract::LinearConstraint cstr)

Get the substitution using the constraint

◆ otherVariables()

const std::vector<VariablePtr>& tvm::hint::internal::Substitutions::otherVariables ( ) const

The variables y

◆ remove()

void tvm::hint::internal::Substitutions::remove ( const Substitution s)

Remove a substitution s.

◆ substitute()

VariableVector tvm::hint::internal::Substitutions::substitute ( const VariablePtr x) const

If x is one of the substituted variables, returns the variables it is replaced by. Otherwise, return x

◆ substitutions()

const std::vector<Substitution>& tvm::hint::internal::Substitutions::substitutions ( ) const

Get the vector of all substitutions, as added. Note that it is not necessarily the vector of substitutions actually used, as it might be needed to group substitutions (when a group of substitutions depends on each other variables).

◆ updateSubstitutions()

void tvm::hint::internal::Substitutions::updateSubstitutions ( )

Update the data for the substitutions

◆ updateVariableValues()

void tvm::hint::internal::Substitutions::updateVariableValues ( ) const

Update the value of the substituted variables according to the values of the non-substituted ones.

◆ uses()

bool tvm::hint::internal::Substitutions::uses ( LinearConstraintPtr  c) const

Return true if c is used in one of the substitutions

◆ variables()

const std::vector<VariablePtr>& tvm::hint::internal::Substitutions::variables ( ) const

All variables x in the substitutions

◆ variableSubstitutions()

const std::vector<std::shared_ptr<function::BasicLinearFunction> >& tvm::hint::internal::Substitutions::variableSubstitutions ( ) const

The linear functions x = f(y,z) corresponding to the variables

Friends And Related Function Documentation

◆ SubstitutionTest

friend class SubstitutionTest
friend

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