Halide
Halide::Internal::GeneratorInput_Arithmetic< T > Class Template Reference

#include <Generator.h>

Inherits Halide::Internal::GeneratorInput_Scalar< T >.

Public Member Functions

 GeneratorInput_Arithmetic (const std::string &name)
 
 GeneratorInput_Arithmetic (const std::string &name, const TBase &def)
 
 GeneratorInput_Arithmetic (size_t array_size, const std::string &name)
 
 GeneratorInput_Arithmetic (size_t array_size, const std::string &name, const TBase &def)
 
 GeneratorInput_Arithmetic (const std::string &name, const TBase &def, const TBase &min, const TBase &max)
 
 GeneratorInput_Arithmetic (size_t array_size, const std::string &name, const TBase &def, const TBase &min, const TBase &max)
 
- Public Member Functions inherited from Halide::Internal::GeneratorInput_Scalar< T >
 GeneratorInput_Scalar (const std::string &name)
 
 GeneratorInput_Scalar (const std::string &name, const TBase &def)
 
 GeneratorInput_Scalar (size_t array_size, const std::string &name)
 
 GeneratorInput_Scalar (size_t array_size, const std::string &name, const TBase &def)
 
 operator Expr () const
 You can use this Input as an expression in a halide function definition. More...
 
 operator ExternFuncArgument () const
 Using an Input as the argument to an external stage treats it as an Expr. More...
 
template<typename T2 = T, typename std::enable_if< std::is_pointer< T2 >::value >::type * = nullptr>
void set_estimate (const TBase &value)
 
template<typename T2 = T, typename std::enable_if<!std::is_array< T2 >::value &&!std::is_pointer< T2 >::value >::type * = nullptr>
void set_estimate (const TBase &value)
 
template<typename T2 = T, typename std::enable_if< std::is_array< T2 >::value >::type * = nullptr>
void set_estimate (size_t index, const TBase &value)
 
- Public Member Functions inherited from Halide::Internal::GeneratorInputImpl< T, Expr >
size_t size () const
 
const Exproperator[] (size_t i) const
 
const Exprat (size_t i) const
 
std::vector< Expr >::const_iterator begin () const
 
std::vector< Expr >::const_iterator end () const
 
- Public Member Functions inherited from Halide::Internal::GeneratorInputBase
 ~GeneratorInputBase () override
 
- Public Member Functions inherited from Halide::Internal::GIOBase
bool array_size_defined () const
 
size_t array_size () const
 
virtual bool is_array () const
 
const std::string & name () const
 
IOKind kind () const
 
bool types_defined () const
 
const std::vector< Type > & types () const
 
Type type () const
 
bool dims_defined () const
 
int dims () const
 
const std::vector< Func > & funcs () const
 
const std::vector< Expr > & exprs () const
 
virtual ~GIOBase ()
 

Protected Types

using TBase = typename Super::TBase
 
- Protected Types inherited from Halide::Internal::GeneratorInput_Scalar< T >
using TBase = typename Super::TBase
 
- Protected Types inherited from Halide::Internal::GeneratorInputImpl< T, Expr >
using TBase = typename std::remove_all_extents< T >::type
 

Protected Member Functions

void set_def_min_max () override
 
- Protected Member Functions inherited from Halide::Internal::GeneratorInput_Scalar< T >
Expr get_def_expr () const override
 
std::string get_c_type () const override
 
- Protected Member Functions inherited from Halide::Internal::GeneratorInputImpl< T, Expr >
bool is_array () const override
 
 GeneratorInputImpl (const std::string &name, IOKind kind, const std::vector< Type > &t, int d)
 
 GeneratorInputImpl (const std::string &name, IOKind kind, const std::vector< Type > &t, int d)
 
 GeneratorInputImpl (const std::string &name, IOKind kind, const std::vector< Type > &t, int d)
 
- Protected Member Functions inherited from Halide::Internal::GeneratorInputBase
 GeneratorInputBase (size_t array_size, const std::string &name, IOKind kind, const std::vector< Type > &t, int d)
 
 GeneratorInputBase (const std::string &name, IOKind kind, const std::vector< Type > &t, int d)
 
Parameter parameter () const
 
void init_internals ()
 
void set_inputs (const std::vector< StubInput > &inputs)
 
void verify_internals () override
 
void check_value_writable () const override
 
const char * input_or_output () const override
 
void set_estimate_impl (const Var &var, const Expr &min, const Expr &extent)
 
