Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
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 1718 of file HalideRuntime.h.

Member Data Documentation

◆ b

bool halide_scalar_value_t::b

Definition at line 1720 of file HalideRuntime.h.

◆ i8

int8_t halide_scalar_value_t::i8

Definition at line 1721 of file HalideRuntime.h.

◆ i16

int16_t halide_scalar_value_t::i16

Definition at line 1722 of file HalideRuntime.h.

◆ i32

int32_t halide_scalar_value_t::i32

Definition at line 1723 of file HalideRuntime.h.

◆ i64

◆ u8

uint8_t halide_scalar_value_t::u8

Definition at line 1725 of file HalideRuntime.h.

◆ u16

uint16_t halide_scalar_value_t::u16

Definition at line 1726 of file HalideRuntime.h.

◆ u32

uint32_t halide_scalar_value_t::u32

Definition at line 1727 of file HalideRuntime.h.

◆ u64

◆ f32

float halide_scalar_value_t::f32

Definition at line 1729 of file HalideRuntime.h.

◆ f64

◆ handle

void* halide_scalar_value_t::handle

Definition at line 1731 of file HalideRuntime.h.

◆ [union]

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


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