Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Solve.h File Reference
#include "Bounds.h"
#include "Expr.h"
#include "Interval.h"
#include "Scope.h"

Go to the source code of this file.

Classes

struct  Halide::Internal::SolverResult
 

Namespaces

namespace  Halide
 This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
 
namespace  Halide::Internal
 

Functions

SolverResult Halide::Internal::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 as possible, and as far up the tree as possible (i.e.
 
Interval Halide::Internal::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, but definitely false outside of it.
 
Interval Halide::Internal::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, and might be true or false outside of it.
 
Expr Halide::Internal::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 conservative (less frequently true) condition that doesn't depend on those variables.
 
void Halide::Internal::solve_test ()