Loading...
Searching...
No Matches
halide_type_t Struct Reference

A runtime tag for a type in the halide type system. More...

`#include <HalideRuntime.h>`

## Public Attributes

uint8_t | code
| The basic type code: signed integer, unsigned integer, or floating point.
uint8_t | bits
| The number of bits of precision of a single scalar value of this type.
uint16_t | lanes
| How many elements in a vector.

## Detailed Description

A runtime tag for a type in the halide type system.

Can be ints, unsigned ints, or floats of various bit-widths (the 'bits' field). Can also be vectors of the same (by setting the 'lanes' field to something larger than one). This struct should be exactly 32-bits in size.

Definition at line 503 of file HalideRuntime.h.

## Member Data Documentation

## code

uint8_t halide_type_t::code

The basic type code: signed integer, unsigned integer, or floating point.

Definition at line 510 of file HalideRuntime.h.

Referenced by Halide::Internal::IRMatcher::Fold< A >::make(), Halide::Internal::IRMatcher::make_const_expr(), Halide::Internal::IRMatcher::CanProve< A, Prover >::make_folded_const(), Halide::Internal::IRMatcher::Intrin< 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(), and Halide::Internal::IRMatcher::LanesOf< A >::make_folded_const().

## bits

uint8_t halide_type_t::bits

The number of bits of precision of a single scalar value of this type.

Definition at line 515 of file HalideRuntime.h.

Referenced by Halide::Internal::IRMatcher::Fold< A >::make(), 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::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(), and Halide::Internal::IRMatcher::LanesOf< A >::make_folded_const().

## lanes

uint16_t halide_type_t::lanes

How many elements in a vector.

This is 1 for scalar types.

Definition at line 519 of file HalideRuntime.h.

Referenced by Halide::Internal::IRMatcher::evaluate_predicate(), Halide::Internal::IRMatcher::fuzz_test_rule(), Halide::Internal::IRMatcher::BroadcastOp< A, B >::make(), Halide::Internal::IRMatcher::Overflow::make(), Halide::Internal::IRMatcher::RampOp< A, B, C >::make(), Halide::Internal::IRMatcher::make_const_expr(), Halide::Internal::IRMatcher::make_const_special_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::IsScalar< A >::make_folded_const(), Halide::Internal::IRMatcher::IsUInt< A >::make_folded_const(), Halide::Internal::IRMatcher::LanesOf< A >::make_folded_const(), and Halide::Internal::IRMatcher::SelectOp< C, T, F >::make_folded_const().

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

- src/runtime/HalideRuntime.h