Loading...
Searching...
No Matches
Halide::Internal::ConstantInterval Struct Reference

A class to represent ranges of integers. More...

`#include <ConstantInterval.h>`

## Public Member Functions

| ConstantInterval ()=default
| ConstantInterval (int64_t min, int64_t max)
| Construct an interval from a lower and upper bound.
bool | is_everything () const
| Is the interval the entire range.
bool | is_single_point () const
| Is the interval just a single value (min == max).
bool | is_single_point (int64_t x) const
| Is the interval a particular single value.
bool | is_bounded () const
| Does the interval have a finite upper and lower bound.
void | include (const ConstantInterval &i)
| Expand the interval to include another Interval.
void | include (int64_t x)
| Expand the interval to include a point.
bool | contains (int32_t x) const
| Test if the interval contains a particular value.
bool | contains (int64_t x) const
| Test if the interval contains a particular value.
bool | contains (uint64_t x) const
| Test if the interval contains a particular unsigned value.
bool | operator== (const ConstantInterval &other) const
| Equivalent to same_as.
void | operator+= (const ConstantInterval &other)
| In-place versions of the arithmetic operators below.
void | operator+= (int64_t)
void | operator-= (const ConstantInterval &other)
void | operator-= (int64_t)
void | operator*= (const ConstantInterval &other)
void | operator*= (int64_t)
void | operator/= (const ConstantInterval &other)
void | operator/= (int64_t)
void | operator%= (const ConstantInterval &other)
void | operator%= (int64_t)
ConstantInterval | operator- () const
| Negate an interval.
void | cast_to (const Type &t)
| Track what happens if a constant integer interval is forced to fit into a concrete integer type.

## Static Public Member Functions

static ConstantInterval | everything ()
| The interval representing everything.
static ConstantInterval | single_point (int64_t x)
| Construct an interval representing a single point.
static ConstantInterval | bounded_below (int64_t min)
| Construct intervals bounded above or below.
static ConstantInterval | bounded_above (int64_t max)
static ConstantInterval | make_union (const ConstantInterval &a, const ConstantInterval &b)
| Construct the smallest interval containing two intervals.
static ConstantInterval | make_intersection (const ConstantInterval &a, const ConstantInterval &b)
| Construct the largest interval contained within two intervals.
static ConstantInterval | bounds_of_type (Type)
| Get constant integer bounds on a type.

## Public Attributes

int64_t | min = 0
| The lower and upper bound of the interval.
int64_t | max = 0
bool | min_defined = false
bool | max_defined = false

## Detailed Description

A class to represent ranges of integers.

Can be unbounded above or below, but they cannot be empty.

Definition at line 18 of file ConstantInterval.h.

## Constructor & Destructor Documentation

## ConstantInterval() [1/2]

Halide::Internal::ConstantInterval::ConstantInterval | ( |  | ) |

default

Referenced by bounded_above(), bounded_below(), bounds_of_type(), everything(), include(), make_intersection(), make_union(), operator%=(), operator*=(), operator+=(), operator-(), operator-=(), operator/=(), operator==(), and single_point().

## ConstantInterval() [2/2]

Halide::Internal::ConstantInterval::ConstantInterval | ( | int64_t | min,
|  | int64_t | max )

Construct an interval from a lower and upper bound.

References max, and min.

## Member Function Documentation

## everything()

ConstantInterval Halide::Internal::ConstantInterval::everything | ( |  | ) |

static

The interval representing everything.

References ConstantInterval().

## single_point()

ConstantInterval Halide::Internal::ConstantInterval::single_point | ( | int64_t | x | ) |

static

Construct an interval representing a single point.

References ConstantInterval().

Referenced by Halide::Internal::Simplify::set_expr_info_to_constant(), and Halide::Internal::Simplify::ExprInfo::trim_bounds_using_alignment().

## bounded_below()

ConstantInterval Halide::Internal::ConstantInterval::bounded_below | ( | int64_t | min | ) |

static

Construct intervals bounded above or below.

References ConstantInterval(), and min.

Referenced by Halide::Internal::Simplify::make_const().

## bounded_above()

ConstantInterval Halide::Internal::ConstantInterval::bounded_above | ( | int64_t | max | ) |

static

References ConstantInterval(), and max.

## is_everything()

bool Halide::Internal::ConstantInterval::is_everything | ( |  | ) | const

Is the interval the entire range.

## is_single_point() [1/2]

bool Halide::Internal::ConstantInterval::is_single_point | ( |  | ) | const

Is the interval just a single value (min == max).

## is_single_point() [2/2]

