Halide 22.0.0 Halide compiler and libraries

Classes | Namespaces | Functions
DerivativeUtils.h File Reference
`#include <set>`
`#include "Bounds.h"`
`#include "Derivative.h"`
`#include "Expr.h"`
`#include "RDom.h"`
`#include "Scope.h"`
`#include "Var.h"`

Go to the source code of this file.

## Classes
struct | Halide::Internal::ReductionVariableInfo
| Return a list of reduction variables the expression or tuple depends on. More...
struct | Halide::Internal::BufferInfo
| Find all calls to image buffers and parameters in the function. More...

## 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
Expr | Halide::Internal::remove_let_definitions (const Expr &expr)
| Remove all let definitions of expr. More...
std::vector< int > | Halide::Internal::gather_variables (const Expr &expr, const std::vector< std::string > &filter)
| Return a list of variables' indices that expr depends on and are in the filter. More...
std::vector< int > | Halide::Internal::gather_variables (const Expr &expr, const std::vector< Var > &filter)
std::map< std::string, ReductionVariableInfo > | Halide::Internal::gather_rvariables (const Expr &expr)
std::map< std::string, ReductionVariableInfo > | Halide::Internal::gather_rvariables (const Tuple &tuple)
Expr | Halide::Internal::add_let_expression (const Expr &expr, const std::map< std::string, Expr > &let_var_mapping, const std::vector< std::string > &let_variables)
| Add necessary let expressions to expr. More...
std::vector< Expr > | Halide::Internal::sort_expressions (const Expr &expr)
| Topologically sort the expression graph expressed by expr. More...
std::map< std::string, Box > | Halide::Internal::inference_bounds (const std::vector< Func > &funcs, const std::vector< Box > &output_bounds)
| Compute the bounds of funcs. More...
std::map< std::string, Box > | Halide::Internal::inference_bounds (const Func &func, const Box &output_bounds)
std::vector< std::pair< Expr, Expr > > | Halide::Internal::box_to_vector (const Box &bounds)
| Convert Box to vector of (min, extent) More...
bool | Halide::Internal::equal (const RDom &bounds0, const RDom &bounds1)
| Return true if bounds0 and bounds1 represent the same bounds. More...
std::vector< std::string > | Halide::Internal::vars_to_strings (const std::vector< Var > &vars)
| Return a list of variable names. More...
ReductionDomain | Halide::Internal::extract_rdom (const Expr &expr)
| Return the reduction domain used by expr. More...
std::pair< bool, Expr > | Halide::Internal::solve_inverse (Expr expr, const std::string &new_var, const std::string &var)
| expr is new_var == f(var), solve for var == g(new_var) if multiple new_var corresponds to same var, introduce a RDom More...
std::map< std::string, BufferInfo > | Halide::Internal::find_buffer_param_calls (const Func &func)
std::set< std::string > | Halide::Internal::find_implicit_variables (const Expr &expr)
| Find all implicit variables in expr. More...
Expr | Halide::Internal::substitute_rdom_predicate (const std::string &name, const Expr &replacement, const Expr &expr)
| Substitute the variable. More...
bool | Halide::Internal::is_calling_function (const std::string &func_name, const Expr &expr, const std::map< std::string, Expr > &let_var_mapping)
| Return true if expr contains call to func_name. More...
bool | Halide::Internal::is_calling_function (const Expr &expr, const std::map< std::string, Expr > &let_var_mapping)
| Return true if expr depends on any function or buffer. More...
Expr | Halide::Internal::substitute_call_arg_with_pure_arg (Func f, int variable_id, const Expr &e)
| Replaces call to Func f in Expr e such that the call argument at variable_id is the pure argument. More...