1#ifndef HALIDE_ARGUMENT_H
2#define HALIDE_ARGUMENT_H
15template<
typename T,
int Dims>
81 template<
typename T,
int Dims>
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
This file declares the routines used by Halide internally in its runtime.
@ halide_argument_kind_output_buffer
@ halide_argument_kind_input_scalar
@ halide_argument_kind_input_buffer
A Halide::Buffer is a named shared reference to a Halide::Runtime::Buffer.
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
std::vector< Range > Region
A multi-dimensional box.
unsigned __INT8_TYPE__ uint8_t
Region buffer_estimates
If this is a buffer argument, these are the estimated min and extent for each dimension.
bool operator==(const ArgumentEstimates &rhs) const
Expr scalar_def
If this is a scalar argument, then these are its default, min, max, and estimated values.
A struct representing an argument to a halide-generated function.
Argument(Buffer< T, Dims > im)
Argument(const std::string &_name, Kind _kind, const Type &_type, int _dimensions, const ArgumentEstimates &argument_estimates)
std::string name
The name of the argument.
Type type
If this is a scalar parameter, then this is its type.
bool operator==(const Argument &rhs) const
Kind
An argument is either a primitive type (for parameters), or a buffer pointer.
uint8_t dimensions
If kind == InputBuffer|OutputBuffer, this is the dimensionality of the buffer.
ArgumentEstimates argument_estimates
A fragment of Halide syntax.
Types in the halide type system.