Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Halide::Internal::Interval Struct Reference

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

#include <Interval.h>

Public Member Functions

 Interval ()
 A default-constructed Interval is everything.
 
 Interval (const Expr &min, const Expr &max)
 Construct an interval from a lower and upper bound.
 
bool is_empty () const
 Is the interval the empty set.
 
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 (const Expr &e) const
 Is the interval a particular single value.
 
bool has_upper_bound () const
 Does the interval have a finite least upper bound.
 
bool has_lower_bound () const
 Does the interval have a finite greatest lower bound.
 
bool is_bounded () const
 Does the interval have a finite upper and lower bound.
 
bool same_as (const Interval &other) const
 Is the interval the same as another interval.
 
void include (const Interval &i)
 Expand the interval to include another Interval.
 
void include (const Expr &e)
 Expand the interval to include an Expr.
 
bool operator== (const Interval &other) const
 Equivalent to same_as.
 

Static Public Member Functions

static Expr pos_inf ()
 Exprs to represent positive and negative infinity.
 
static Expr neg_inf ()
 
static Interval everything ()
 The interval representing everything.
 
static Interval nothing ()
 The interval representing nothing.
 
static Interval single_point (const Expr &e)
 Construct an interval representing a single point.
 
static Interval make_union (const Interval &a, const Interval &b)
 Construct the smallest interval containing two intervals.
 
static Interval make_intersection (const Interval &a, const Interval &b)
 Construct the largest interval contained within two other intervals.
 
static Expr make_max (const Expr &a, const Expr &b)
 An eagerly-simplifying max of two Exprs that respects infinities.
 
static Expr make_min (const Expr &a, const Expr &b)
 An eagerly-simplifying min of two Exprs that respects infinities.
 

Public Attributes

Expr min
 The lower and upper bound of the interval.
 
Expr max
 

Detailed Description

A class to represent ranges of Exprs.

Can be unbounded above or below.

Definition at line 14 of file Interval.h.

Constructor & Destructor Documentation

◆ Interval() [1/2]

Halide::Internal::Interval::Interval ( )
inline

A default-constructed Interval is everything.

Definition at line 38 of file Interval.h.

◆ Interval() [2/2]

Halide::Internal::Interval::Interval ( const Expr & min,
const Expr & max )
inline

Construct an interval from a lower and upper bound.

Definition at line 43 of file Interval.h.

References internal_assert.

Member Function Documentation

◆ pos_inf()

static Expr Halide::Internal::Interval::pos_inf ( )
inlinestatic

Exprs to represent positive and negative infinity.

Definition at line 25 of file Interval.h.

◆ neg_inf()

static Expr Halide::Internal::Interval::neg_inf ( )
inlinestatic

Definition at line 28 of file Interval.h.

◆ everything()

static Interval Halide::Internal::Interval::everything ( )
static

The interval representing everything.

◆ nothing()

static Interval Halide::Internal::Interval::nothing ( )
static

The interval representing nothing.

◆ single_point()

static Interval Halide::Internal::Interval::single_point ( const Expr & e)
static

Construct an interval representing a single point.

◆ is_empty()

bool Halide::Internal::Interval::is_empty ( ) const

Is the interval the empty set.

◆ is_everything()

bool Halide::Internal::Interval::is_everything ( ) const

Is the interval the entire range.

◆ is_single_point() [1/2]

bool Halide::Internal::Interval::is_single_point ( ) const

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

◆ is_single_point() [2/2]

bool Halide::Internal::Interval::is_single_point ( const Expr & e) const

Is the interval a particular single value.

◆ has_upper_bound()

bool Halide::Internal::Interval::has_upper_bound ( ) const

Does the interval have a finite least upper bound.

◆ has_lower_bound()

bool Halide::Internal::Interval::has_lower_bound ( ) const

Does the interval have a finite greatest lower bound.

◆ is_bounded()

bool Halide::Internal::Interval::is_bounded ( ) const

Does the interval have a finite upper and lower bound.

◆ same_as()

bool Halide::Internal::Interval::same_as ( const Interval & other) const

Is the interval the same as another interval.

◆ include() [1/2]

void Halide::Internal::Interval::include ( const Interval & i)

Expand the interval to include another Interval.

◆ include() [2/2]

void Halide::Internal::Interval::include ( const Expr & e)

Expand the interval to include an Expr.

◆ make_union()

static Interval Halide::Internal::Interval::make_union ( const Interval & a,
const Interval & b )
static

Construct the smallest interval containing two intervals.

◆ make_intersection()

static Interval Halide::Internal::Interval::make_intersection ( const Interval & a,
const Interval & b )
static

Construct the largest interval contained within two other intervals.

◆ make_max()

static Expr Halide::Internal::Interval::make_max ( const Expr & a,
const Expr & b )
static

An eagerly-simplifying max of two Exprs that respects infinities.

◆ make_min()

static Expr Halide::Internal::Interval::make_min ( const Expr & a,
const Expr & b )
static

An eagerly-simplifying min of two Exprs that respects infinities.

◆ operator==()

bool Halide::Internal::Interval::operator== ( const Interval & other) const

Equivalent to same_as.

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

Member Data Documentation

◆ min

Expr Halide::Internal::Interval::min

The lower and upper bound of the interval.

They are included in the interval.

Definition at line 35 of file Interval.h.

◆ max

Expr Halide::Internal::Interval::max

Definition at line 35 of file Interval.h.


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