Halide 22.0.0 Halide compiler and libraries

Classes | Public Member Functions | Public Attributes | List of all members
Halide::Internal::Simplify::ExprInfo Struct Reference

`#include <Simplify_Internal.h>`

## Classes
struct | BitsKnown

## Public Member Functions
void | trim_bounds_using_alignment ()
uint64_t | largest_power_of_two_factor (uint64_t x) const
void | cast_to (Type t)
void | intersect (const ExprInfo &other)
BitsKnown | to_bits_known (const Type &type) const
void | from_bits_known (BitsKnown known, const Type &type)

## Public Attributes
ConstantInterval | bounds
ModulusRemainder | alignment

## Detailed Description

Definition at line 39 of file Simplify_Internal.h.

## Member Function Documentation

## ◆ trim_bounds_using_alignment()

void Halide::Internal::Simplify::ExprInfo::trim_bounds_using_alignment | ( |  | ) |
| inline

Definition at line 45 of file Simplify_Internal.h.

References Halide::Internal::add_with_overflow(), alignment, bounds, Halide::Internal::ConstantInterval::is_bounded(), Halide::Internal::ConstantInterval::is_single_point(), Halide::Internal::ConstantInterval::max, Halide::Internal::ConstantInterval::max_defined, Halide::Internal::ConstantInterval::min, Halide::Internal::ConstantInterval::min_defined, Halide::Internal::mod_imp(), Halide::Internal::ModulusRemainder::modulus, Halide::Internal::Simplify::no_overflow(), Halide::Internal::ModulusRemainder::remainder, Halide::Internal::ConstantInterval::single_point(), and Halide::Internal::sub_with_overflow().

Referenced by intersect().

## ◆ largest_power_of_two_factor()

uint64_t Halide::Internal::Simplify::ExprInfo::largest_power_of_two_factor | ( | uint64_t | x | ) | const
| inline

Definition at line 83 of file Simplify_Internal.h.

References Halide::Internal::Simplify::x.

Referenced by cast_to().

## ◆ cast_to()

void Halide::Internal::Simplify::ExprInfo::cast_to | ( | Type | t | ) |
| inline

Definition at line 101 of file Simplify_Internal.h.

References alignment, Halide::Type::bits(), bounds, Halide::Type::can_represent(), Halide::Internal::ConstantInterval::cast_to(), Halide::Type::is_int(), Halide::Type::is_uint(), largest_power_of_two_factor(), Halide::Internal::ModulusRemainder::modulus, and Halide::Internal::ModulusRemainder::remainder.

## ◆ intersect()

void Halide::Internal::Simplify::ExprInfo::intersect | ( | const ExprInfo & | other | ) |
| inline

Definition at line 132 of file Simplify_Internal.h.

References alignment, bounds, Halide::Internal::ModulusRemainder::intersect(), Halide::Internal::ConstantInterval::make_intersection(), and trim_bounds_using_alignment().

## ◆ to_bits_known()

BitsKnown Halide::Internal::Simplify::ExprInfo::to_bits_known | ( | const Type & | type | ) | const

## ◆ from_bits_known()

void Halide::Internal::Simplify::ExprInfo::from_bits_known | ( | BitsKnown | known,
|  | const Type & | type
| ) |  |

## Member Data Documentation

## ◆ bounds

ConstantInterval Halide::Internal::Simplify::ExprInfo::bounds

Definition at line 41 of file Simplify_Internal.h.

Referenced by cast_to(), intersect(), Halide::Internal::Simplify::make_const(), Halide::Internal::Simplify::set_expr_info_to_constant(), and trim_bounds_using_alignment().

## ◆ alignment

ModulusRemainder Halide::Internal::Simplify::ExprInfo::alignment

Definition at line 43 of file Simplify_Internal.h.

Referenced by cast_to(), intersect(), Halide::Internal::Simplify::make_const(), Halide::Internal::Simplify::set_expr_info_to_constant(), and trim_bounds_using_alignment().

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

- src/Simplify_Internal.h