Halide 22.0.0 Halide compiler and libraries

Public Attributes | List of all members
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 1741 of file HalideRuntime.h.

## Member Data Documentation

## ◆ b

bool halide_scalar_value_t::b

Definition at line 1743 of file HalideRuntime.h.

## ◆ i8

int8_t halide_scalar_value_t::i8

Definition at line 1744 of file HalideRuntime.h.

## ◆ i16

int16_t halide_scalar_value_t::i16

Definition at line 1745 of file HalideRuntime.h.

## ◆ i32

int32_t halide_scalar_value_t::i32

Definition at line 1746 of file HalideRuntime.h.

## ◆ i64

int64_t halide_scalar_value_t::i64

Definition at line 1747 of file HalideRuntime.h.

Referenced by 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< intrin, Args >::make_folded_const(), Halide::Internal::IRMatcher::BroadcastOp< A, B >::make_folded_const(), Halide::Internal::IRMatcher::WildConstInt< i >::match(), and Halide::Internal::IRMatcher::MatcherState::set_bound_const().

## ◆ u8

uint8_t halide_scalar_value_t::u8

Definition at line 1748 of file HalideRuntime.h.

## ◆ u16

uint16_t halide_scalar_value_t::u16

Definition at line 1749 of file HalideRuntime.h.

## ◆ u32

uint32_t halide_scalar_value_t::u32

Definition at line 1750 of file HalideRuntime.h.

## ◆ u64

uint64_t halide_scalar_value_t::u64

Definition at line 1751 of file HalideRuntime.h.

Referenced by Halide::Internal::IRMatcher::evaluate_predicate(), Halide::Internal::IRMatcher::fuzz_test_rule(), Halide::Internal::IRMatcher::make_const_expr(), 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::BinOp< Op, A, B >::make_folded_const(), Halide::Internal::IRMatcher::CmpOp< Op, A, B >::make_folded_const(), Halide::Internal::IRMatcher::SelectOp< C, T, F >::make_folded_const(), Halide::Internal::IRMatcher::WildConstUInt< i >::match(), Halide::Internal::IRMatcher::MatcherState::set_bound_const(), and Halide::Parameter::set_scalar().

## ◆ f32

float halide_scalar_value_t::f32

Definition at line 1752 of file HalideRuntime.h.

## ◆ f64

double halide_scalar_value_t::f64

Definition at line 1753 of file HalideRuntime.h.

Referenced by Halide::Internal::IRMatcher::fuzz_test_rule(), 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::WildConstFloat< i >::match(), and Halide::Internal::IRMatcher::MatcherState::set_bound_const().

## ◆ handle

void* halide_scalar_value_t::handle

Definition at line 1754 of file HalideRuntime.h.

## ◆

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::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::BinOp< Op, A, B >::make_folded_const(), Halide::Internal::IRMatcher::CmpOp< Op, A, B >::make_folded_const(), Halide::Internal::IRMatcher::Intrin< 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::WildConstInt< i >::match(), Halide::Internal::IRMatcher::WildConstUInt< i >::match(), Halide::Internal::IRMatcher::WildConstFloat< i >::match(), Halide::Internal::IRMatcher::MatcherState::set_bound_const(), and Halide::Parameter::set_scalar().

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

- src/runtime/HalideRuntime.h