Halide 22.0.0 Halide compiler and libraries

Classes | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Halide::Internal::IRMatcher::RampOp< A, B, C > 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 A2 , typename B2 , typename C2 >
HALIDE_ALWAYS_INLINE bool | match (const RampOp< A2, B2, C2 > &op, MatcherState &state) const noexcept
HALIDE_ALWAYS_INLINE Expr | make (MatcherState &state, halide_type_t type_hint) const

## Public Attributes
A | a
B | b
C | lanes

## Static Public Attributes
static constexpr uint32_t | binds = bindings<A>::mask | bindings<B>::mask | bindings<C>::mask
static constexpr IRNodeType | min_node_type = IRNodeType::Ramp
static constexpr IRNodeType | max_node_type = IRNodeType::Ramp
static constexpr bool | canonical = A::canonical && B::canonical && C::canonical
static constexpr bool | foldable = false

## Detailed Description

template<typename A, typename B, typename C>
struct Halide::Internal::IRMatcher::RampOp< A, B, C >

Definition at line 1868 of file IRMatch.h.

## Member Function Documentation

## ◆ match() [1/2]

template<typename A , typename B , typename C >
template<uint32_t bound>

HALIDE_ALWAYS_INLINE bool Halide::Internal::IRMatcher::RampOp< A, B, C >::match | ( | const BaseExprNode & | e,
|  | MatcherState & | state
| ) |  | const
| inline noexcept

Definition at line 1882 of file IRMatch.h.

References Halide::Internal::Ramp::_node_type, Halide::Internal::IRMatcher::RampOp< A, B, C >::a, Halide::Internal::IRMatcher::RampOp< A, B, C >::b, Halide::Internal::Ramp::base, Halide::Expr::get(), Halide::Internal::Ramp::lanes, Halide::Internal::IRMatcher::RampOp< A, B, C >::lanes, Halide::Internal::IRMatcher::RampOp< A, B, C >::match(), and Halide::Internal::Ramp::stride.

Referenced by Halide::Internal::IRMatcher::RampOp< A, B, C >::match().

## ◆ match() [2/2]

template<typename A , typename B , typename C >
template<uint32_t bound, typename A2 , typename B2 , typename C2 >

HALIDE_ALWAYS_INLINE bool Halide::Internal::IRMatcher::RampOp< A, B, C >::match | ( | const RampOp< A2, B2, C2 > & | op,
|  | MatcherState & | state
| ) |  | const
| inline noexcept

Definition at line 1897 of file IRMatch.h.

References Halide::Internal::IRMatcher::RampOp< A, B, C >::a, Halide::Internal::IRMatcher::RampOp< A, B, C >::b, Halide::Internal::IRMatcher::RampOp< A, B, C >::lanes, Halide::Internal::IRMatcher::RampOp< A, B, C >::match(), and Halide::Internal::IRMatcher::unwrap().

## ◆ make()

template<typename A , typename B , typename C >

HALIDE_ALWAYS_INLINE Expr Halide::Internal::IRMatcher::RampOp< A, B, C >::make | ( | MatcherState & | state,
|  | halide_type_t | type_hint
| ) |  | const
| inline

Definition at line 1904 of file IRMatch.h.

References Halide::Internal::IRMatcher::RampOp< A, B, C >::a, Halide::Internal::IRMatcher::RampOp< A, B, C >::b, halide_scalar_value_t::i64, Halide::Internal::IRMatcher::RampOp< A, B, C >::lanes, halide_type_t::lanes, Halide::Internal::Ramp::make(), and halide_scalar_value_t::u.

## Member Data Documentation

## ◆ a

template<typename A , typename B , typename C >

A Halide::Internal::IRMatcher::RampOp< A, B, C >::a

Definition at line 1870 of file IRMatch.h.

Referenced by Halide::Internal::IRMatcher::RampOp< A, B, C >::make(), Halide::Internal::IRMatcher::RampOp< A, B, C >::match(), and Halide::Internal::IRMatcher::operator<<().

## ◆ b

template<typename A , typename B , typename C >

B Halide::Internal::IRMatcher::RampOp< A, B, C >::b

Definition at line 1871 of file IRMatch.h.

Referenced by Halide::Internal::IRMatcher::RampOp< A, B, C >::make(), Halide::Internal::IRMatcher::RampOp< A, B, C >::match(), and Halide::Internal::IRMatcher::operator<<().

## ◆ lanes

template<typename A , typename B , typename C >

C Halide::Internal::IRMatcher::RampOp< A, B, C >::lanes

Definition at line 1872 of file IRMatch.h.

Referenced by Halide::Internal::IRMatcher::RampOp< A, B, C >::make(), Halide::Internal::IRMatcher::RampOp< A, B, C >::match(), and Halide::Internal::IRMatcher::operator<<().

## ◆ binds

template<typename A , typename B , typename C >

constexpr uint32_t Halide::Internal::IRMatcher::RampOp< A, B, C >::binds = bindings<A>::mask | bindings<B>::mask | bindings<C>::mask
| static constexpr

Definition at line 1874 of file IRMatch.h.

## ◆ min_node_type

template<typename A , typename B , typename C >

constexpr IRNodeType Halide::Internal::IRMatcher::RampOp< A, B, C >::min_node_type = IRNodeType::Ramp
| static constexpr

Definition at line 1876 of file IRMatch.h.

## ◆ max_node_type

template<typename A , typename B , typename C >

constexpr IRNodeType Halide::Internal::IRMatcher::RampOp< A, B, C >::max_node_type = IRNodeType::Ramp
| static constexpr

Definition at line 1877 of file IRMatch.h.

## ◆ canonical

template<typename A , typename B , typename C >

constexpr bool Halide::Internal::IRMatcher::RampOp< A, B, C >::canonical = A::canonical && B::canonical && C::canonical
| static constexpr

Definition at line 1879 of file IRMatch.h.

## ◆ foldable

template<typename A , typename B , typename C >

constexpr bool Halide::Internal::IRMatcher::RampOp< A, B, C >::foldable = false
| static constexpr

Definition at line 1916 of file IRMatch.h.

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

- src/IRMatch.h