Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Param.h File Reference

Classes for declaring scalar parameters to halide pipelines. More...

#include <type_traits>
#include "Argument.h"
#include "ExternFuncArgument.h"
#include "IR.h"

Go to the source code of this file.

Classes

class  Halide::Param< T >
 A scalar parameter to a halide pipeline. 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.
 

Macros

#define HALIDE_HANDLE_TYPE_DISPATCH(CODE, BITS, TYPE)
 
#define HALIDE_HANDLE_TYPE_DISPATCH(CODE, BITS, TYPE)
 

Functions

Expr Halide::user_context_value ()
 Returns an Expr corresponding to the user context passed to the function (if any).
 

Detailed Description

Classes for declaring scalar parameters to halide pipelines.

Definition in file Param.h.

Macro Definition Documentation

◆ HALIDE_HANDLE_TYPE_DISPATCH [1/2]

#define HALIDE_HANDLE_TYPE_DISPATCH ( CODE,
BITS,
TYPE )
Value:
case halide_type_t(CODE, BITS).as_u32(): \
user_assert(Internal::IsRoundtrippable<TYPE>::value(val)) \
<< "The value " << val << " cannot be losslessly converted to type " << type; \
param.set_scalar<TYPE>(Internal::StaticCast<TYPE>::value(val)); \
break;
A runtime tag for a type in the halide type system.

Referenced by Halide::Param< T >::set(), and Halide::Param< T >::set_estimate().

◆ HALIDE_HANDLE_TYPE_DISPATCH [2/2]

#define HALIDE_HANDLE_TYPE_DISPATCH ( CODE,
BITS,
TYPE )
Value:
case halide_type_t(CODE, BITS).as_u32(): \
user_assert(Internal::IsRoundtrippable<TYPE>::value(val)) \
<< "The value " << val << " cannot be losslessly converted to type " << type; \
param.set_estimate(Expr(Internal::StaticCast<TYPE>::value(val))); \
break;