|
TVM
0.9.4
|
#include <tvm/constraint/abstract/Constraint.h>


Public Member Functions | |
| virtual const Eigen::VectorXd & | l () const |
| virtual const Eigen::VectorXd & | u () const |
| virtual const Eigen::VectorXd & | e () const |
| Type | type () const |
| bool | isEquality () const |
| RHS | rhs () const |
Public Member Functions inherited from tvm::internal::ObjWithId | |
| ObjWithId (const ObjWithId &)=delete | |
| ObjWithId (ObjWithId &&other) | |
| ObjWithId & | operator= (const ObjWithId &)=delete |
| ObjWithId & | operator= (ObjWithId &&other) |
| int | id () const |
Public Member Functions inherited from tvm::graph::abstract::OutputSelector< Constraint, tvm::internal::FirstOrderProvider > | |
| OutputSelector (Args &&... args) | |
| void | lock () |
| void | unlock () |
| bool | isLocked () const |
Public Member Functions inherited from tvm::internal::FirstOrderProvider | |
| virtual const Eigen::VectorXd & | value () const |
| virtual MatrixConstRefWithProperties | jacobian (const Variable &x) const |
| bool | linearIn (const Variable &x) const |
| const Space & | imageSpace () const |
| int | size () const |
| int | rSize () const |
| int | tSize () const |
| const VariableVector & | variables () const |
Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| template<typename EnumT > | |
| bool | isUpdateEnabled (EnumT e) const |
| virtual bool | isUpdateStaticallyEnabled (int) const |
| virtual bool | isUpdateCustomEnabled (int) const |
| virtual | ~AbstractNode ()=default |
| void | update (int i) |
Public Member Functions inherited from tvm::graph::internal::Inputs | |
| virtual | ~Inputs ()=default |
| template<typename T , typename EnumI , typename... Args> | |
| void | addInput (std::shared_ptr< T > source, EnumI i, Args... args) |
| template<typename T , typename EnumI , typename... Args, typename std::enable_if< std::is_base_of< abstract::Outputs, T >::value, int >::type = 0> | |
| void | addInput (T &source, EnumI i, Args... args) |
| template<typename T > | |
| void | removeInput (T *source) |
| template<typename T , typename... Args> | |
| void | removeInput (T *source, Args... args) |
| template<typename T > | |
| Iterator | getInput (T *source) |
| template<typename T > | |
| Iterator | getInput (const std::shared_ptr< T > &source) |
Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| virtual | ~Outputs ()=default |
| template<typename EnumT > | |
| bool | isOutputEnabled (EnumT e) const |
| bool | isOutputEnabled (int i) const |
| virtual bool | isOutputStaticallyEnabled (int) const |
Protected Member Functions | |
| Constraint (Type ct, RHS cr, int m=0) | |
| void | resizeCache () override |
| Eigen::VectorXd & | lRef () |
| Eigen::VectorXd & | uRef () |
| Eigen::VectorXd & | eRef () |
Protected Member Functions inherited from tvm::internal::ObjWithId | |
| ObjWithId () | |
Protected Member Functions inherited from tvm::graph::abstract::OutputSelector< Constraint, tvm::internal::FirstOrderProvider > | |
| void | disableOutput (EnumT e) |
| void | disableOutput (EnumT e, Args... args) |
| void | enableOutput (EnumT e) |
| void | enableOutput (EnumT e, Args... args) |
| bool | isOutputCustomEnabled (int e) const override |
Protected Member Functions inherited from tvm::internal::FirstOrderProvider | |
| FirstOrderProvider (int m) | |
| FirstOrderProvider (Space image) | |
| void | resizeValueCache () |
| void | resizeJacobianCache () |
| void | addVariable (VariablePtr v, bool linear) |
| void | removeVariable (VariablePtr v) |
| void | addVariable (const VariableVector &v, bool linear) |
| virtual void | addVariable_ (VariablePtr) |
| virtual void | removeVariable_ (VariablePtr) |
| void | splitJacobian (const MatrixConstRef &J, const std::vector< VariablePtr > &vars, bool keepProperties=false) |
| void | splitJacobian (const MatrixConstRef &J, const VariableVector &vars, bool keepProperties=false) |
| void | resize (int m) |
Protected Member Functions inherited from tvm::graph::abstract::Node< FirstOrderProvider > | |
| void | registerUpdates (EnumT u, void(U::*fn)(), Args... args) |
| void | registerUpdates (EnumT u, void(U::*fn)()) |
| void | addOutputDependency (EnumO o, EnumU u) |
| void | addOutputDependency (std::initializer_list< EnumO > os, EnumU u) |
| void | addInternalDependency (EnumU1 uDependent, EnumU2 u) |
| void | addInputDependency (EnumU u, std::shared_ptr< S > source, EnumO i, Args... args) |
| void | addInputDependency (EnumU u, S &source, EnumO i, Args... args) |
| void | addDirectDependency (EnumO o, std::shared_ptr< S > source, EnumI i) |
| void | addDirectDependency (EnumO o, S &source, EnumI i) |
Protected Attributes | |
| internal::RHSVectors | vectors_ |
Protected Attributes inherited from tvm::internal::FirstOrderProvider | |
| Eigen::VectorXd | value_ |
| utils::internal::MapWithVariableAsKey< MatrixWithProperties, slice_matrix, true > | jacobian_ |
| Space | imageSpace_ |
| VariableVector | variables_ |
| utils::internal::MapWithVariableAsKey< bool, slice_linear > | linear_ |
Protected Attributes inherited from tvm::graph::internal::AbstractNode | |
| std::map< int, std::function< void(AbstractNode &)> > | updates_ |
| std::map< int, std::vector< int > > | outputDependencies_ |
| std::map< int, std::vector< int > > | internalDependencies_ |
| std::map< int, input_dependency_t > | inputDependencies_ |
| std::map< int, std::pair< Outputs *, int > > | directDependencies_ |
Protected Attributes inherited from tvm::graph::abstract::Outputs | |
| bool | is_node_ = false |
Protected Attributes inherited from tvm::graph::abstract::SelectorMembers< add > | |
| std::vector< bool > | dynamicallyEnabled_ |
| bool | locked_ = false |
Additional Inherited Members | |
Public Types inherited from tvm::graph::internal::AbstractNode | |
| enum class | Update_ |
| using | UpdateParent = AbstractNode |
| using | UpdateBase = AbstractNode |
Public Types inherited from tvm::graph::internal::Inputs | |
| using | inputs_t = std::unordered_map< abstract::Outputs *, std::set< int > > |
| using | store_t = std::unordered_set< std::shared_ptr< abstract::Outputs > > |
Public Types inherited from tvm::graph::abstract::Outputs | |
| enum class | Output_ |
| using | OutputParent = Outputs |
| using | OutputBase = Outputs |
Static Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| static constexpr const char * | UpdateName (Update_) |
| template<typename EnumT > | |
| static constexpr bool | UpdateStaticallyEnabled (EnumT) |
Static Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| static constexpr const char * | OutputName (Output_) |
| template<typename EnumT > | |
| static constexpr bool | OutputStaticallyEnabled (EnumT) |
Static Public Attributes inherited from tvm::graph::internal::AbstractNode | |
| static constexpr unsigned int | UpdateSize = 0 |
| static constexpr auto | UpdateBaseName = "AbstractNode" |
Static Public Attributes inherited from tvm::graph::abstract::Outputs | |
| static constexpr unsigned int | OutputSize = 0 |
| static constexpr auto | OutputBaseName = "Outputs" |
Protected Types inherited from tvm::graph::internal::AbstractNode | |
| using | input_dependency_t = std::map< Outputs *, std::set< int > > |
Base class for representing a constraint.
It manages the enabling/disabling of the outputs L, U and E (depending on its type and rhs convention).
FIXME: have the updateValue here and add an output check()
Constructor. Only available to derived classes.
| ct | The constraint type |
| cr | The rhs convention |
| The | (output) size of the constraint |
|
inlinevirtual |
Return the vector e
l exists for the given constraint conventions, but the method does not throw if it is not the case.
|
inlineprotected |
Direct (non-const) access to e for derived classes
| bool tvm::constraint::abstract::Constraint::isEquality | ( | ) | const |
Check whether this is an equality constraint.
|
inlinevirtual |
Return the vector l
l exists for the given constraint conventions, but the method does not throw if it is not the case.
|
inlineprotected |
Direct (non-const) access to l for derived classes
|
overrideprotectedvirtual |
Resize the cache (rhs vector(s), jacobian matrices,...) for the current size of the constraint.
Reimplemented from tvm::internal::FirstOrderProvider.
| RHS tvm::constraint::abstract::Constraint::rhs | ( | ) | const |
Return the convention for the right-hand side e, l, u or both l and u of the constraint.
| Type tvm::constraint::abstract::Constraint::type | ( | ) | const |
Return the type of the constraint.
|
inlinevirtual |
Return the vector u
l exists for the given constraint conventions, but the method does not throw if it is not the case.
|
inlineprotected |
Direct (non-const) access to u for derived classes
|
protected |
Cache for l, u and e