#include <tvm/scheme/internal/SchemeAbilities.h>
|
| | 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 |
| |
A class to describe what type of constraint and solving requirements a resolution scheme can handle
◆ SchemeAbilities()
| tvm::scheme::internal::SchemeAbilities::SchemeAbilities |
( |
int |
numberOfLevels, |
|
|
const std::map< int, LevelAbilities > & |
abilities, |
|
|
bool |
scalarization = false |
|
) |
| |
- Parameters
-
| numberOfLevels | The number of levels that the scheme can handle. Use NoLimit to indicate an unlimited number of levels. |
| abilities | The 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. |
| scalarization | Specify 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.
◆ 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_error | if the scheme cannot handled them. |
The documentation for this class was generated from the following file: