Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::CA::ca_engine_detail Namespace Reference

Classes

struct  is_tile
 Detect whether O is a Tile<W, H> instantiation. More...
 
struct  is_tile< Tile< W, H > >
 

Functions

template<typename Coord , typename F >
void iterate_1d (ca_size_t n0, F &&f)
 1D row-major iteration callback f(coord).
 
template<typename Coord , typename F >
void iterate_2d_row_major (ca_size_t n0, ca_size_t n1, F &&f)
 2D row-major iteration.
 
template<typename Coord , typename F >
void iterate_2d_column_major (ca_size_t n0, ca_size_t n1, F &&f)
 2D column-major iteration.
 
template<std::size_t W, std::size_t H, typename Coord , typename F >
void iterate_2d_tile (const ca_size_t n0, const ca_size_t n1, F &&f)
 2D tiled iteration with tile size H along axis 0 and W along axis 1.
 
template<typename Coord , typename F >
void iterate_3d_row_major (const ca_size_t n0, const ca_size_t n1, const ca_size_t n2, F &&f)
 3D row-major iteration.
 

Variables

template<typename O >
constexpr bool is_tile_v = is_tile<O>::value
 

Function Documentation

◆ iterate_1d()

template<typename Coord , typename F >
void Aleph::CA::ca_engine_detail::iterate_1d ( ca_size_t  n0,
F &&  f 
)
inline

1D row-major iteration callback f(coord).

Definition at line 90 of file tpl_ca_engine.H.

References Aleph::blossom_maximum_cardinality_matching().

◆ iterate_2d_column_major()

template<typename Coord , typename F >
void Aleph::CA::ca_engine_detail::iterate_2d_column_major ( ca_size_t  n0,
ca_size_t  n1,
F &&  f 
)
inline

2D column-major iteration.

Definition at line 116 of file tpl_ca_engine.H.

References Aleph::blossom_maximum_cardinality_matching().

◆ iterate_2d_row_major()

template<typename Coord , typename F >
void Aleph::CA::ca_engine_detail::iterate_2d_row_major ( ca_size_t  n0,
ca_size_t  n1,
F &&  f 
)
inline

2D row-major iteration.

Definition at line 102 of file tpl_ca_engine.H.

References Aleph::blossom_maximum_cardinality_matching().

◆ iterate_2d_tile()

template<std::size_t W, std::size_t H, typename Coord , typename F >
void Aleph::CA::ca_engine_detail::iterate_2d_tile ( const ca_size_t  n0,
const ca_size_t  n1,
F &&  f 
)
inline

2D tiled iteration with tile size H along axis 0 and W along axis 1.

Tiles at the boundary are clipped to the lattice extents.

Definition at line 131 of file tpl_ca_engine.H.

References Aleph::blossom_maximum_cardinality_matching().

◆ iterate_3d_row_major()

template<typename Coord , typename F >
void Aleph::CA::ca_engine_detail::iterate_3d_row_major ( const ca_size_t  n0,
const ca_size_t  n1,
const ca_size_t  n2,
F &&  f 
)
inline

3D row-major iteration.

Definition at line 151 of file tpl_ca_engine.H.

References Aleph::blossom_maximum_cardinality_matching(), and k.

Variable Documentation

◆ is_tile_v

template<typename O >
constexpr bool Aleph::CA::ca_engine_detail::is_tile_v = is_tile<O>::value
inlineconstexpr

Definition at line 86 of file tpl_ca_engine.H.