24 #ifndef VISIONCPP_INCLUDE_FRAMEWORK_MEMORY_MEMORY_ACCESS_MEMORY_ACCESS_HPP_
25 #define VISIONCPP_INCLUDE_FRAMEWORK_MEMORY_MEMORY_ACCESS_MEMORY_ACCESS_HPP_
38 template <
bool Conds,
size_t LDSize,
size_t GDSize,
typename T>
47 static inline bool get(T &l,
int &i, T &g) {
return (l + i < LDSize); }
56 template <
size_t LDSize,
size_t GDSize,
typename T>
65 static inline bool get(T &l,
int &i, T &g) {
66 return ((l + i < LDSize) && (g + i < GDSize));
82 template <
bool Conds,
size_t LDSize,
size_t GDSize,
typename T>
93 template <
bool Conds,
typename T>
100 static inline T
get(T l, T g) {
return l; }
104 template <
typename T>
111 static inline T
get(T l, T g) {
return g; }
123 template <
bool Conds,
typename T>
133 template <
size_t LeafType,
typename T>
138 template <
typename T>
154 return (((r * cols) + c) < cols * rows) ? ((r * cols) + c)
This files contains the Coordinate struct which is used to specify local/global offset for local/glob...
this file contains different types of memory required for executing neighbour operation to calculate ...
static size_t calculate_index(size_t c, size_t r, size_t cols, size_t rows)
function calculate_index
static T id_val(T l, T g)
function id_val
static bool get_compare(T l, int i, T g)
function get_compare template deduction for CompareIdBasedScope template parameters:
static constexpr size_t Host
static bool get(T &l, int &i, T &g)
function get
this is used for range check to make sure the index is within the range.
static bool get(T &l, int &i, T &g)
function get
static T get(T l, T g)
function get
brief This is used to get the correct Id based on the condition.
static T get(T l, T g)
function get
typename tools::RemoveAll< T >::Type Type
This class is used to determine the ElementType of accessor template parameters.
typename tools::RemoveAll< T >::Type::value_type Type