bool Halide::Internal::ConstantInterval::is_single_point | ( | int64_t | x | ) | const

Is the interval a particular single value.

## is_bounded()

bool Halide::Internal::ConstantInterval::is_bounded | ( |  | ) | const

Does the interval have a finite upper and lower bound.

## include() [1/2]

void Halide::Internal::ConstantInterval::include | ( | const ConstantInterval & | i | ) |

Expand the interval to include another Interval.

References ConstantInterval().

## include() [2/2]

void Halide::Internal::ConstantInterval::include | ( | int64_t | x | ) |

Expand the interval to include a point.

## contains() [1/3]

bool Halide::Internal::ConstantInterval::contains | ( | int32_t | x | ) | const

Test if the interval contains a particular value.

## contains() [2/3]

bool Halide::Internal::ConstantInterval::contains | ( | int64_t | x | ) | const

Test if the interval contains a particular value.

## contains() [3/3]

bool Halide::Internal::ConstantInterval::contains | ( | uint64_t | x | ) | const

Test if the interval contains a particular unsigned value.

## make_union()

ConstantInterval Halide::Internal::ConstantInterval::make_union | ( | const ConstantInterval & | a,
|  | const ConstantInterval & | b )

static

Construct the smallest interval containing two intervals.

References ConstantInterval().

## make_intersection()

ConstantInterval Halide::Internal::ConstantInterval::make_intersection | ( | const ConstantInterval & | a,
|  | const ConstantInterval & | b )

static

Construct the largest interval contained within two intervals.

Throws an error if the interval is empty.

References ConstantInterval().

Referenced by Halide::Internal::Simplify::ExprInfo::intersect().

## operator==()

bool Halide::Internal::ConstantInterval::operator== | ( | const ConstantInterval & | other | ) | const

Equivalent to same_as.

Exists so that the autoscheduler can compare two map<string, Interval> for equality in order to cache computations.

References ConstantInterval().

## operator+=() [1/2]

void Halide::Internal::ConstantInterval::operator+= | ( | const ConstantInterval & | other | ) |

In-place versions of the arithmetic operators below.

References ConstantInterval().

## operator+=() [2/2]

void Halide::Internal::ConstantInterval::operator+= | ( | int64_t |  | ) |

## operator-=() [1/2]

void Halide::Internal::ConstantInterval::operator-= | ( | const ConstantInterval & | other | ) |

References ConstantInterval().

## operator-=() [2/2]

void Halide::Internal::ConstantInterval::operator-= | ( | int64_t |  | ) |

## operator*=() [1/2]

void Halide::Internal::ConstantInterval::operator*= | ( | const ConstantInterval & | other | ) |

References ConstantInterval().

## operator*=() [2/2]

void Halide::Internal::ConstantInterval::operator*= | ( | int64_t |  | ) |

## operator/=() [1/2]

void Halide::Internal::ConstantInterval::operator/= | ( | const ConstantInterval & | other | ) |

References ConstantInterval().

## operator/=() [2/2]

void Halide::Internal::ConstantInterval::operator/= | ( | int64_t |  | ) |

## operator%=() [1/2]

void Halide::Internal::ConstantInterval::operator%= | ( | const ConstantInterval & | other | ) |

References ConstantInterval().

## operator%=() [2/2]

void Halide::Internal::ConstantInterval::operator%= | ( | int64_t |  | ) |

## operator-()

ConstantInterval Halide::Internal::ConstantInterval::operator- | ( |  | ) | const

Negate an interval.

References ConstantInterval().

## cast_to()

void Halide::Internal::ConstantInterval::cast_to | ( | const Type & | t | ) |

Track what happens if a constant integer interval is forced to fit into a concrete integer type.

## bounds_of_type()

ConstantInterval Halide::Internal::ConstantInterval::bounds_of_type | ( | Type |  | ) |

static

Get constant integer bounds on a type.

References ConstantInterval().

## Member Data Documentation

## min

int64_t Halide::Internal::ConstantInterval::min = 0

The lower and upper bound of the interval.

They are included in the interval.

Definition at line 21 of file ConstantInterval.h.

Referenced by bounded_below(), and ConstantInterval().

## max

int64_t Halide::Internal::ConstantInterval::max = 0

Definition at line 21 of file ConstantInterval.h.

Referenced by bounded_above(), and ConstantInterval().

## min_defined

bool Halide::Internal::ConstantInterval::min_defined = false

Definition at line 22 of file ConstantInterval.h.

## max_defined

bool Halide::Internal::ConstantInterval::max_defined = false

Definition at line 22 of file ConstantInterval.h.

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

- src/ConstantInterval.h