tvm
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
tvm::relax::SameShapeConstraintNode Class Reference

A pattern that asserting multiple root patterns have the same shape. More...

#include <dataflow_pattern.h>

Inheritance diagram for tvm::relax::SameShapeConstraintNode:
Collaboration diagram for tvm::relax::SameShapeConstraintNode:

Public Member Functions

ffi::Array< DFPatternGetDependentPatterns () const override
 Return the patterns on which the constraint depends. More...
 
std::tuple< PrimExpr, bool > AsPrimExpr (std::function< ffi::Optional< Var >(const DFPatternNode *)> match_state) const override
 Convert the constraint to a PrimExpr. More...
 
 TVM_FFI_DECLARE_OBJECT_INFO_FINAL ("relax.dpl.SameShapeConstraint", SameShapeConstraintNode, DFConstraintNode)
 
- Public Member Functions inherited from tvm::relax::DFConstraintNode
 TVM_FFI_DECLARE_OBJECT_INFO ("relax.dpl.DFConstraint", DFConstraintNode, Object)
 

Static Public Member Functions

static void RegisterReflection ()
 

Public Attributes

ffi::Array< DFPatternargs
 

Additional Inherited Members

- Static Public Attributes inherited from tvm::relax::DFConstraintNode
static constexpr const uint32_t _type_child_slots = 1
 

Detailed Description

A pattern that asserting multiple root patterns have the same shape.

See also
SameShapePattern

Member Function Documentation

◆ AsPrimExpr()

std::tuple<PrimExpr, bool> tvm::relax::SameShapeConstraintNode::AsPrimExpr ( std::function< ffi::Optional< Var >(const DFPatternNode *)>  match_state) const
overridevirtual

Convert the constraint to a PrimExpr.

If the returned boolean parameter is true, then the returned expression is a necessary-and-sufficient condition for evaluating the constraint. In this case, the matcher may either mark the constraint as satisfied (no need to re-check later), or as failed (need to back-track).

If the returned boolean parameter is false, then the returned expression is a necessary-but-not-sufficient condition for evaluating the constraint. In this case, the matcher may start backtracking as a result of a failed condition, but may not mark the constraint as satisfied. This typically occurs when the constraint involves a parameter that the matcher has not yet filled.

Parameters
match_stateA function that can be called to check the current state of the match. The function takes as argument a pattern on which the constraint depends, and returns the relax variable matched by that pattern, or std::nullopt if the pattern has not yet been matched.
Returns
A tuple of PrimExpr and bool. The first element is a necessary condition for the constraint to be satisfied. The second tuple element indicates whether the condition is also sufficient for the constraint to be satisfied.

Implements tvm::relax::DFConstraintNode.

◆ GetDependentPatterns()

ffi::Array<DFPattern> tvm::relax::SameShapeConstraintNode::GetDependentPatterns ( ) const
inlineoverridevirtual

Return the patterns on which the constraint depends.

Implements tvm::relax::DFConstraintNode.

◆ RegisterReflection()

static void tvm::relax::SameShapeConstraintNode::RegisterReflection ( )
inlinestatic

◆ TVM_FFI_DECLARE_OBJECT_INFO_FINAL()

tvm::relax::SameShapeConstraintNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL ( "relax.dpl.SameShapeConstraint"  ,
SameShapeConstraintNode  ,
DFConstraintNode   
)

Member Data Documentation

◆ args

ffi::Array<DFPattern> tvm::relax::SameShapeConstraintNode::args

The patterns with matching shapes


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