Loading...
Searching...
No Matches
BoundaryConditions.h File Reference

Support for imposing boundary conditions on Halide::Funcs. More...

`#include <vector>`
`#include "Expr.h"`
`#include "Func.h"`
`#include "Lambda.h"`

Go to the source code of this file.

## 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::BoundaryConditions
| namespace to hold functions for imposing boundary conditions on Halide Funcs.
namespace | Halide::BoundaryConditions::Internal

## Functions

HALIDE_NO_USER_CODE_INLINE void | Halide::BoundaryConditions::Internal::collect_region (Region &collected_args, const Expr &a1, const Expr &a2)
template<typename... Args>
HALIDE_NO_USER_CODE_INLINE void | Halide::BoundaryConditions::Internal::collect_region (Region &collected_args, const Expr &a1, const Expr &a2, Args &&...args)
const Func & | Halide::BoundaryConditions::Internal::func_like_to_func (const Func &func)
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::Internal::func_like_to_func (const T &func_like)
Func | Halide::BoundaryConditions::constant_exterior (const Func &source, const Tuple &value, const Region &bounds)
| Impose a boundary condition such that a given expression is returned everywhere outside the boundary.
Func | Halide::BoundaryConditions::constant_exterior (const Func &source, const Expr &value, const Region &bounds)
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::constant_exterior (const T &func_like, const Tuple &value, const Region &bounds)
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::constant_exterior (const T &func_like, const Expr &value, const Region &bounds)
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::constant_exterior (const T &func_like, const Tuple &value)
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::constant_exterior (const T &func_like, const Expr &value)
template<typename T, typename... Bounds, typename std::enable_if< Halide::Internal::all_are_convertible< Expr, Bounds... >::value >::type * = nullptr>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::constant_exterior (const T &func_like, const Tuple &value, Bounds &&...bounds)
template<typename T, typename... Bounds, typename std::enable_if< Halide::Internal::all_are_convertible< Expr, Bounds... >::value >::type * = nullptr>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::constant_exterior (const T &func_like, const Expr &value, Bounds &&...bounds)
Func | Halide::BoundaryConditions::repeat_edge (const Func &source, const Region &bounds)
| Impose a boundary condition such that the nearest edge sample is returned everywhere outside the given region.
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::repeat_edge (const T &func_like, const Region &bounds)
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::repeat_edge (const T &func_like)
Func | Halide::BoundaryConditions::repeat_image (const Func &source, const Region &bounds)
| Impose a boundary condition such that the entire coordinate space is tiled with copies of the image abutted against each other.
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::repeat_image (const T &func_like, const Region &bounds)
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::repeat_image (const T &func_like)
Func | Halide::BoundaryConditions::mirror_image (const Func &source, const Region &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.
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::mirror_image (const T &func_like, const Region &bounds)
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::mirror_image (const T &func_like)
Func | Halide::BoundaryConditions::mirror_interior (const Func &source, const Region &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.
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::mirror_interior (const T &func_like, const Region &bounds)
template<typename T>
HALIDE_NO_USER_CODE_INLINE Func | Halide::BoundaryConditions::mirror_interior (const T &func_like)

## Detailed Description

Support for imposing boundary conditions on Halide::Funcs.

Definition in file BoundaryConditions.h.