28 const Expr &e,
const std::string &variable,
Methods for computing the upper and lower bounds of an expression, and the regions of a function read...
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
Defines the Interval class.
Defines the Scope class, which is used for keeping track of names in a scope while traversing IR.
A common pattern when traversing Halide IR is that you need to keep track of stuff when you find a Le...
Interval solve_for_outer_interval(const Expr &c, const std::string &variable)
Find the smallest interval such that the condition is either true or false inside of it,...
Expr and_condition_over_domain(const Expr &c, const Scope< Interval > &varying)
Take a conditional that includes variables that vary over some domain, and convert it to a more conse...
SolverResult solve_expression(const Expr &e, const std::string &variable, const Scope< Expr > &scope=Scope< Expr >::empty_scope())
Attempts to collect all instances of a variable in an expression tree and place it as far to the left...
Interval solve_for_inner_interval(const Expr &c, const std::string &variable)
Find the largest interval such that the condition is definitely true inside of it,...
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
A fragment of Halide syntax.
A class to represent ranges of Exprs.