Halide
Halide::Internal::ConstantInterval Struct Reference

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

#include <Interval.h>

Public Member Functions

 ConstantInterval ()
 
 ConstantInterval (int64_t min, int64_t max)
 Construct an interval from a lower and upper bound. More...
 
bool is_everything () const
 Is the interval the entire range. More...
 
bool is_single_point () const
 Is the interval just a single value (min == max) More...
 
bool is_single_point (int64_t x) const
 Is the interval a particular single value. More...
 
bool has_upper_bound () const
 Does the interval have a finite least upper bound. More...
 
bool has_lower_bound () const
 Does the interval have a finite greatest lower bound. More...
 
bool is_bounded () const
 Does the interval have a finite upper and lower bound. More...
 
void include (const ConstantInterval &i)
 Expand the interval to include another Interval. More...
 
void include (int64_t x)
 Expand the interval to include a point. More...
 
bool operator== (const ConstantInterval &other) const
 Equivalent to same_as. More...
 

Static Public Member Functions

static ConstantInterval everything ()
 The interval representing everything. More...
 
static ConstantInterval single_point (int64_t x)
 Construct an interval representing a single point. More...
 
static ConstantInterval bounded_below (int64_t min)
 Construct intervals bounded above or below. More...
 
static ConstantInterval bounded_above (int64_t max)
 
static ConstantInterval make_union (const ConstantInterval &a, const ConstantInterval &b)
 Construct the smallest interval containing two intervals. More...
 

Public Attributes

int64_t min = 0
 The lower and upper bound of the interval. More...
 
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 115 of file Interval.h.

Constructor & Destructor Documentation

◆ ConstantInterval() [1/2]

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

◆ ConstantInterval() [2/2]

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

Construct an interval from a lower and upper bound.

Member Function Documentation

◆ everything()

static ConstantInterval Halide::Internal::ConstantInterval::everything ( )
static

The interval representing everything.

◆ single_point()

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

Construct an interval representing a single point.

◆ bounded_below()

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

Construct intervals bounded above or below.

◆ bounded_above()

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

◆ 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.

◆ has_upper_bound()

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

Does the interval have a finite least upper bound.

◆ has_lower_bound()

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

Does the interval have a finite greatest lower bound.

◆ 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.

◆ include() [2/2]

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

Expand the interval to include a point.

◆ make_union()

static ConstantInterval Halide::Internal::ConstantInterval::make_union ( const ConstantInterval a,
const ConstantInterval b 
)
static

Construct the smallest interval containing two intervals.

◆ 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.

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 118 of file Interval.h.

◆ max

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

Definition at line 118 of file Interval.h.

◆ min_defined

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

Definition at line 119 of file Interval.h.

◆ max_defined

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

Definition at line 119 of file Interval.h.


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