Halide
halide_scalar_value_t Struct Reference

halide_scalar_value_t is a simple union able to represent all the well-known scalar values in a filter argument. More...

#include <HalideRuntime.h>

Public Attributes

union {
   bool   b
 
   int8_t   i8
 
   int16_t   i16
 
   int32_t   i32
 
   int64_t   i64
 
   uint8_t   u8
 
   uint16_t   u16
 
   uint32_t   u32
 
   uint64_t   u64
 
   float   f32
 
   double   f64
 
   void *   handle
 
u
 

Detailed Description

halide_scalar_value_t is a simple union able to represent all the well-known scalar values in a filter argument.

Note that it isn't tagged with a type; you must ensure you know the proper type before accessing. Most user code will never need to create instances of this struct; its primary use is to hold def/min/max values in a halide_filter_argument_t. (Note that this is conceptually just a union; it's wrapped in a struct to ensure that it doesn't get anonymized by LLVM.)

Definition at line 1662 of file HalideRuntime.h.

Member Data Documentation

◆ b

bool halide_scalar_value_t::b

Definition at line 1664 of file HalideRuntime.h.

◆ i8

int8_t halide_scalar_value_t::i8

Definition at line 1665 of file HalideRuntime.h.

◆ i16

int16_t halide_scalar_value_t::i16

Definition at line 1666 of file HalideRuntime.h.

◆ i32

int32_t halide_scalar_value_t::i32

Definition at line 1667 of file HalideRuntime.h.

◆ i64

◆ u8

uint8_t halide_scalar_value_t::u8

Definition at line 1669 of file HalideRuntime.h.

◆ u16

uint16_t halide_scalar_value_t::u16

Definition at line 1670 of file HalideRuntime.h.

◆ u32

uint32_t halide_scalar_value_t::u32

Definition at line 1671 of file HalideRuntime.h.

◆ u64

◆ f32

float halide_scalar_value_t::f32

Definition at line 1673 of file HalideRuntime.h.

◆ f64

◆ handle

void* halide_scalar_value_t::handle

Definition at line 1675 of file HalideRuntime.h.

◆ u

union { ... } halide_scalar_value_t::u

Referenced by Halide::Internal::IRMatcher::evaluate_predicate(), Halide::Internal::IRMatcher::fuzz_test_rule(), Halide::Internal::IRMatcher::BroadcastOp< A, B >::make(), Halide::Internal::IRMatcher::RampOp< A, B, C >::make(), Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >::make(), Halide::Internal::IRMatcher::SliceOp< Vec, Base, Stride, Lanes >::make(), Halide::Internal::IRMatcher::Fold< A >::make(), Halide::Internal::IRMatcher::make_const_expr(), Halide::Internal::IRMatcher::BinOp< Op, A, B >::make_folded_const(), Halide::Internal::IRMatcher::CmpOp< Op, A, B >::make_folded_const(), Halide::Internal::IRMatcher::Intrin< Args >::make_folded_const(), Halide::Internal::IRMatcher::SelectOp< C, T, F >::make_folded_const(), Halide::Internal::IRMatcher::BroadcastOp< A, B >::make_folded_const(), Halide::Internal::IRMatcher::CanProve< A, Prover >::make_folded_const(), Halide::Internal::IRMatcher::IsFloat< A >::make_folded_const(), Halide::Internal::IRMatcher::IsInt< A >::make_folded_const(), Halide::Internal::IRMatcher::IsUInt< A >::make_folded_const(), Halide::Internal::IRMatcher::IsScalar< A >::make_folded_const(), Halide::Internal::IRMatcher::IsMaxValue< A >::make_folded_const(), Halide::Internal::IRMatcher::IsMinValue< A >::make_folded_const(), Halide::Internal::IRMatcher::LanesOf< A >::make_folded_const(), Halide::Internal::IRMatcher::WildConstInt< i >::match(), Halide::Internal::IRMatcher::WildConstUInt< i >::match(), Halide::Internal::IRMatcher::WildConstFloat< i >::match(), and Halide::Internal::IRMatcher::MatcherState::set_bound_const().


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