Halide 20.0.0
Halide compiler and libraries
 
Loading...
Searching...
No Matches
Halide::Internal::IRMatcher::SelectOp< C, T, F > Struct Template Reference

#include <IRMatch.h>

Classes

struct  pattern_tag
 

Public Member Functions

template<uint32_t bound>
HALIDE_ALWAYS_INLINE bool match (const BaseExprNode &e, MatcherState &state) const noexcept
 
template<uint32_t bound, typename C2, typename T2, typename F2>
HALIDE_ALWAYS_INLINE bool match (const SelectOp< C2, T2, F2 > &instance, MatcherState &state) const noexcept
 
HALIDE_ALWAYS_INLINE Expr make (MatcherState &state, halide_type_t type_hint) const
 
template<typename C1 = C>
HALIDE_ALWAYS_INLINE void make_folded_const (halide_scalar_value_t &val, halide_type_t &ty, MatcherState &state) const noexcept
 

Public Attributes

C c
 
t
 
f
 

Static Public Attributes

static constexpr uint32_t binds = bindings<C>::mask | bindings<T>::mask | bindings<F>::mask
 
static constexpr IRNodeType min_node_type = IRNodeType::Select
 
static constexpr IRNodeType max_node_type = IRNodeType::Select
 
static constexpr bool canonical = C::canonical && T::canonical && F::canonical
 
static constexpr bool foldable = C::foldable && T::foldable && F::foldable
 

Detailed Description

template<typename C, typename T, typename F>
struct Halide::Internal::IRMatcher::SelectOp< C, T, F >

Definition at line 1675 of file IRMatch.h.

Member Function Documentation

◆ match() [1/2]

◆ match() [2/2]

template<typename C, typename T, typename F>
template<uint32_t bound, typename C2, typename T2, typename F2>
HALIDE_ALWAYS_INLINE bool Halide::Internal::IRMatcher::SelectOp< C, T, F >::match ( const SelectOp< C2, T2, F2 > & instance,
MatcherState & state ) const
inlinenoexcept

◆ make()

template<typename C, typename T, typename F>
HALIDE_ALWAYS_INLINE Expr Halide::Internal::IRMatcher::SelectOp< C, T, F >::make ( MatcherState & state,
halide_type_t type_hint ) const
inline

Definition at line 1706 of file IRMatch.h.

References c, f, Halide::Internal::Select::make(), and t.

◆ make_folded_const()

template<typename C, typename T, typename F>
template<typename C1 = C>
HALIDE_ALWAYS_INLINE void Halide::Internal::IRMatcher::SelectOp< C, T, F >::make_folded_const ( halide_scalar_value_t & val,
halide_type_t & ty,
MatcherState & state ) const
inlinenoexcept

Member Data Documentation

◆ c

template<typename C, typename T, typename F>
C Halide::Internal::IRMatcher::SelectOp< C, T, F >::c

◆ t

template<typename C, typename T, typename F>
T Halide::Internal::IRMatcher::SelectOp< C, T, F >::t

◆ f

template<typename C, typename T, typename F>
F Halide::Internal::IRMatcher::SelectOp< C, T, F >::f

◆ binds

template<typename C, typename T, typename F>
uint32_t Halide::Internal::IRMatcher::SelectOp< C, T, F >::binds = bindings<C>::mask | bindings<T>::mask | bindings<F>::mask
staticconstexpr

Definition at line 1681 of file IRMatch.h.

◆ min_node_type

template<typename C, typename T, typename F>
IRNodeType Halide::Internal::IRMatcher::SelectOp< C, T, F >::min_node_type = IRNodeType::Select
staticconstexpr

Definition at line 1683 of file IRMatch.h.

◆ max_node_type

template<typename C, typename T, typename F>
IRNodeType Halide::Internal::IRMatcher::SelectOp< C, T, F >::max_node_type = IRNodeType::Select
staticconstexpr

Definition at line 1684 of file IRMatch.h.

◆ canonical

template<typename C, typename T, typename F>
bool Halide::Internal::IRMatcher::SelectOp< C, T, F >::canonical = C::canonical && T::canonical && F::canonical
staticconstexpr

Definition at line 1686 of file IRMatch.h.

◆ foldable

template<typename C, typename T, typename F>
bool Halide::Internal::IRMatcher::SelectOp< C, T, F >::foldable = C::foldable && T::foldable && F::foldable
staticconstexpr

Definition at line 1710 of file IRMatch.h.


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