We can have different set of variables to represent the same constraints. For example, the following two systems are equivalent, {a + b = 0 | a >= 0, b >= 0} and {m - n = 0 | m >= 0, n <= 0} This data structure represents the transformation between two equivalent linear systems. In the above example, src : {a + b = 0 | a >= 0, b >= 0} dst : {m - n = 0 | m >= 0, n <= 0} src_to_dst : {a -> m, b -> -n} dst_to_src : {m -> a, n -> -b}.
More...
#include <int_solver.h>
|
static constexpr TVMFFISEqHashKind | _type_s_eq_hash_kind = kTVMFFISEqHashKindTreeNode |
|
static constexpr const char * | _type_key = "arith.IntConstraintsTransform" |
|
We can have different set of variables to represent the same constraints. For example, the following two systems are equivalent, {a + b = 0 | a >= 0, b >= 0} and {m - n = 0 | m >= 0, n <= 0} This data structure represents the transformation between two equivalent linear systems. In the above example, src : {a + b = 0 | a >= 0, b >= 0} dst : {m - n = 0 | m >= 0, n <= 0} src_to_dst : {a -> m, b -> -n} dst_to_src : {m -> a, n -> -b}.
- See also
- IntConstraintsTransform
◆ RegisterReflection()
static void tvm::arith::IntConstraintsTransformNode::RegisterReflection |
( |
| ) |
|
|
inlinestatic |
◆ TVM_DECLARE_FINAL_OBJECT_INFO()
◆ _type_key
constexpr const char* tvm::arith::IntConstraintsTransformNode::_type_key = "arith.IntConstraintsTransform" |
|
staticconstexpr |
◆ _type_s_eq_hash_kind
constexpr TVMFFISEqHashKind tvm::arith::IntConstraintsTransformNode::_type_s_eq_hash_kind = kTVMFFISEqHashKindTreeNode |
|
staticconstexpr |
◆ dst
◆ dst_to_src
Map<Var, PrimExpr> tvm::arith::IntConstraintsTransformNode::dst_to_src |
◆ src
◆ src_to_dst
Map<Var, PrimExpr> tvm::arith::IntConstraintsTransformNode::src_to_dst |
The documentation for this class was generated from the following file: