TVM  0.9.4
tvm::scheme::internal::SchemeAbilities Class Reference

#include <tvm/scheme/internal/SchemeAbilities.h>

Public Member Functions

 SchemeAbilities (int numberOfLevels, const std::map< int, LevelAbilities > &abilities, bool scalarization=false)
 
template<class RequirementsPtr >
void check (const ConstraintPtr &c, const RequirementsPtr &req, bool emitWarnings=true) const
 

Detailed Description

A class to describe what type of constraint and solving requirements a resolution scheme can handle

Constructor & Destructor Documentation

◆ SchemeAbilities()

tvm::scheme::internal::SchemeAbilities::SchemeAbilities ( int  numberOfLevels,
const std::map< int, LevelAbilities > &  abilities,
bool  scalarization = false 
)
Parameters
numberOfLevelsThe number of levels that the scheme can handle. Use NoLimit to indicate an unlimited number of levels.
abilitiesThe association of a level number and the LevelAbilities of that level. Use GeneralLevel to specify all levels that do not appear explicitly in the map.
scalarizationSpecify is this scheme can use weights to approximate priority.
Note
numberOfLevels should be the number of levels the scheme can handle without scalarization. Scalarization is an artificial way to add levels. For example, a QP-based scheme should declare 2 levels, even if scalarization will make it possible to emulate a few more.

Member Function Documentation

◆ check()

template<class RequirementsPtr >
void tvm::scheme::internal::SchemeAbilities::check ( const ConstraintPtr c,
const RequirementsPtr &  req,
bool  emitWarnings = true 
) const
inline

Check that the given constraint and requirements \req can be handled by this scheme.

Exceptions
std::runtime_errorif the scheme cannot handled them.

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