24 #ifndef SRC_CORE_HELPERS_WINDOWHELPERS_H 25 #define SRC_CORE_HELPERS_WINDOWHELPERS_H 45 template <
typename... Ts>
48 bool window_changed =
false;
56 bool padding_changed =
false;
64 return window_changed;
73 template <
typename... Ts>
96 #ifndef DOXYGEN_SKIP_THIS void set(size_t dimension, T value, bool increase_dim_unit=true)
Accessor to set the value of one of the dimensions.
Window calculate_max_window(const ValidRegion &valid_region, const Steps &steps, bool skip_border, BorderSize border_size)
TensorShape shape
Shape of the valid region.
Container for 2D border size.
Store the tensor's metadata.
virtual bool update_padding_if_needed(const Window &window)=0
Increase the padding to be large enough for the window.
const ValidRegion valid_region
Window calculate_max_window_horizontal(const ValidRegion &valid_region, const Steps &steps, bool skip_border, BorderSize border_size)
Copyright (c) 2017-2021 Arm Limited.
virtual bool update_window_if_needed(Window &window) const =0
Shrink the window if padding is not large enough.
virtual ValidRegion valid_region() const =0
Valid region of the tensor.
bool update_window_and_padding(Window &win, Ts &&... patterns)
Update window and padding size for each of the access patterns.
T && foldl(F &&, T &&value)
Base case of foldl.
Class to describe a number of elements in each dimension.
Interface describing methods to update access window and padding based on kernel parameters.
ValidRegion intersect_valid_regions(const Ts &... regions)
Intersect multiple valid regions.
void for_each(F &&)
Base case of for_each.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
unsigned int num_dimensions() const
Returns the effective dimensionality of the tensor.
Window calculate_max_enlarged_window(const ValidRegion &valid_region, const Steps &steps, BorderSize border_size)
Container for valid region of a window.
Describe a multidimensional execution window.
TensorShape & set(size_t dimension, size_t value, bool apply_dim_correction=true, bool increase_dim_unit=true)
Accessor to set the value of one of the dimensions.
Coordinates anchor
Anchor for the start of the valid region.