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.
Expr | Halide::Internal::or_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 weaker (less frequently false) condition that doesn't depend on those variables.
void | Halide::Internal::solve_test ()