Go to the documentation of this file. 1 #ifndef HALIDE_INTERVAL_H
2 #define HALIDE_INTERVAL_H
17 #ifdef COMPILING_HALIDE
26 return pos_inf_noinline();
29 return neg_inf_noinline();
105 static Expr neg_inf_expr, pos_inf_expr;
109 static Expr pos_inf_noinline();
110 static Expr neg_inf_noinline();
static ConstantInterval bounded_above(int64_t max)
#define internal_assert(c)
static ConstantInterval single_point(int64_t x)
Construct an interval representing a single point.
Interval(const Expr &min, const Expr &max)
Construct an interval from a lower and upper bound.
static Expr pos_inf()
Exprs to represent positive and negative infinity.
bool is_everything() const
Is the interval the entire range.
static ConstantInterval bounded_below(int64_t min)
Construct intervals bounded above or below.
bool has_lower_bound() const
Does the interval have a finite greatest lower bound.
bool same_as(const Interval &other) const
Is the interval the same as another interval.
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
bool is_single_point() const
Is the interval just a single value (min == max)
static Expr make_min(const Expr &a, const Expr &b)
An eagerly-simplifying min of two Exprs that respects infinities.
bool is_empty() const
Is the interval the empty set.
static Interval make_union(const Interval &a, const Interval &b)
Construct the smallest interval containing two intervals.
bool is_single_point() const
Is the interval just a single value (min == max)
static ConstantInterval make_union(const ConstantInterval &a, const ConstantInterval &b)
Construct the smallest interval containing two intervals.
bool has_upper_bound() const
Does the interval have a finite least upper bound.
#define HALIDE_ALWAYS_INLINE
void include(const Interval &i)
Expand the interval to include another Interval.
Interval()
A default-constructed Interval is everything.
bool is_bounded() const
Does the interval have a finite upper and lower bound.
signed __INT64_TYPE__ int64_t
bool has_upper_bound() const
Does the interval have a finite least upper bound.
bool operator==(const ConstantInterval &other) const
Equivalent to same_as.
A class to represent ranges of Exprs.
static Interval single_point(const Expr &e)
Construct an interval representing a single point.
bool is_everything() const
Is the interval the entire range.
static Interval make_intersection(const Interval &a, const Interval &b)
Construct the largest interval contained within two intervals.
Expr min
The lower and upper bound of the interval.
void include(const ConstantInterval &i)
Expand the interval to include another Interval.
int64_t min
The lower and upper bound of the interval.
A class to represent ranges of integers.
HALIDE_ALWAYS_INLINE bool defined() const
static Interval everything()
The interval representing everything.
bool has_lower_bound() const
Does the interval have a finite greatest lower bound.
A fragment of Halide syntax.
bool is_bounded() const
Does the interval have a finite upper and lower bound.
bool operator==(const Interval &other) const
Equivalent to same_as.
static Interval nothing()
The interval representing nothing.
static Expr make_max(const Expr &a, const Expr &b)
An eagerly-simplifying max of two Exprs that respects infinities.
static ConstantInterval everything()
The interval representing everything.