24 #ifndef ARM_COMPUTE_IACCESS_WINDOW_H 25 #define ARM_COMPUTE_IACCESS_WINDOW_H 138 : _info(
info), _x(x), _y(y), _width(width), _height(height), _scale_x(
scale_x), _scale_y(
scale_y)
Implementation of a column access pattern.
Container for 2D border size.
~AccessWindowRectangle()=default
Default destructor.
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
ValidRegion compute_valid_region(const Window &window, const ValidRegion &input_valid_region) const
Compute the valid region based on access pattern, valid region of the inputs and border mode.
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.
virtual ~IAccessWindow()=default
Default virtual destructor.
Copyright (c) 2017-2021 Arm Limited.
virtual ValidRegion compute_valid_region(const Window &window, ValidRegion input_valid_region, bool border_undefined, BorderSize border_size) const =0
Compute the valid region based on access pattern and valid region of the inputs.
virtual bool update_window_if_needed(Window &window) const =0
Shrink the window if padding is not large enough.
AccessWindowHorizontal(ITensorInfo *info, int x, int width, float scale_x=1.f)
Constructor for a row access pattern.
Implementation of a rectangular access pattern.
AccessWindowRectangle(ITensorInfo *info, int x, int y, int width, int height, float scale_x, float scale_y)
Constructor for a rectangular access pattern.
int adjust_up(int required, int available, int step)
Increase required in steps of step until it's greater than available.
Interface describing methods to update access window and padding based on kernel parameters.
Implementation of a row access pattern.
bool update_window_if_needed(Window &window) const override
Shrink the window if padding is not large enough.
AccessWindowVertical(ITensorInfo *info, int y, int height, float scale_y=1.f)
Constructor for a column access pattern.
AccessWindowRectangle & operator=(const AccessWindowRectangle &)=delete
Prevent instances of this class from being copied (As this class contains pointers)
bool update_padding_if_needed(const Window &window) override
Increase the padding to be large enough for the window.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
Container for valid region of a window.
AccessWindowRectangle(ITensorInfo *info, int x, int y, int width, int height)
Constructor for a rectangular access pattern.
int adjust_down(int required, int available, int step)
Decrease required in steps of step until it's less than available.
Describe a multidimensional execution window.
void set_valid_region(const Window &window, const ValidRegion &input_valid_region, bool border_undefined=false, const BorderSize &border_size=BorderSize(0))
Set the valid region based on access pattern, valid region of the inputs and border mode.