void set_estimates_impl (const Region &estimates)
 
- Protected Member Functions inherited from Halide::Internal::GIOBase
 GIOBase (size_t array_size, const std::string &name, IOKind kind, const std::vector< Type > &types, int dims)
 
std::string array_name (size_t i) const
 
void check_matching_array_size (size_t size) const
 
void check_matching_types (const std::vector< Type > &t) const
 
void check_matching_dims (int d) const
 
template<typename ElemType >
const std::vector< ElemType > & get_values () const
 
void check_gio_access () const
 
template<>
const std::vector< Expr > & get_values () const
 
template<>
const std::vector< Func > & get_values () const
 

Protected Attributes

const Expr min_
 
const Expr max_
 
- Protected Attributes inherited from Halide::Internal::GeneratorInput_Scalar< T >
const TBase def_ {TBase()}
 
const Expr def_expr_
 
- Protected Attributes inherited from Halide::Internal::GeneratorInputBase
std::vector< Parameterparameters_
 
- Protected Attributes inherited from Halide::Internal::GIOBase
int array_size_
 
const std::string name_
 
const IOKind kind_
 
std::vector< Typetypes_
 
int dims_
 
std::vector< Funcfuncs_
 
std::vector< Exprexprs_
 
GeneratorBasegenerator {nullptr}
 

Additional Inherited Members

- Static Protected Member Functions inherited from Halide::Internal::GeneratorInput_Scalar< T >
template<typename TBase2 = TBase, typename std::enable_if<!std::is_pointer< TBase2 >::value >::type * = nullptr>
static Expr TBaseToExpr (const TBase2 &value)
 
template<typename TBase2 = TBase, typename std::enable_if< std::is_pointer< TBase2 >::value >::type * = nullptr>
static Expr TBaseToExpr (const TBase2 &value)
 

Detailed Description

template<typename T>
class Halide::Internal::GeneratorInput_Arithmetic< T >

Definition at line 2034 of file Generator.h.

Member Typedef Documentation

◆ TBase

template<typename T >
using Halide::Internal::GeneratorInput_Arithmetic< T >::TBase = typename Super::TBase
protected

Definition at line 2039 of file Generator.h.

Constructor & Destructor Documentation

◆ GeneratorInput_Arithmetic() [1/6]

template<typename T >
Halide::Internal::GeneratorInput_Arithmetic< T >::GeneratorInput_Arithmetic ( const std::string &  name)
inlineexplicit

Definition at line 2056 of file Generator.h.

◆ GeneratorInput_Arithmetic() [2/6]

template<typename T >
Halide::Internal::GeneratorInput_Arithmetic< T >::GeneratorInput_Arithmetic ( const std::string &  name,
const TBase def 
)
inline

Definition at line 2060 of file Generator.h.

◆ GeneratorInput_Arithmetic() [3/6]

template<typename T >
Halide::Internal::GeneratorInput_Arithmetic< T >::GeneratorInput_Arithmetic ( size_t  array_size,
const std::string &  name 
)
inline

Definition at line 2065 of file Generator.h.

◆ GeneratorInput_Arithmetic() [4/6]

template<typename T >
Halide::Internal::GeneratorInput_Arithmetic< T >::GeneratorInput_Arithmetic ( size_t  array_size,
const std::string &  name,
const TBase def 
)
inline

Definition at line 2070 of file Generator.h.

◆ GeneratorInput_Arithmetic() [5/6]

template<typename T >
Halide::Internal::GeneratorInput_Arithmetic< T >::GeneratorInput_Arithmetic ( const std::string &  name,
const TBase def,
const TBase min,
const TBase max 
)
inline

Definition at line 2076 of file Generator.h.

◆ GeneratorInput_Arithmetic() [6/6]

template<typename T >
Halide::Internal::GeneratorInput_Arithmetic< T >::GeneratorInput_Arithmetic ( size_t  array_size,
const std::string &  name,
const TBase def,
const TBase min,
const TBase max 
)
inline

Definition at line 2083 of file Generator.h.

Member Function Documentation

◆ set_def_min_max()

Member Data Documentation

◆ min_

template<typename T >
const Expr Halide::Internal::GeneratorInput_Arithmetic< T >::min_
protected

◆ max_

template<typename T >
const Expr Halide::Internal::GeneratorInput_Arithmetic< T >::max_
protected

The documentation for this class was generated from the following file: