Halide 22.0.0 Halide compiler and libraries

Classes | Public Member Functions | Static Public Attributes | List of all members
Halide::Internal::IRMatcher::WildConstInt< i > 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>
HALIDE_ALWAYS_INLINE bool | match (int64_t value, MatcherState &state) const noexcept
HALIDE_ALWAYS_INLINE Expr | make (MatcherState &state, halide_type_t type_hint) const
HALIDE_ALWAYS_INLINE void | make_folded_const (halide_scalar_value_t &val, halide_type_t &ty, MatcherState &state) const

## Static Public Attributes
static constexpr uint32_t | binds = 1 << i
static constexpr IRNodeType | min_node_type = IRNodeType::IntImm
static constexpr IRNodeType | max_node_type = IRNodeType::IntImm
static constexpr bool | canonical = true
static constexpr bool | foldable = true

## Detailed Description

template<int i>
struct Halide::Internal::IRMatcher::WildConstInt< i >

Definition at line 223 of file IRMatch.h.

## Member Function Documentation

## ◆ match() [1/2]

template<int i>
template<uint32_t bound>

HALIDE_ALWAYS_INLINE bool Halide::Internal::IRMatcher::WildConstInt< i >::match | ( | const BaseExprNode & | e,
|  | MatcherState & | state
| ) |  | const
| inline noexcept

Definition at line 233 of file IRMatch.h.

References Halide::Internal::IRMatcher::WildConstInt< i >::binds, Halide::Internal::Broadcast, halide_scalar_value_t::i64, Halide::Internal::IntImm, Halide::Internal::IRMatcher::max_wild, Halide::Internal::IRNode::node_type, and halide_scalar_value_t::u.

## ◆ match() [2/2]

template<int i>
template<uint32_t bound>

HALIDE_ALWAYS_INLINE bool Halide::Internal::IRMatcher::WildConstInt< i >::match | ( | int64_t | value,
|  | MatcherState & | state
| ) |  | const
| inline noexcept

Definition at line 254 of file IRMatch.h.

References Halide::Internal::IRMatcher::WildConstInt< i >::binds, halide_scalar_value_t::i64, Halide::Internal::IRMatcher::max_wild, and halide_scalar_value_t::u.

## ◆ make()

template<int i>

HALIDE_ALWAYS_INLINE Expr Halide::Internal::IRMatcher::WildConstInt< i >::make | ( | MatcherState & | state,
|  | halide_type_t | type_hint
| ) |  | const
| inline

Definition at line 267 of file IRMatch.h.

References Halide::Internal::IRMatcher::MatcherState::get_bound_const(), and Halide::Internal::IRMatcher::make_const_expr().

## ◆ make_folded_const()

template<int i>

HALIDE_ALWAYS_INLINE void Halide::Internal::IRMatcher::WildConstInt< i >::make_folded_const | ( | halide_scalar_value_t & | val,
|  | halide_type_t & | ty,
|  | MatcherState & | state
| ) |  | const
| inline

Definition at line 277 of file IRMatch.h.

References Halide::Internal::IRMatcher::MatcherState::get_bound_const().

## Member Data Documentation

## ◆ binds

template<int i>

constexpr uint32_t Halide::Internal::IRMatcher::WildConstInt< i >::binds = 1 << i
| static constexpr

Definition at line 226 of file IRMatch.h.

Referenced by Halide::Internal::IRMatcher::WildConstInt< i >::match().

## ◆ min_node_type

template<int i>

constexpr IRNodeType Halide::Internal::IRMatcher::WildConstInt< i >::min_node_type = IRNodeType::IntImm
| static constexpr

Definition at line 228 of file IRMatch.h.

## ◆ max_node_type

template<int i>

constexpr IRNodeType Halide::Internal::IRMatcher::WildConstInt< i >::max_node_type = IRNodeType::IntImm
| static constexpr

Definition at line 229 of file IRMatch.h.

## ◆ canonical

template<int i>

constexpr bool Halide::Internal::IRMatcher::WildConstInt< i >::canonical = true
| static constexpr

Definition at line 230 of file IRMatch.h.

## ◆ foldable

template<int i>

constexpr bool Halide::Internal::IRMatcher::WildConstInt< i >::foldable = true
| static constexpr

Definition at line 274 of file IRMatch.h.

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

- src/IRMatch.h