39 Window win =
calculate_max_window(*input, Steps(num_elems_processed_per_iteration), border_undefined, border_size);
40 AccessWindowHorizontal input_access(input, 0, num_elems_processed_per_iteration);
41 AccessWindowHorizontal output_access(output, 0, num_elems_processed_per_iteration);
45 output_access.set_valid_region(win, input->valid_region(), border_undefined, border_size);
48 return std::make_pair(err, win);
53 : _input{
nullptr }, _output{
nullptr }
57 void ICPPSimpleKernel::configure(
const ITensor *input,
ITensor *output,
unsigned int num_elems_processed_per_iteration,
bool border_undefined,
const BorderSize &border_size)
65 ICPPKernel::configure(win_config.second);
Window calculate_max_window(const ValidRegion &valid_region, const Steps &steps, bool skip_border, BorderSize border_size)
Container for 2D border size.
#define ARM_COMPUTE_RETURN_ON_ERROR(status)
Checks if a status contains an error and returns it.
Store the tensor's metadata.
#define ARM_COMPUTE_ERROR_THROW_ON(status)
Interface for Neon tensor.
Copyright (c) 2017-2021 Arm Limited.
bool update_window_and_padding(Window &win, Ts &&... patterns)
Update window and padding size for each of the access patterns.
virtual std::unique_ptr< T > clone() const =0
Provide a clone of the current object of class T.
virtual ITensorInfo * info() const =0
Interface to be implemented by the child class to return the tensor's metadata.
virtual BorderSize border_size() const
The size of the border for that kernel.
#define ARM_COMPUTE_CREATE_ERROR(error_code, msg)
Creates an error with a given message.
unsigned int num_elems_processed_per_iteration
ICPPSimpleKernel()
Constructor.