Halide

Support for imposing boundary conditions on Halide::Funcs. More...
Go to the source code of this file.
Namespaces  
Halide  
Defines methods for manipulating and analyzing boolean expressions.  
Halide::BoundaryConditions  
namespace to hold functions for imposing boundary conditions on Halide Funcs.  
Halide::BoundaryConditions::Internal  
Functions  
const Func &  Halide::BoundaryConditions::Internal::func_like_to_func (const Func &func) 
template<typename T >  
NO_INLINE Func  Halide::BoundaryConditions::Internal::func_like_to_func (const T &func_like) 
EXPORT Func  Halide::BoundaryConditions::constant_exterior (const Func &source, Tuple value, const std::vector< std::pair< Expr, Expr >> &bounds) 
Impose a boundary condition such that a given expression is returned everywhere outside the boundary. More...  
EXPORT Func  Halide::BoundaryConditions::constant_exterior (const Func &source, Expr value, const std::vector< std::pair< Expr, Expr >> &bounds) 
Impose a boundary condition such that a given expression is returned everywhere outside the boundary. More...  
template<typename T >  
NO_INLINE Func  Halide::BoundaryConditions::constant_exterior (const T &func_like, Tuple value) 
Impose a boundary condition such that a given expression is returned everywhere outside the boundary. More...  
template<typename T >  
NO_INLINE Func  Halide::BoundaryConditions::constant_exterior (const T &func_like, Expr value) 
Impose a boundary condition such that a given expression is returned everywhere outside the boundary. More...  
template<typename T , typename... Bounds, typename std::enable_if< Halide::Internal::all_are_convertible< Expr, Bounds...>::value >::type * = nullptr>  
NO_INLINE Func  Halide::BoundaryConditions::constant_exterior (const T &func_like, Tuple value, Bounds &&...bounds) 
Impose a boundary condition such that a given expression is returned everywhere outside the boundary. More...  
template<typename T , typename... Bounds, typename std::enable_if< Halide::Internal::all_are_convertible< Expr, Bounds...>::value >::type * = nullptr>  
NO_INLINE Func  Halide::BoundaryConditions::constant_exterior (const T &func_like, Expr value, Bounds &&...bounds) 
Impose a boundary condition such that a given expression is returned everywhere outside the boundary. More...  
EXPORT Func  Halide::BoundaryConditions::repeat_edge (const Func &source, const std::vector< std::pair< Expr, Expr >> &bounds) 
Impose a boundary condition such that the nearest edge sample is returned everywhere outside the given region. More...  
template<typename T >  
NO_INLINE Func  Halide::BoundaryConditions::repeat_edge (const T &func_like) 
Impose a boundary condition such that the nearest edge sample is returned everywhere outside the given region. More...  
template<typename T , typename... Bounds, typename std::enable_if< Halide::Internal::all_are_convertible< Expr, Bounds...>::value >::type * = nullptr>  
NO_INLINE Func  Halide::BoundaryConditions::repeat_edge (const T &func_like, Bounds &&...bounds) 
Impose a boundary condition such that the nearest edge sample is returned everywhere outside the given region. More...  
EXPORT Func  Halide::BoundaryConditions::repeat_image (const Func &source, const std::vector< std::pair< Expr, Expr >> &bounds) 
Impose a boundary condition such that the entire coordinate space is tiled with copies of the image abutted against each other. More...  
template<typename T >  
NO_INLINE Func  Halide::BoundaryConditions::repeat_image (const T &func_like) 
Impose a boundary condition such that the entire coordinate space is tiled with copies of the image abutted against each other. More...  
template<typename T , typename... Bounds, typename std::enable_if< Halide::Internal::all_are_convertible< Expr, Bounds...>::value >::type * = nullptr>  
NO_INLINE Func  Halide::BoundaryConditions::repeat_image (const T &func_like, Bounds &&...bounds) 
Impose a boundary condition such that the entire coordinate space is tiled with copies of the image abutted against each other. More...  
EXPORT Func  Halide::BoundaryConditions::mirror_image (const Func &source, const std::vector< std::pair< Expr, Expr >> &bounds) 
Impose a boundary condition such that the entire coordinate space is tiled with copies of the image abutted against each other, but mirror them such that adjacent edges are the same. More...  
template<typename T >  
NO_INLINE Func  Halide::BoundaryConditions::mirror_image (const T &func_like) 
Impose a boundary condition such that the entire coordinate space is tiled with copies of the image abutted against each other. More...  
template<typename T , typename... Bounds, typename std::enable_if< Halide::Internal::all_are_convertible< Expr, Bounds...>::value >::type * = nullptr>  
NO_INLINE Func  Halide::BoundaryConditions::mirror_image (const T &func_like, Bounds &&...bounds) 
Impose a boundary condition such that the entire coordinate space is tiled with copies of the image abutted against each other. More...  
EXPORT Func  Halide::BoundaryConditions::mirror_interior (const Func &source, const std::vector< std::pair< Expr, Expr >> &bounds) 
Impose a boundary condition such that the entire coordinate space is tiled with copies of the image abutted against each other, but mirror them such that adjacent edges are the same and then overlap the edges. More...  
template<typename T >  
NO_INLINE Func  Halide::BoundaryConditions::mirror_interior (const T &func_like) 
Impose a boundary condition such that the entire coordinate space is tiled with copies of the image abutted against each other, but mirror them such that adjacent edges are the same and then overlap the edges. More...  
template<typename T , typename... Bounds, typename std::enable_if< Halide::Internal::all_are_convertible< Expr, Bounds...>::value >::type * = nullptr>  
NO_INLINE Func  Halide::BoundaryConditions::mirror_interior (const T &func_like, Bounds &&...bounds) 
Impose a boundary condition such that the entire coordinate space is tiled with copies of the image abutted against each other, but mirror them such that adjacent edges are the same and then overlap the edges. More...  
Support for imposing boundary conditions on Halide::Funcs.
Definition in file BoundaryConditions.h.