Compute Library
 20.02.1
Window Class Reference

Describe a multidimensional execution window. More...

#include <Window.h>

Data Structures

class  Dimension
 Describe one of the image's dimensions with a start, end and step. More...
 

Public Member Functions

constexpr Window ()
 Default constructor: create a window containing a single element. More...
 
 Window (const Window &src)
 Copy constructor. More...
 
Windowoperator= (const Window &rhs)
 Copy assignment operator. More...
 
constexpr const Dimensionoperator[] (size_t dimension) const
 Read only access to a given dimension of the window. More...
 
constexpr const Dimensionx () const
 Alias to access the first dimension of the window. More...
 
constexpr const Dimensiony () const
 Alias to access the second dimension of the window. More...
 
constexpr const Dimensionz () const
 Alias to access the third dimension of the window. More...
 
void set (size_t dimension, const Dimension &dim)
 Set the values of a given dimension. More...
 
void set_broadcasted (size_t dimension)
 Set the dimension as broadcasted dimension. More...
 
bool is_broadcasted (size_t dimension) const
 Return whether a dimension has been broadcasted. More...
 
void use_tensor_dimensions (const TensorShape &shape, size_t first_dimension=Window::DimX)
 Use the tensor's dimensions to fill the window dimensions. More...
 
void shift (size_t dimension, int shift_value)
 Shift the values of a given dimension by the given shift_value. More...
 
Window shift_dimensions (unsigned int shift_value) const
 Shift down all the dimensions of a window. More...
 
void adjust (size_t dimension, int adjust_value, bool is_at_start)
 Adjust the start or end of a given dimension by the given value. More...
 
void scale (size_t dimension, float scale_value)
 Scale the values of a given dimension by the given scale_value. More...
 
void set_dimension_step (size_t dimension, int step)
 Set the step of a given dimension. More...
 
void validate () const
 Will validate all the window's dimensions' values when asserts are enabled. More...
 
constexpr size_t num_iterations (size_t dimension) const
 Return the number of iterations needed to iterate through a given dimension. More...
 
size_t num_iterations_total () const
 Return the total number of iterations needed to iterate through the entire window. More...
 
TensorShape shape () const
 Return the shape of the window in number of steps. More...
 
Window split_window (size_t dimension, size_t id, size_t total) const
 Split a window into a set of sub windows along a given dimension. More...
 
Window first_slice_window_1D () const
 First 1D slice of the window. More...
 
Window first_slice_window_2D () const
 First 2D slice of the window. More...
 
Window first_slice_window_3D () const
 First 3D slice of the window. More...
 
Window first_slice_window_4D () const
 First 4D slice of the window. More...
 
bool slide_window_slice_1D (Window &slice) const
 Slide the passed 1D window slice. More...
 
bool slide_window_slice_2D (Window &slice) const
 Slide the passed 2D window slice. More...
 
bool slide_window_slice_3D (Window &slice) const
 Slide the passed 3D window slice. More...
 
bool slide_window_slice_4D (Window &slice) const
 Slide the passed 4D window slice. More...
 
Window collapse_if_possible (const Window &full_window, size_t first, size_t last, bool *has_collapsed=nullptr) const
 Collapse the dimensions between first and last if possible. More...
 
Window collapse_if_possible (const Window &full_window, size_t first, bool *has_collapsed=nullptr) const
 Collapse the dimensions higher than first if possible. More...
 
Window collapse (const Window &full_window, size_t first, size_t last=Coordinates::num_max_dimensions) const
 Collapse the dimensions between first and last. More...
 
Window broadcast_if_dimension_le_one (const TensorShape &shape) const
 Don't advance in the dimension where shape is less equal to 1. More...
 
Window broadcast_if_dimension_le_one (const ITensorInfo &info) const
 Don't advance in the dimension where shape of info is less equal to 1. More...
 

Static Public Attributes

static constexpr size_t DimX = 0
 Alias for dimension 0 also known as X dimension. More...
 
static constexpr size_t DimY = 1
 Alias for dimension 1 also known as Y dimension. More...
 
static constexpr size_t DimZ = 2
 Alias for dimension 2 also known as Z dimension. More...
 

Friends

void swap (Window &lhs, Window &rhs)
 Friend function that swaps the contents of two windows. More...
 

Detailed Description

Describe a multidimensional execution window.

Definition at line 39 of file Window.h.

Constructor & Destructor Documentation

◆ Window() [1/2]

constexpr Window ( )
inline

Default constructor: create a window containing a single element.

Definition at line 50 of file Window.h.

51  : _dims(), _is_broadcasted(utility::generate_array<bool, Coordinates::num_max_dimensions, false>::value)
52  {
53  }

◆ Window() [2/2]

Window ( const Window src)
inline

Copy constructor.

Parameters
[in]srcCopy the values from src to a new object

Definition at line 26 of file Window.inl.

27  : _dims(), _is_broadcasted(utility::generate_array<bool, Coordinates::num_max_dimensions, false>::value)
28 {
29  for(size_t i = 0; i < Coordinates::num_max_dimensions; ++i)
30  {
31  set(i, src[i]);
32  _is_broadcasted[i] = src.is_broadcasted(i);
33  }
34 }
void set(size_t dimension, const Dimension &dim)
Set the values of a given dimension.
Definition: Window.inl:49
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45
cast configure & src
Definition: Cast.cpp:169

Member Function Documentation

◆ adjust()

void adjust ( size_t  dimension,
int  adjust_value,
bool  is_at_start 
)
inline

Adjust the start or end of a given dimension by the given value.

Parameters
[in]dimensionThe dimension to adjust
[in]adjust_valueThe adjusted value.
[in]is_at_startThe flag to indicate whether adjust the start or end of the dimension.

Definition at line 140 of file Window.inl.

141 {
143  Window::Dimension &d = _dims[dimension];
144 
145  if(is_at_start)
146  {
147  d = Window::Dimension(d.start() + adjust_value, d.end(), d.step());
148  }
149  else
150  {
151  d = Window::Dimension(d.start(), d.end() + adjust_value, d.step());
152  }
153 }
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Definition: Error.h:466
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References ARM_COMPUTE_ERROR_ON, Window::Dimension::end(), Dimensions< int >::num_max_dimensions, Window::Dimension::start(), and Window::Dimension::step().

Referenced by GCDepthwiseConvolutionLayer3x3Kernel::run(), CLPadLayerKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), and CLDirectConvolutionLayerKernel::run().

◆ broadcast_if_dimension_le_one() [1/2]

Window broadcast_if_dimension_le_one ( const TensorShape shape) const
inline

Don't advance in the dimension where shape is less equal to 1.

Parameters
[in]shapeA TensorShape.
Returns
Broadcast window.

Definition at line 120 of file Window.inl.

121 {
122  Window broadcastWin(*this);
123  for(size_t d = 0; d < TensorShape::num_max_dimensions; ++d)
124  {
125  if(shape[d] <= 1)
126  {
127  broadcastWin.set_broadcasted(d);
128  }
129  }
130  return broadcastWin;
131 }
constexpr Window()
Default constructor: create a window containing a single element.
Definition: Window.h:50
TensorShape shape() const
Return the shape of the window in number of steps.
Definition: Window.inl:272
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References Dimensions< uint32_t >::num_max_dimensions, Window::set_broadcasted(), and Window::shape().

Referenced by Window::broadcast_if_dimension_le_one(), and NEComplexPixelWiseMultiplicationKernel::run().

◆ broadcast_if_dimension_le_one() [2/2]

Window broadcast_if_dimension_le_one ( const ITensorInfo info) const
inline

Don't advance in the dimension where shape of info is less equal to 1.

Parameters
[in]infoAn ITensorInfo.
Returns
Broadcast window.

Definition at line 404 of file Window.h.

405  {
406  return broadcast_if_dimension_le_one(info.tensor_shape());
407  }
Window broadcast_if_dimension_le_one(const TensorShape &shape) const
Don't advance in the dimension where shape is less equal to 1.
Definition: Window.inl:120

References Window::broadcast_if_dimension_le_one(), and arm_compute::test::validation::info.

◆ collapse()

Window collapse ( const Window full_window,
size_t  first,
size_t  last = Coordinates::num_max_dimensions 
) const
inline

Collapse the dimensions between first and last.

A dimension is collapsable if it starts from 0 and matches the corresponding dimension in the full_window

Parameters
[in]full_windowFull window window has been created from.
[in]firstStart dimension into which the following are collapsed.
[in]lastEnd (exclusive) dimension to collapse.
Returns
Collapsed window if successful.

Definition at line 111 of file Window.inl.

112 {
113  bool has_collapsed = false;
114  Window collapsed = collapse_if_possible(full_window, first, last, &has_collapsed);
115  // Make sure that the window has collapsed
116  ARM_COMPUTE_ERROR_ON(!has_collapsed);
117  return collapsed;
118 }
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Definition: Error.h:466
Window collapse_if_possible(const Window &full_window, size_t first, size_t last, bool *has_collapsed=nullptr) const
Collapse the dimensions between first and last if possible.
Definition: Window.inl:68
constexpr Window()
Default constructor: create a window containing a single element.
Definition: Window.h:50

References ARM_COMPUTE_ERROR_ON, and Window::collapse_if_possible().

Referenced by CLFlattenLayerKernel::run(), CLReverseKernel::run(), CLComputeAllAnchorsKernel::run(), CLPermuteKernel::run(), CLInstanceNormalizationLayerKernel::run(), CLScaleKernel::run(), CLStackLayerKernel::run(), CLFuseBatchNormalizationKernel::run(), and CLDepthwiseConvolutionLayerNativeKernel::run().

◆ collapse_if_possible() [1/2]

Window collapse_if_possible ( const Window full_window,
size_t  first,
size_t  last,
bool *  has_collapsed = nullptr 
) const
inline

Collapse the dimensions between first and last if possible.

A dimension is collapsable if it starts from 0 and matches the corresponding dimension in the full_window

Parameters
[in]full_windowFull window window has been created from.
[in]firstStart dimension into which the following are collapsed.
[in]lastEnd (exclusive) dimension to collapse.
[out]has_collapsed(Optional) Whether the window was collapsed.
Returns
Collapsed window.

Definition at line 68 of file Window.inl.

70 {
71  Window collapsed(*this);
72 
73  bool is_collapsable = true;
74  int collapsed_end = _dims[first].end();
75 
76  for(size_t d = first + 1; is_collapsable && (d < last); ++d)
77  {
78  // The _dims's dimension must match the full _dims dimension to be collapsable:
79  is_collapsable = (_dims[d].start() == 0) && (full_window[d].start() == 0) && (_dims[d].step() <= 1)
80  && (full_window[d].end() == _dims[d].end());
81  collapsed_end *= _dims[d].end();
82  }
83 
84  if(is_collapsable)
85  {
86  collapsed._dims.at(first).set_end(collapsed_end);
87  for(size_t d = first + 1; is_collapsable && (d < last); ++d)
88  {
89  collapsed.set(d, Dimension());
90  }
91  }
92 
93  if(has_collapsed != nullptr)
94  {
95  *has_collapsed = is_collapsable;
96  }
97 
98  return collapsed;
99 }
constexpr Window()
Default constructor: create a window containing a single element.
Definition: Window.h:50

References Window::set(), and arm_compute::test::validation::step.

Referenced by Window::collapse(), Window::collapse_if_possible(), CLDepthConvertLayerKernel::configure(), CLElementwiseOperationKernel::run(), CLElementWiseUnaryLayerKernel::run(), NEMemsetKernel::run(), CLFloorKernel::run(), CLDequantizationLayerKernel::run(), GCActivationLayerKernel::run(), CLReshapeLayerKernel::run(), CLCopyKernel::run(), NEConvertQuantizedSignednessKernel::run(), GCLogits1DShiftExpSumKernel::run(), CLDeconvolutionLayerUpsampleKernel::run(), CLFFTScaleKernel::run(), CLNormalizationLayerKernel::run(), CLQuantizationLayerKernel::run(), CLFillBorderKernel::run(), CLUpsampleLayerKernel::run(), CLMemsetKernel::run(), CLPoolingLayerKernel::run(), CLGatherKernel::run(), CLComparisonKernel::run(), CLTileKernel::run(), CLActivationLayerKernel::run(), GCPoolingLayerKernel::run(), CLMinMaxLayerKernel::run(), CLFFTDigitReverseKernel::run(), CLNormalizePlanarYUVLayerKernel::run(), CLSelectKernel::run(), NEReorgLayerKernel::run(), CLPixelWiseMultiplicationKernel::run(), CLYOLOLayerKernel::run(), CLFFTRadixStageKernel::run(), GCCol2ImKernel::run(), CLGEMMLowpMatrixAReductionKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLDeconvolutionReshapeOutputKernel::run(), CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel::run(), CLWinogradInputTransformKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::run(), CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::run(), CLCol2ImKernel::run(), CLGEMMLowpOffsetContributionKernel::run(), CLStridedSliceKernel::run(), CLWinogradOutputTransformKernel::run(), CLGEMMLowpOffsetContributionOutputStageKernel::run(), CLIm2ColKernel::run(), GCLogits1DNormKernel::run(), CLGEMMLowpMatrixBReductionKernel::run(), CLComplexPixelWiseMultiplicationKernel::run(), CLLogits1DMaxShiftExpSumKernel::run(), and CLLogits1DNormKernel::run().

◆ collapse_if_possible() [2/2]

Window collapse_if_possible ( const Window full_window,
size_t  first,
bool *  has_collapsed = nullptr 
) const
inline

Collapse the dimensions higher than first if possible.

A dimension is collapsable if it starts from 0 and matches the corresponding dimension in the full_window

Parameters
[in]full_windowFull window window has been created from.
[in]firstStart dimension into which the following are collapsed.
[out]has_collapsed(Optional) Whether the window was collapsed.
Returns
Collapsed window.

Definition at line 373 of file Window.h.

374  {
375  return collapse_if_possible(full_window, first, Coordinates::num_max_dimensions, has_collapsed);
376  }
Window collapse_if_possible(const Window &full_window, size_t first, size_t last, bool *has_collapsed=nullptr) const
Collapse the dimensions between first and last if possible.
Definition: Window.inl:68
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References Window::collapse_if_possible(), and Dimensions< int >::num_max_dimensions.

◆ first_slice_window_1D()

◆ first_slice_window_2D()

Window first_slice_window_2D ( ) const
inline

First 2D slice of the window.

Returns
The first slice of the window.

Definition at line 281 of file Window.h.

282  {
283  return first_slice_window<2>();
284  };

Referenced by ICLSimple2DKernel::run(), IGCSimple2DKernel::run(), GCTransposeKernel::run(), GCGEMMMatrixAccumulateBiasesKernel::run(), CLGaussianPyramidHorKernel::run(), CLGradientKernel::run(), CLHistogramKernel::run(), CLBitwiseAndKernel::run(), CLMinMaxKernel::run(), CLBitwiseOrKernel::run(), CLRemapKernel::run(), CLBitwiseXorKernel::run(), CLSobel3x3Kernel::run(), CLDerivativeKernel::run(), CLSobel5x5HorKernel::run(), CLSobel7x7HorKernel::run(), CLHOGOrientationBinningKernel::run(), GCGEMMMatrixAdditionKernel::run(), CLAbsoluteDifferenceKernel::run(), GCAbsoluteDifferenceKernel::run(), CLGEMMMatrixAccumulateBiasesKernel::run(), GCGEMMTranspose1xWKernel::run(), CLMagnitudePhaseKernel::run(), CLIntegralImageVertKernel::run(), CLLocallyConnectedMatrixMultiplyKernel::run(), CLChannelExtractKernel::run(), CLFastCornersKernel::run(), CLMeanStdDevNormalizationKernel::run(), CLHarrisScoreKernel::run(), NEDepthToSpaceLayerKernel::run(), CLPriorBoxLayerKernel::run(), CLChannelCombineKernel::run(), GCGEMMInterleave4x4Kernel::run(), CLHOGDetectorKernel::run(), CLMeanStdDevKernel::run(), CLScharr3x3Kernel::run(), CLReductionOperationKernel::run(), CLScaleKernel::run(), CLL2NormalizeLayerKernel::run(), CLBoundingBoxTransformKernel::run(), GCWeightsReshapeKernel::run(), CLColorConvertKernel::run(), CLGEMMLowpMatrixAReductionKernel::run(), CLArgMinMaxLayerKernel::run(), GCGEMMMatrixMultiplyKernel::run(), CLGaussianPyramidVertKernel::run(), CLHistogramBorderKernel::run(), CLSpaceToBatchLayerKernel::run(), CLEdgeNonMaxSuppressionKernel::run(), CLHOGBlockNormalizationKernel::run(), CLMinMaxLocationKernel::run(), CLWeightsReshapeKernel::run(), CLIm2ColKernel::run(), CLSobel7x7VertKernel::run(), CLSobel5x5VertKernel::run(), CLCopyToArrayKernel::run(), CLGEMMLowpMatrixBReductionKernel::run(), CLEdgeTraceKernel::run(), and CLConvolutionRectangleKernel::run().

◆ first_slice_window_3D()

Window first_slice_window_3D ( ) const
inline

First 3D slice of the window.

Returns
The first slice of the window.

Definition at line 289 of file Window.h.

290  {
291  return first_slice_window<3>();
292  };

Referenced by ICLSimple3DKernel::run(), IGCSimple3DKernel::run(), GCScaleKernel::run(), CLElementWiseUnaryLayerKernel::run(), CLElementwiseOperationKernel::run(), GCDepthwiseConvolutionLayer3x3Kernel::run(), GCPixelWiseMultiplicationKernel::run(), GCNormalizationLayerKernel::run(), CLGEMMMatrixVectorMultiplyKernel::run(), CLFloorKernel::run(), GCActivationLayerKernel::run(), GCDepthConcatenateLayerKernel::run(), CLReshapeLayerKernel::run(), CLCopyKernel::run(), CLDepthToSpaceLayerKernel::run(), CLROIPoolingLayerKernel::run(), CLSpaceToDepthLayerKernel::run(), GCDropoutLayerKernel::run(), CLDeconvolutionLayerUpsampleKernel::run(), GCLogits1DShiftExpSumKernel::run(), CLLocallyConnectedMatrixMultiplyKernel::run(), GCFillBorderKernel::run(), NEGEMMMatrixVectorMultiplyKernel::run(), CLFFTScaleKernel::run(), CLFillBorderKernel::run(), CLMemsetKernel::run(), CLNormalizationLayerKernel::run(), CLQuantizationLayerKernel::run(), CLUpsampleLayerKernel::run(), CLActivationLayerKernel::run(), CLComparisonKernel::run(), GCPoolingLayerKernel::run(), CLPoolingLayerKernel::run(), CLFFTDigitReverseKernel::run(), CLMinMaxLayerKernel::run(), NESpaceToDepthLayerKernel::run(), NEDepthToSpaceLayerKernel::run(), CLReorgLayerKernel::run(), GCArithmeticAdditionKernel::run(), CLNormalizePlanarYUVLayerKernel::run(), CLPadLayerKernel::run(), CLBatchConcatenateLayerKernel::run(), CLDepthConcatenateLayerKernel::run(), CLSelectKernel::run(), GCNormalizePlanarYUVLayerKernel::run(), GCTensorShiftKernel::run(), CLPixelWiseMultiplicationKernel::run(), CLReductionOperationKernel::run(), CLYOLOLayerKernel::run(), CLL2NormalizeLayerKernel::run(), CLFFTRadixStageKernel::run(), CLGEMMReshapeRHSMatrixKernel::run(), CLGEMMLowpMatrixMultiplyKernel::run(), CLGEMMLowpMatrixMultiplyNativeKernel::run(), GCWeightsReshapeKernel::run(), CLGEMMReshapeLHSMatrixKernel::run(), GCCol2ImKernel::run(), CLArgMinMaxLayerKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::run(), CLROIAlignLayerKernel::run(), CLBatchToSpaceLayerKernel::run(), GCBatchNormalizationLayerKernel::run(), CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::run(), CLWinogradInputTransformKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::run(), CLCol2ImKernel::run(), CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel::run(), NEBatchToSpaceLayerKernel::run(), CLBatchNormalizationLayerKernel::run(), CLDirectConvolutionLayerKernel::run(), CLGEMMLowpOffsetContributionKernel::run(), CLGEMMLowpMatrixMultiplyReshapedKernel::run(), CLGEMMMatrixMultiplyKernel::run(), CLGEMMMatrixMultiplyNativeKernel::run(), CLFuseBatchNormalizationKernel::run(), CLSpaceToBatchLayerKernel::run(), CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::run(), NESpaceToBatchLayerKernel::run(), CLGEMMLowpOffsetContributionOutputStageKernel::run(), CLWeightsReshapeKernel::run(), CLIm2ColKernel::run(), GCLogits1DNormKernel::run(), CLGEMMMatrixMultiplyReshapedKernel::run(), CLComplexPixelWiseMultiplicationKernel::run(), CLLogits1DMaxShiftExpSumKernel::run(), and CLLogits1DNormKernel::run().

◆ first_slice_window_4D()

◆ is_broadcasted()

bool is_broadcasted ( size_t  dimension) const
inline

Return whether a dimension has been broadcasted.

Parameters
[in]dimensionThe requested dimension
Returns
true if the dimension has been broadcasted

Definition at line 62 of file Window.inl.

63 {
65  return _is_broadcasted[dimension];
66 }
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Definition: Error.h:466
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References ARM_COMPUTE_ERROR_ON, and Dimensions< int >::num_max_dimensions.

Referenced by ICLKernel::add_tensor_argument().

◆ num_iterations()

constexpr size_t num_iterations ( size_t  dimension) const
inline

Return the number of iterations needed to iterate through a given dimension.

Parameters
[in]dimensionThe requested dimension
Returns
The number of iterations

Definition at line 182 of file Window.inl.

183 {
184  // Precondition: dimension < Coordinates::num_max_dimensions
185  // Precondition: (end - start) % step == 0
186  return (_dims.at(dimension).end() - _dims.at(dimension).start()) / _dims.at(dimension).step();
187 }

Referenced by CLCopyKernel::configure(), CLMemsetKernel::configure(), CLCropKernel::configure(), Window::num_iterations_total(), OMPScheduler::schedule(), CPPScheduler::schedule(), and Window::split_window().

◆ num_iterations_total()

size_t num_iterations_total ( ) const
inline

Return the total number of iterations needed to iterate through the entire window.

Returns
Number of total iterations

Definition at line 282 of file Window.inl.

283 {
284  size_t total = 1;
285  for(size_t d = 0; d < Coordinates::num_max_dimensions; ++d)
286  {
287  total *= num_iterations(d);
288  }
289  return total;
290 }
constexpr size_t num_iterations(size_t dimension) const
Return the number of iterations needed to iterate through a given dimension.
Definition: Window.inl:182
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References Window::num_iterations(), and Dimensions< int >::num_max_dimensions.

◆ operator=()

Window & operator= ( const Window rhs)
inline

Copy assignment operator.

Parameters
[in]rhsCopy the values from rhs to the current object
Returns
Reference to the updated object

Definition at line 36 of file Window.inl.

37 {
38  Window tmp(rhs);
39  swap(*this, tmp);
40  return *this;
41 }
friend void swap(Window &lhs, Window &rhs)
Friend function that swaps the contents of two windows.
Definition: Window.inl:292
constexpr Window()
Default constructor: create a window containing a single element.
Definition: Window.h:50

References Window::swap.

◆ operator[]()

constexpr const Window::Dimension & operator[] ( size_t  dimension) const
inline

Read only access to a given dimension of the window.

Note
Precondition: dimension < Coordinates::num_max_dimensions
Parameters
[in]dimensionThe dimension to access
Returns
The requested dimension

Definition at line 43 of file Window.inl.

44 {
45  // Precondition: dimension < Coordinates::num_max_dimensions
46  return _dims.at(dimension);
47 }

◆ scale()

void scale ( size_t  dimension,
float  scale_value 
)
inline

Scale the values of a given dimension by the given scale_value.

Note
The end of the window is rounded up to be a multiple of step after the scaling.
Parameters
[in]dimensionThe dimension to scale
[in]scale_valueValue to scale the start, end and step values of.

Definition at line 155 of file Window.inl.

156 {
158  Window::Dimension &d = _dims[dimension];
159  const int scaled_step = d.step() * scale_value;
160  const int scaled_start = d.start() * scale_value;
161  const int scaled_diff = (d.end() - d.start()) * scale_value;
162  const int scaled_end = scaled_start + ceil_to_multiple(scaled_diff, scaled_step);
163 
164  d = Window::Dimension(scaled_start, scaled_end, scaled_step);
165 }
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Definition: Error.h:466
auto ceil_to_multiple(S value, T divisor) -> decltype(((value+divisor - 1)/divisor) *divisor)
Computes the smallest number larger or equal to value that is a multiple of divisor.
Definition: Utils.h:66
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References ARM_COMPUTE_ERROR_ON, arm_compute::ceil_to_multiple(), Window::Dimension::end(), Dimensions< int >::num_max_dimensions, Window::Dimension::start(), and Window::Dimension::step().

Referenced by CLGaussianPyramidHorKernel::run(), NEGaussianPyramidHorKernel::run(), GCGEMMInterleave4x4Kernel::run(), CLGaussianPyramidVertKernel::run(), and NEGaussianPyramidVertKernel::run().

◆ set()

void set ( size_t  dimension,
const Dimension dim 
)
inline

Set the values of a given dimension.

Parameters
[in]dimensionThe dimension to set
[in]dimThe values to set the dimension to

Definition at line 49 of file Window.inl.

50 {
52  _dims[dimension] = dim;
53 }
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Definition: Error.h:466
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References ARM_COMPUTE_ERROR_ON, and Dimensions< int >::num_max_dimensions.

Referenced by arm_compute::calculate_max_enlarged_window(), arm_compute::calculate_max_window(), arm_compute::calculate_max_window_horizontal(), Window::collapse_if_possible(), arm_compute::colorconvert_iyuv_to_nv12(), arm_compute::colorconvert_iyuv_to_rgb(), arm_compute::colorconvert_iyuv_to_yuv4(), arm_compute::colorconvert_nv12_to_iyuv(), arm_compute::colorconvert_nv12_to_rgb(), arm_compute::colorconvert_nv12_to_yuv4(), arm_compute::colorconvert_rgb_to_iyuv(), arm_compute::colorconvert_rgb_to_nv12(), arm_compute::colorconvert_yuyv_to_iyuv(), arm_compute::colorconvert_yuyv_to_nv12(), CLElementWiseUnaryLayerKernel::configure(), CLDequantizationLayerKernel::configure(), CLCopyKernel::configure(), CLHistogramKernel::configure(), CLTileKernel::configure(), CLUpsampleLayerKernel::configure(), CLFillBorderKernel::configure(), GCFillBorderKernel::configure(), CLCropKernel::configure(), GCDepthConcatenateLayerKernel::configure(), NEFillInnerBorderKernel::configure(), CLStridedSliceKernel::configure(), NEFillBorderKernel::configure(), NEHOGDetectorKernel::configure(), NEROIPoolingLayerKernel::configure(), CLHOGDetectorKernel::configure(), GCTensorShiftKernel::configure(), CLHistogramBorderKernel::configure(), CLLKTrackerInitKernel::configure(), CLLKTrackerFinalizeKernel::configure(), CLLKTrackerStage0Kernel::configure(), CLLKTrackerStage1Kernel::configure(), create_window(), AssetsLibrary::fill_borders_with_garbage(), IImageLoader::fill_image(), IImageLoader::fill_planar_tensor(), IKernel::IKernel(), arm_compute::utils::load_trained_data(), CLMinMaxLayerKernel::reset(), NEMinMaxLayerKernel::reset(), GCGEMMMatrixAccumulateBiasesKernel::run(), CLHOGOrientationBinningKernel::run(), NEMemsetKernel::run(), GCGEMMTranspose1xWKernel::run(), CLGEMMMatrixAccumulateBiasesKernel::run(), CLGEMMMatrixVectorMultiplyKernel::run(), GCDepthConcatenateLayerKernel::run(), CLSpaceToDepthLayerKernel::run(), NEGEMMMatrixAccumulateBiasesKernel::run(), CLDepthToSpaceLayerKernel::run(), CLDeconvolutionLayerUpsampleKernel::run(), NETileKernel::run(), NEConvertQuantizedSignednessKernel::run(), CLChannelExtractKernel::run(), NEGEMMMatrixVectorMultiplyKernel::run(), CLUpsampleLayerKernel::run(), NECopyKernel::run(), CLPoolingLayerKernel::run(), GCPoolingLayerKernel::run(), CLPermuteKernel::run(), NEDepthToSpaceLayerKernel::run(), CLChannelCombineKernel::run(), CLInstanceNormalizationLayerKernel::run(), NEFFTScaleKernel::run(), CLNormalizePlanarYUVLayerKernel::run(), NEFlattenLayerKernel::run(), CLSelectKernel::run(), NEPoolingLayerKernel::run(), GCNormalizePlanarYUVLayerKernel::run(), CLReductionOperationKernel::run(), CLCropKernel::run(), CLL2NormalizeLayerKernel::run(), CLGEMMLowpMatrixMultiplyKernel::run(), CLGEMMLowpMatrixMultiplyNativeKernel::run(), NEMinMaxLayerKernel::run(), CLColorConvertKernel::run(), NEFFTRadixStageKernel::run(), CLGEMMLowpMatrixAReductionKernel::run(), CLArgMinMaxLayerKernel::run(), GCGEMMMatrixMultiplyKernel::run(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), GCBatchNormalizationLayerKernel::run(), CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel::run(), CLBatchToSpaceLayerKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::run(), CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::run(), NEBatchToSpaceLayerKernel::run(), CLBatchNormalizationLayerKernel::run(), CLGEMMLowpOffsetContributionKernel::run(), CLGEMMMatrixMultiplyKernel::run(), CLGEMMMatrixMultiplyNativeKernel::run(), CLGEMMLowpMatrixMultiplyReshapedKernel::run(), NEGEMMTranspose1xWKernel::run(), CLSpaceToBatchLayerKernel::run(), CLWinogradOutputTransformKernel::run(), CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::run(), CLDepthwiseConvolutionLayerNativeKernel::run(), CLGEMMLowpOffsetContributionOutputStageKernel::run(), CLCropResize::run(), CLIm2ColKernel::run(), GCLogits1DNormKernel::run(), CLGEMMMatrixMultiplyReshapedKernel::run(), CLGEMMLowpMatrixBReductionKernel::run(), CLLogits1DMaxShiftExpSumKernel::run(), CLLogits1DNormKernel::run(), arm_compute::utils::save_to_ppm(), Window::set_broadcasted(), Window::shift_dimensions(), Window::split_window(), AccessWindowTranspose::update_window_if_needed(), AccessWindowStatic::update_window_if_needed(), AccessWindowRectangle::update_window_if_needed(), and Window::use_tensor_dimensions().

◆ set_broadcasted()

void set_broadcasted ( size_t  dimension)
inline

Set the dimension as broadcasted dimension.

Parameters
[in]dimensionThe dimension to set

Definition at line 55 of file Window.inl.

56 {
58  set(dimension, Dimension(0, 0, 0));
59  _is_broadcasted[dimension] = true;
60 }
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Definition: Error.h:466
void set(size_t dimension, const Dimension &dim)
Set the values of a given dimension.
Definition: Window.inl:49
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References ARM_COMPUTE_ERROR_ON, Dimensions< int >::num_max_dimensions, and Window::set().

Referenced by Window::broadcast_if_dimension_le_one().

◆ set_dimension_step()

void set_dimension_step ( size_t  dimension,
int  step 
)
inline

◆ shape()

TensorShape shape ( ) const
inline

Return the shape of the window in number of steps.

Definition at line 272 of file Window.inl.

273 {
274  TensorShape shape;
275  for(size_t d = 0; d < TensorShape::num_max_dimensions; ++d)
276  {
277  shape.set(d, (_dims[d].end() - _dims[d].start()) / _dims[d].step());
278  }
279  return shape;
280 }
TensorShape shape() const
Return the shape of the window in number of steps.
Definition: Window.inl:272
TensorShape & set(size_t dimension, size_t value, bool apply_dim_correction=true)
Accessor to set the value of one of the dimensions.
Definition: TensorShape.h:78
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References Dimensions< uint32_t >::num_max_dimensions, TensorShape::set(), and arm_compute::test::validation::step.

Referenced by Window::broadcast_if_dimension_le_one(), CLWinogradInputTransformKernel::run(), and Window::use_tensor_dimensions().

◆ shift()

void shift ( size_t  dimension,
int  shift_value 
)
inline

Shift the values of a given dimension by the given shift_value.

Parameters
[in]dimensionThe dimension to shift
[in]shift_valueValue to shift the start and end values of.

Definition at line 133 of file Window.inl.

134 {
136  Window::Dimension &d = _dims[dimension];
137  d = Window::Dimension(d.start() + shift_value, d.end() + shift_value, d.step());
138 }
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Definition: Error.h:466
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References ARM_COMPUTE_ERROR_ON, Window::Dimension::end(), Dimensions< int >::num_max_dimensions, Window::Dimension::start(), and Window::Dimension::step().

Referenced by NEGaussian5x5HorKernel::run(), CLGaussianPyramidHorKernel::run(), GCDepthwiseConvolutionLayer3x3Kernel::run(), NEGaussianPyramidHorKernel::run(), GCActivationLayerKernel::run(), NESobel5x5HorKernel::run(), and NEGaussianPyramidVertKernel::run().

◆ shift_dimensions()

Window shift_dimensions ( unsigned int  shift_value) const
inline

Shift down all the dimensions of a window.

i.e new_dims[n] = old_dims[n+shift_value].

Parameters
[in]shift_valueNumber of dimensions to shift the window by.
Returns
The window with the shifted dimensions.

Definition at line 101 of file Window.inl.

102 {
103  Window shifted_window;
104  for(size_t n = 0; n < (Coordinates::num_max_dimensions - shift_value); n++)
105  {
106  shifted_window.set(n, _dims[n + shift_value]);
107  }
108  return shifted_window;
109 }
constexpr Window()
Default constructor: create a window containing a single element.
Definition: Window.h:50
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References Dimensions< int >::num_max_dimensions, and Window::set().

◆ slide_window_slice_1D()

bool slide_window_slice_1D ( Window slice) const
inline

Slide the passed 1D window slice.

If slice contains the last slice then it will remain unchanged and false will be returned.

Parameters
[in,out]sliceCurrent slice, to be updated to the next slice.
Returns
true if slice contains a new slice, false if slice already contained the last slice

Definition at line 309 of file Window.h.

310  {
311  return slide_window_slice<1>(slice);
312  }
SimpleTensor< T > slice(const SimpleTensor< T > &src, Coordinates starts, Coordinates ends)

References arm_compute::test::validation::reference::slice().

Referenced by CLReductionOperationKernel::run(), GCWeightsReshapeKernel::run(), and CLWeightsReshapeKernel::run().

◆ slide_window_slice_2D()

bool slide_window_slice_2D ( Window slice) const
inline

Slide the passed 2D window slice.

If slice contains the last slice then it will remain unchanged and false will be returned.

Parameters
[in,out]sliceCurrent slice, to be updated to the next slice.
Returns
true if slice contains a new slice, false if slice already contained the last slice

Definition at line 321 of file Window.h.

322  {
323  return slide_window_slice<2>(slice);
324  }
SimpleTensor< T > slice(const SimpleTensor< T > &src, Coordinates starts, Coordinates ends)

References arm_compute::test::validation::reference::slice().

Referenced by ICLSimple2DKernel::run(), IGCSimple2DKernel::run(), GCTransposeKernel::run(), GCGEMMMatrixAccumulateBiasesKernel::run(), CLGaussianPyramidHorKernel::run(), CLHistogramKernel::run(), CLGradientKernel::run(), CLBitwiseAndKernel::run(), CLMinMaxKernel::run(), CLRemapKernel::run(), CLBitwiseOrKernel::run(), CLBitwiseXorKernel::run(), CLSobel3x3Kernel::run(), CLDerivativeKernel::run(), CLSobel5x5HorKernel::run(), CLSobel7x7HorKernel::run(), CLHOGOrientationBinningKernel::run(), GCGEMMMatrixAdditionKernel::run(), CLAbsoluteDifferenceKernel::run(), GCAbsoluteDifferenceKernel::run(), CLGEMMMatrixAccumulateBiasesKernel::run(), GCGEMMTranspose1xWKernel::run(), CLMagnitudePhaseKernel::run(), CLIntegralImageVertKernel::run(), CLLocallyConnectedMatrixMultiplyKernel::run(), CLChannelExtractKernel::run(), CLMeanStdDevNormalizationKernel::run(), CLFastCornersKernel::run(), CLHarrisScoreKernel::run(), NEDepthToSpaceLayerKernel::run(), GCGEMMInterleave4x4Kernel::run(), CLChannelCombineKernel::run(), CLHOGDetectorKernel::run(), CLScharr3x3Kernel::run(), CLMeanStdDevKernel::run(), CLReductionOperationKernel::run(), CLScaleKernel::run(), CLL2NormalizeLayerKernel::run(), CLColorConvertKernel::run(), GCWeightsReshapeKernel::run(), CLArgMinMaxLayerKernel::run(), GCGEMMMatrixMultiplyKernel::run(), CLHistogramBorderKernel::run(), CLGaussianPyramidVertKernel::run(), CLEdgeNonMaxSuppressionKernel::run(), CLMinMaxLocationKernel::run(), CLHOGBlockNormalizationKernel::run(), CLWeightsReshapeKernel::run(), CLIm2ColKernel::run(), CLSobel7x7VertKernel::run(), CLSobel5x5VertKernel::run(), CLCopyToArrayKernel::run(), CLEdgeTraceKernel::run(), and CLConvolutionRectangleKernel::run().

◆ slide_window_slice_3D()

bool slide_window_slice_3D ( Window slice) const
inline

Slide the passed 3D window slice.

If slice contains the last slice then it will remain unchanged and false will be returned.

Parameters
[in,out]sliceCurrent slice, to be updated to the next slice.
Returns
true if slice contains a new slice, false if slice already contained the last slice

Definition at line 333 of file Window.h.

334  {
335  return slide_window_slice<3>(slice);
336  }
SimpleTensor< T > slice(const SimpleTensor< T > &src, Coordinates starts, Coordinates ends)

References arm_compute::test::validation::reference::slice().

Referenced by ICLSimple3DKernel::run(), IGCSimple3DKernel::run(), GCScaleKernel::run(), CLElementWiseUnaryLayerKernel::run(), CLElementwiseOperationKernel::run(), GCPixelWiseMultiplicationKernel::run(), GCDepthwiseConvolutionLayer3x3Kernel::run(), GCNormalizationLayerKernel::run(), CLGEMMMatrixVectorMultiplyKernel::run(), CLFloorKernel::run(), GCActivationLayerKernel::run(), GCDepthConcatenateLayerKernel::run(), CLCopyKernel::run(), CLSpaceToDepthLayerKernel::run(), CLDepthToSpaceLayerKernel::run(), GCDropoutLayerKernel::run(), GCLogits1DShiftExpSumKernel::run(), CLDeconvolutionLayerUpsampleKernel::run(), GCFillBorderKernel::run(), CLFFTScaleKernel::run(), CLMemsetKernel::run(), CLNormalizationLayerKernel::run(), CLFillBorderKernel::run(), CLQuantizationLayerKernel::run(), CLUpsampleLayerKernel::run(), CLActivationLayerKernel::run(), GCPoolingLayerKernel::run(), CLComparisonKernel::run(), CLPoolingLayerKernel::run(), CLFFTDigitReverseKernel::run(), NEDepthToSpaceLayerKernel::run(), CLMinMaxLayerKernel::run(), CLReorgLayerKernel::run(), NESpaceToDepthLayerKernel::run(), CLNormalizePlanarYUVLayerKernel::run(), CLPadLayerKernel::run(), GCArithmeticAdditionKernel::run(), CLBatchConcatenateLayerKernel::run(), GCNormalizePlanarYUVLayerKernel::run(), CLDepthConcatenateLayerKernel::run(), CLSelectKernel::run(), GCTensorShiftKernel::run(), CLPixelWiseMultiplicationKernel::run(), CLReductionOperationKernel::run(), CLL2NormalizeLayerKernel::run(), CLYOLOLayerKernel::run(), CLFFTRadixStageKernel::run(), CLGEMMReshapeRHSMatrixKernel::run(), CLGEMMLowpMatrixMultiplyNativeKernel::run(), CLGEMMReshapeLHSMatrixKernel::run(), GCCol2ImKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLArgMinMaxLayerKernel::run(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::run(), CLBatchToSpaceLayerKernel::run(), GCBatchNormalizationLayerKernel::run(), CLWinogradInputTransformKernel::run(), CLCol2ImKernel::run(), CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::run(), NEBatchToSpaceLayerKernel::run(), CLBatchNormalizationLayerKernel::run(), CLDirectConvolutionLayerKernel::run(), CLGEMMLowpOffsetContributionKernel::run(), CLGEMMLowpMatrixMultiplyReshapedKernel::run(), CLGEMMMatrixMultiplyNativeKernel::run(), CLGEMMMatrixMultiplyKernel::run(), CLSpaceToBatchLayerKernel::run(), CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::run(), CLWinogradOutputTransformKernel::run(), NESpaceToBatchLayerKernel::run(), CLGEMMLowpOffsetContributionOutputStageKernel::run(), CLIm2ColKernel::run(), GCLogits1DNormKernel::run(), CLComplexPixelWiseMultiplicationKernel::run(), CLLogits1DMaxShiftExpSumKernel::run(), and CLLogits1DNormKernel::run().

◆ slide_window_slice_4D()

bool slide_window_slice_4D ( Window slice) const
inline

Slide the passed 4D window slice.

If slice contains the last slice then it will remain unchanged and false will be returned.

Parameters
[in,out]sliceCurrent slice, to be updated to the next slice.
Returns
true if slice contains a new slice, false if slice already contained the last slice

Definition at line 345 of file Window.h.

346  {
347  return slide_window_slice<4>(slice);
348  }
SimpleTensor< T > slice(const SimpleTensor< T > &src, Coordinates starts, Coordinates ends)

References arm_compute::test::validation::reference::slice().

Referenced by CLReverseKernel::run(), CLPoolingLayerKernel::run(), CLTileKernel::run(), CLWidthConcatenate2TensorsKernel::run(), CLPermuteKernel::run(), CLWidthConcatenate4TensorsKernel::run(), CLReductionOperationKernel::run(), GCWeightsReshapeKernel::run(), CLArgMinMaxLayerKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLCol2ImKernel::run(), CLStridedSliceKernel::run(), CLDepthwiseConvolutionLayerNativeKernel::run(), CLWeightsReshapeKernel::run(), and arm_compute::run_reverse().

◆ split_window()

Window split_window ( size_t  dimension,
size_t  id,
size_t  total 
) const
inline

Split a window into a set of sub windows along a given dimension.

For example to split a window into 3 sub-windows along the Y axis, you would have to do:
Window sub0 = window.split_window( 1, 0, 3);
Window sub1 = window.split_window( 1, 1, 3);
Window sub2 = window.split_window( 1, 2, 3);

Parameters
[in]dimensionDimension along which the split will be performed
[in]idId of the sub-window to return. Must be in the range (0, total-1)
[in]totalTotal number of sub-windows the window will be split into.
Returns
The subwindow "id" out of "total"

Definition at line 189 of file Window.inl.

190 {
191  ARM_COMPUTE_ERROR_ON(id >= total);
193 
194  Window out;
195 
196  for(size_t d = 0; d < Coordinates::num_max_dimensions; ++d)
197  {
198  if(d == dimension)
199  {
200  int start = _dims[d].start();
201  int end = _dims[d].end();
202  int per_sub_window = (num_iterations(d) / total) * _dims[d].step();
203 
204  start += id * per_sub_window;
205 
206  if(id != total - 1)
207  {
208  end = start + per_sub_window;
209  }
210 
211  out.set(d, Dimension(start, end, _dims[d].step()));
212  }
213  else
214  {
215  out.set(d, _dims[d]);
216  }
217  }
218 
219  return out;
220 }
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Definition: Error.h:466
constexpr size_t num_iterations(size_t dimension) const
Return the number of iterations needed to iterate through a given dimension.
Definition: Window.inl:182
constexpr Window()
Default constructor: create a window containing a single element.
Definition: Window.h:50
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References ARM_COMPUTE_ERROR_ON, Window::num_iterations(), Dimensions< int >::num_max_dimensions, Window::set(), and arm_compute::test::validation::step.

Referenced by OMPScheduler::schedule(), and CPPScheduler::schedule().

◆ use_tensor_dimensions()

void use_tensor_dimensions ( const TensorShape shape,
size_t  first_dimension = Window::DimX 
)
inline

Use the tensor's dimensions to fill the window dimensions.

Parameters
[in]shapeTensorShape to copy the dimensions from.
[in]first_dimensionOnly copy dimensions which are greater or equal to this value.

Definition at line 264 of file Window.inl.

265 {
266  for(unsigned int n = first_dimension; n < shape.num_dimensions(); ++n)
267  {
268  set(n, Window::Dimension(0, std::max(shape[n], static_cast<uint32_t>(1))));
269  }
270 }
void set(size_t dimension, const Dimension &dim)
Set the values of a given dimension.
Definition: Window.inl:49
unsigned int num_dimensions() const
Returns the effective dimensionality of the tensor.
Definition: Dimensions.h:122
TensorShape shape() const
Return the shape of the window in number of steps.
Definition: Window.inl:272

References Dimensions< T >::num_dimensions(), Window::set(), and Window::shape().

Referenced by arm_compute::utils::compare_tensor(), CLFillBorderKernel::configure(), GCFillBorderKernel::configure(), NEFillInnerBorderKernel::configure(), NEFillBorderKernel::configure(), GCTensorShiftKernel::configure(), ITensor::copy_from(), AssetsLibrary::fill_layer_data(), arm_compute::utils::fill_random_tensor(), NPYLoader::fill_tensor(), arm_compute::test::validation::reference::gather(), CLMinMaxLayerKernel::reset(), NEMinMaxLayerKernel::reset(), GCDepthwiseConvolutionLayer3x3Kernel::run(), CLFlattenLayerKernel::run(), CLLocallyConnectedMatrixMultiplyKernel::run(), NEFlattenLayerKernel::run(), CLCropKernel::run(), CLStackLayerKernel::run(), NEMinMaxLayerKernel::run(), GCWeightsReshapeKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), NEStackLayerKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLCol2ImKernel::run(), CLDirectConvolutionLayerKernel::run(), CLWinogradFilterTransformKernel::run(), CLWinogradOutputTransformKernel::run(), CLWeightsReshapeKernel::run(), CLIm2ColKernel::run(), arm_compute::test::validation::reference::slice(), arm_compute::test::validation::reference::strided_slice(), arm_compute::test::validation::TEST_CASE(), and CLPadLayer::validate().

◆ validate()

void validate ( ) const
inline

Will validate all the window's dimensions' values when asserts are enabled.

No-op when asserts are disabled

Definition at line 173 of file Window.inl.

174 {
175  for(size_t i = 0; i < Coordinates::num_max_dimensions; ++i)
176  {
177  ARM_COMPUTE_ERROR_ON(_dims[i].end() < _dims[i].start());
178  ARM_COMPUTE_ERROR_ON((_dims[i].step() != 0) && (((_dims[i].end() - _dims[i].start()) % _dims[i].step()) != 0));
179  }
180 }
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
Definition: Error.h:466
static constexpr size_t num_max_dimensions
Number of dimensions the tensor has.
Definition: Dimensions.h:45

References ARM_COMPUTE_ERROR_ON, Dimensions< int >::num_max_dimensions, and arm_compute::test::validation::step.

Referenced by arm_compute::colorconvert_iyuv_to_nv12(), arm_compute::colorconvert_iyuv_to_rgb(), arm_compute::colorconvert_iyuv_to_yuv4(), arm_compute::colorconvert_nv12_to_iyuv(), arm_compute::colorconvert_nv12_to_rgb(), arm_compute::colorconvert_nv12_to_yuv4(), arm_compute::colorconvert_rgb_to_iyuv(), arm_compute::colorconvert_rgb_to_nv12(), arm_compute::colorconvert_rgb_to_yuv4(), arm_compute::colorconvert_yuyv_to_iyuv(), arm_compute::colorconvert_yuyv_to_nv12(), arm_compute::error_on_invalid_subwindow(), arm_compute::error_on_mismatching_windows(), arm_compute::error_on_window_not_collapsable_at_dimension(), OMPScheduler::schedule(), CPPScheduler::schedule(), AccessWindowTranspose::update_window_if_needed(), and AccessWindowRectangle::update_window_if_needed().

◆ x()

constexpr const Dimension& x ( ) const
inline

Alias to access the first dimension of the window.

Returns
First dimension of the window

Definition at line 143 of file Window.h.

144  {
145  return _dims.at(Window::DimX);
146  }
static constexpr size_t DimX
Alias for dimension 0 also known as X dimension.
Definition: Window.h:43

References Window::DimX.

Referenced by arm_compute::colorconvert_iyuv_to_nv12(), arm_compute::colorconvert_iyuv_to_rgb(), arm_compute::colorconvert_iyuv_to_yuv4(), arm_compute::colorconvert_nv12_to_iyuv(), arm_compute::colorconvert_nv12_to_rgb(), arm_compute::colorconvert_nv12_to_yuv4(), arm_compute::colorconvert_rgb_to_iyuv(), arm_compute::colorconvert_rgb_to_nv12(), arm_compute::colorconvert_yuyv_to_iyuv(), arm_compute::colorconvert_yuyv_to_nv12(), AccessWindowTranspose::compute_valid_region(), AccessWindowRectangle::compute_valid_region(), CLElementWiseUnaryLayerKernel::configure(), CLDequantizationLayerKernel::configure(), CLCopyKernel::configure(), CLTileKernel::configure(), CLCropKernel::configure(), GCGEMMTranspose1xWKernel::configure(), CLStridedSliceKernel::configure(), arm_compute::enqueue(), arm_compute::error_on_unconfigured_kernel(), ICLKernel::gws_from_window(), WindowIterator< L >::iterate_3D(), CLHistogramKernel::run(), GCDepthwiseConvolutionLayer3x3Kernel::run(), NEGaussianPyramidHorKernel::run(), CLHOGOrientationBinningKernel::run(), GCGEMMTranspose1xWKernel::run(), NEMemsetKernel::run(), NEHOGOrientationBinningKernel::run(), NEGEMMMatrixAccumulateBiasesKernel::run(), NEConvertQuantizedSignednessKernel::run(), NETileKernel::run(), CLChannelExtractKernel::run(), NECopyKernel::run(), CLPoolingLayerKernel::run(), GCPoolingLayerKernel::run(), NESpaceToDepthLayerKernel::run(), NEDepthToSpaceLayerKernel::run(), NEROIPoolingLayerKernel::run(), CLChannelCombineKernel::run(), NEPoolingLayerKernel::run(), CLReductionOperationKernel::run(), CLCropKernel::run(), NEMinMaxLayerKernel::run(), CLColorConvertKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), NEBatchToSpaceLayerKernel::run(), CLGaussianPyramidVertKernel::run(), CLHistogramBorderKernel::run(), CLDepthwiseConvolutionLayerNativeKernel::run(), NESpaceToBatchLayerKernel::run(), NEGaussianPyramidVertKernel::run(), NEWinogradLayerTransformWeightsKernel< T, OutputTileRows, OutputTileCols, KernelRows, KernelCols >::run(), arm_compute::run_reverse(), AccessWindowTranspose::update_padding_if_needed(), AccessWindowTranspose::update_window_if_needed(), AccessWindowRectangle::update_window_if_needed(), CLMemsetKernel::validate(), and CLCropKernel::validate().

◆ y()

constexpr const Dimension& y ( ) const
inline

Alias to access the second dimension of the window.

Returns
Second dimension of the window

Definition at line 152 of file Window.h.

153  {
154  return _dims.at(Window::DimY);
155  }
static constexpr size_t DimY
Alias for dimension 1 also known as Y dimension.
Definition: Window.h:45

References Window::DimY.

Referenced by arm_compute::colorconvert_iyuv_to_nv12(), arm_compute::colorconvert_iyuv_to_rgb(), arm_compute::colorconvert_iyuv_to_yuv4(), arm_compute::colorconvert_nv12_to_iyuv(), arm_compute::colorconvert_nv12_to_rgb(), arm_compute::colorconvert_nv12_to_yuv4(), arm_compute::colorconvert_rgb_to_iyuv(), arm_compute::colorconvert_rgb_to_nv12(), arm_compute::colorconvert_yuyv_to_iyuv(), arm_compute::colorconvert_yuyv_to_nv12(), AccessWindowTranspose::compute_valid_region(), AccessWindowRectangle::compute_valid_region(), arm_compute::enqueue(), ICLKernel::gws_from_window(), WindowIterator< L >::iterate_3D(), GCDepthwiseConvolutionLayer3x3Kernel::run(), CLHOGOrientationBinningKernel::run(), GCGEMMTranspose1xWKernel::run(), NEHOGOrientationBinningKernel::run(), CLChannelExtractKernel::run(), CLPoolingLayerKernel::run(), GCPoolingLayerKernel::run(), NEDepthToSpaceLayerKernel::run(), CLChannelCombineKernel::run(), NEPoolingLayerKernel::run(), CLColorConvertKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLGaussianPyramidVertKernel::run(), NESpaceToBatchLayerKernel::run(), NEGaussianPyramidVertKernel::run(), AccessWindowTranspose::update_padding_if_needed(), AccessWindowTranspose::update_window_if_needed(), and AccessWindowRectangle::update_window_if_needed().

◆ z()

constexpr const Dimension& z ( ) const
inline

Alias to access the third dimension of the window.

Returns
Third dimension of the window

Definition at line 161 of file Window.h.

162  {
163  return _dims.at(Window::DimZ);
164  }
static constexpr size_t DimZ
Alias for dimension 2 also known as Z dimension.
Definition: Window.h:47

References Window::DimZ.

Referenced by arm_compute::enqueue(), WindowIterator< L >::iterate_3D(), NESpaceToDepthLayerKernel::run(), and CLDepthwiseConvolutionLayer3x3NHWCKernel::run().

Friends And Related Function Documentation

◆ swap

void swap ( Window lhs,
Window rhs 
)
friend

Friend function that swaps the contents of two windows.

Parameters
[in]lhsFirst window to swap.
[in]rhsSecond window to swap.

Definition at line 292 of file Window.inl.

293 {
294  lhs._dims.swap(rhs._dims);
295 }

Referenced by Window::operator=().

Field Documentation

◆ DimX

constexpr size_t DimX = 0
static

Alias for dimension 0 also known as X dimension.

Definition at line 43 of file Window.h.

Referenced by arm_compute::colorconvert_iyuv_to_nv12(), arm_compute::colorconvert_iyuv_to_rgb(), arm_compute::colorconvert_iyuv_to_yuv4(), arm_compute::colorconvert_nv12_to_iyuv(), arm_compute::colorconvert_nv12_to_rgb(), arm_compute::colorconvert_nv12_to_yuv4(), arm_compute::colorconvert_rgb_to_iyuv(), arm_compute::colorconvert_rgb_to_nv12(), arm_compute::colorconvert_yuyv_to_iyuv(), arm_compute::colorconvert_yuyv_to_nv12(), arm_compute::misc::shape_calculator::compute_min_max_shape(), arm_compute::misc::shape_calculator::compute_reductionB_shape(), arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape(), arm_compute::test::validation::reference::concatenate_layer(), CLElementWiseUnaryLayerKernel::configure(), GCTransposeKernel::configure(), CLDequantizationLayerKernel::configure(), CLCopyKernel::configure(), CLTileKernel::configure(), CLUpsampleLayerKernel::configure(), CLMemsetKernel::configure(), CLFillBorderKernel::configure(), GCFillBorderKernel::configure(), CLHOGOrientationBinningKernel::configure(), NEHOGDescriptor::configure(), CLCropKernel::configure(), CLHOGDescriptor::configure(), GCDepthConcatenateLayerKernel::configure(), NEHOGOrientationBinningKernel::configure(), CLROIPoolingLayerKernel::configure(), NEFillInnerBorderKernel::configure(), CLStridedSliceKernel::configure(), NEFillBorderKernel::configure(), NEHOGDetectorKernel::configure(), CLHOGDetectorKernel::configure(), NEROIPoolingLayerKernel::configure(), GCTensorShiftKernel::configure(), NEHOGMultiDetection::configure(), CLHOGMultiDetection::configure(), CLLKTrackerInitKernel::configure(), NELSTMLayer::configure(), CLLSTMLayerQuantized::configure(), NELSTMLayerQuantized::configure(), CLLSTMLayer::configure(), CLLKTrackerFinalizeKernel::configure(), CLLKTrackerStage0Kernel::configure(), CLLKTrackerStage1Kernel::configure(), IImageLoader::fill_image(), IImageLoader::fill_planar_tensor(), IKernel::IKernel(), NEDepthwiseConvolutionAssemblyDispatch::is_optimized_supported(), arm_compute::utils::load_trained_data(), NEWinogradConvolutionLayer::prepare(), NEGEMMLowpMatrixMultiplyCore::prepare(), CLMinMaxLayerKernel::reset(), NEMinMaxLayerKernel::reset(), NESimpleAssemblyFunction::run(), GCScaleKernel::run(), NEGaussian5x5HorKernel::run(), CLGaussianPyramidHorKernel::run(), GCDepthwiseConvolutionLayer3x3Kernel::run(), CLHOGOrientationBinningKernel::run(), NEGaussianPyramidHorKernel::run(), NEROIPoolingLayer::run(), GCGEMMTranspose1xWKernel::run(), NEMemsetKernel::run(), NERange::run(), CPPUpsampleKernel::run(), CLGEMMMatrixVectorMultiplyKernel::run(), NEUpsampleLayer::run(), GCActivationLayerKernel::run(), NEHOGOrientationBinningKernel::run(), CLSpaceToDepthLayerKernel::run(), CLDepthToSpaceLayerKernel::run(), NEGEMMMatrixAccumulateBiasesKernel::run(), NESobel5x5HorKernel::run(), CLROIPoolingLayerKernel::run(), NEPoolingLayer::run(), CLComputeAllAnchorsKernel::run(), NETileKernel::run(), NEConvertQuantizedSignednessKernel::run(), CLDeconvolutionLayerUpsampleKernel::run(), CLUpsampleLayerKernel::run(), CLChannelExtractKernel::run(), NECopyKernel::run(), NEGEMMMatrixVectorMultiplyKernel::run(), CLPoolingLayerKernel::run(), NEFFT1D::run(), GCPoolingLayerKernel::run(), CLMeanStdDevNormalizationKernel::run(), CLMinMaxLayerKernel::run(), CLPermuteKernel::run(), NEDepthToSpaceLayerKernel::run(), NEROIPoolingLayerKernel::run(), CLChannelCombineKernel::run(), GCGEMMInterleave4x4Kernel::run(), CLInstanceNormalizationLayerKernel::run(), CLNormalizePlanarYUVLayerKernel::run(), CLPadLayerKernel::run(), GCArithmeticAdditionKernel::run(), NEFFTScaleKernel::run(), NEFlattenLayerKernel::run(), CLSelectKernel::run(), GCNormalizePlanarYUVLayerKernel::run(), NEPoolingLayerKernel::run(), GCTensorShiftKernel::run(), CLReductionOperationKernel::run(), NEWinogradConvolutionLayer::run(), CLCropKernel::run(), CLL2NormalizeLayerKernel::run(), CLGEMMLowpMatrixMultiplyKernel::run(), CLGEMMLowpMatrixMultiplyNativeKernel::run(), NEMinMaxLayerKernel::run(), CLColorConvertKernel::run(), CLArgMinMaxLayerKernel::run(), CLGEMMLowpMatrixAReductionKernel::run(), GCGEMMMatrixMultiplyKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLROIAlignLayerKernel::run(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::run(), GCBatchNormalizationLayerKernel::run(), CLBatchToSpaceLayerKernel::run(), NEOpticalFlow::run(), NEBatchToSpaceLayerKernel::run(), CLBatchNormalizationLayerKernel::run(), CLDirectConvolutionLayerKernel::run(), CLGEMMLowpOffsetContributionKernel::run(), CLGEMMLowpMatrixMultiplyReshapedKernel::run(), CLGEMMMatrixMultiplyKernel::run(), CLGEMMMatrixMultiplyNativeKernel::run(), NEGEMMTranspose1xWKernel::run(), CLSpaceToBatchLayerKernel::run(), NELocallyConnectedLayer::run(), CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::run(), CLWinogradOutputTransformKernel::run(), CLDepthwiseConvolutionLayerNativeKernel::run(), CLHOGBlockNormalizationKernel::run(), CLGEMMLowpOffsetContributionOutputStageKernel::run(), NEGaussianPyramidVertKernel::run(), GCLogits1DNormKernel::run(), CLIm2ColKernel::run(), NEGEMM::run(), NEDepthwiseConvolutionAssemblyDispatch::run(), CLGEMMMatrixMultiplyReshapedKernel::run(), NEGEMMLowpMatrixMultiplyCore::run(), CLLogits1DMaxShiftExpSumKernel::run(), CLLogits1DNormKernel::run(), arm_compute::run_reverse(), arm_compute::utils::save_to_ppm(), NEDeconvolutionLayer::validate(), CLLSTMLayerQuantized::validate(), NELSTMLayerQuantized::validate(), NELSTMLayer::validate(), CLLSTMLayer::validate(), and Window::x().

◆ DimY

constexpr size_t DimY = 1
static

Alias for dimension 1 also known as Y dimension.

Definition at line 45 of file Window.h.

Referenced by arm_compute::colorconvert_iyuv_to_nv12(), arm_compute::colorconvert_iyuv_to_rgb(), arm_compute::colorconvert_iyuv_to_yuv4(), arm_compute::colorconvert_nv12_to_iyuv(), arm_compute::colorconvert_nv12_to_rgb(), arm_compute::colorconvert_nv12_to_yuv4(), arm_compute::colorconvert_rgb_to_iyuv(), arm_compute::colorconvert_rgb_to_nv12(), arm_compute::colorconvert_yuyv_to_iyuv(), arm_compute::colorconvert_yuyv_to_nv12(), arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape(), arm_compute::test::validation::reference::concatenate_layer(), GCTransposeKernel::configure(), CLUpsampleLayerKernel::configure(), GCFillBorderKernel::configure(), CLHOGOrientationBinningKernel::configure(), CLFillBorderKernel::configure(), NEHOGDescriptor::configure(), CLHOGDescriptor::configure(), GCDepthConcatenateLayerKernel::configure(), NEHOGOrientationBinningKernel::configure(), CLIntegralImageVertKernel::configure(), CLROIPoolingLayerKernel::configure(), NEFillInnerBorderKernel::configure(), CLColorConvertKernel::configure(), NEFillBorderKernel::configure(), NEHOGDetectorKernel::configure(), NEColorConvertKernel::configure(), CLHOGDetectorKernel::configure(), NEROIPoolingLayerKernel::configure(), NEDirectConvolutionLayer::configure(), GCTensorShiftKernel::configure(), NEHOGMultiDetection::configure(), CLHOGMultiDetection::configure(), CLLKTrackerInitKernel::configure(), CLLSTMLayerQuantized::configure(), NELSTMLayerQuantized::configure(), CLLKTrackerFinalizeKernel::configure(), CLLKTrackerStage0Kernel::configure(), CLLKTrackerStage1Kernel::configure(), ITensor::copy_from(), arm_compute::utils::draw_detection_rectangle(), IImageLoader::fill_image(), IImageLoader::fill_planar_tensor(), IKernel::IKernel(), NEDepthwiseConvolutionAssemblyDispatch::is_optimized_supported(), NEGEMM::prepare(), NEGEMMLowpMatrixMultiplyCore::prepare(), ICPPSimpleFunction::run(), INESimpleFunction::run(), NEHistogram::run(), INESimpleFunctionNoBorder::run(), NEMeanStdDev::run(), GCGEMMMatrixAccumulateBiasesKernel::run(), NEGEMMLowpAssemblyMatrixMultiplyCore::run(), GCDepthwiseConvolutionLayer3x3Kernel::run(), CLHOGOrientationBinningKernel::run(), NEHOGDescriptor::run(), NEDerivative::run(), NEEqualizeHistogram::run(), CLGEMMMatrixAccumulateBiasesKernel::run(), NEMinMaxLocation::run(), GCGEMMTranspose1xWKernel::run(), NEHOGGradient::run(), CPPUpsampleKernel::run(), CLGEMMMatrixVectorMultiplyKernel::run(), NEGaussian5x5::run(), NEHOGOrientationBinningKernel::run(), CLSpaceToDepthLayerKernel::run(), NESobel5x5::run(), NESobel7x7::run(), CLDepthToSpaceLayerKernel::run(), NEGEMMMatrixAccumulateBiasesKernel::run(), CLDeconvolutionLayerUpsampleKernel::run(), NEPoolingLayer::run(), CLChannelExtractKernel::run(), CLUpsampleLayerKernel::run(), NEGEMMMatrixVectorMultiplyKernel::run(), NEHOGDetectorKernel::run(), NEFastCorners::run(), GCPoolingLayerKernel::run(), CLPoolingLayerKernel::run(), NEFFT1D::run(), NEL2NormalizeLayer::run(), NEDepthToSpaceLayerKernel::run(), NEROIPoolingLayerKernel::run(), CLMinMaxLayerKernel::run(), CLPermuteKernel::run(), CLChannelCombineKernel::run(), GCGEMMInterleave4x4Kernel::run(), NEStackLayer::run(), NEReductionOperation::run(), CLInstanceNormalizationLayerKernel::run(), CLPriorBoxLayerKernel::run(), NESpaceToDepthLayer::run(), CLPadLayerKernel::run(), NENormalizationLayer::run(), NEPoolingLayerKernel::run(), CLMeanStdDevKernel::run(), CLReductionOperationKernel::run(), NEHeightConcatenateLayerKernel::run(), NEScale::run(), CLL2NormalizeLayerKernel::run(), CLGEMMLowpMatrixMultiplyKernel::run(), NEPadLayer::run(), CLGEMMLowpMatrixMultiplyNativeKernel::run(), NERNNLayer::run(), NECannyEdge::run(), CLColorConvertKernel::run(), CLArgMinMaxLayerKernel::run(), GCGEMMMatrixMultiplyKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLGEMMLowpMatrixAReductionKernel::run(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), NEBatchNormalizationLayer::run(), CLBatchToSpaceLayerKernel::run(), CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::run(), CLHarrisCorners::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::run(), CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::run(), NEHarrisCorners::run(), CPPBoxWithNonMaximaSuppressionLimit::run(), CLDirectConvolutionLayerKernel::run(), NEBatchToSpaceLayerKernel::run(), NEHOGMultiDetection::run(), NEConvolutionSquare< matrix_size >::run(), CLHOGMultiDetection::run(), CLGaussianPyramidVertKernel::run(), CLGEMMLowpOffsetContributionKernel::run(), CLGEMMLowpMatrixMultiplyReshapedKernel::run(), NEGaussianPyramidHalf::run(), CLGEMMMatrixMultiplyKernel::run(), CLGEMMMatrixMultiplyNativeKernel::run(), CLSpaceToBatchLayerKernel::run(), NELocallyConnectedLayer::run(), NEGEMMTranspose1xWKernel::run(), NESoftmaxLayerGeneric< IS_LOG >::run(), CLWinogradOutputTransformKernel::run(), CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::run(), NEFuseBatchNormalization::run(), CLHOGBlockNormalizationKernel::run(), NEDirectConvolutionLayer::run(), CLGEMMLowpOffsetContributionOutputStageKernel::run(), NEGaussianPyramidVertKernel::run(), NESpaceToBatchLayer::run(), CLIm2ColKernel::run(), NEGEMM::run(), CLGEMMMatrixMultiplyReshapedKernel::run(), NEGEMMLowpMatrixMultiplyCore::run(), NEGenerateProposalsLayer::run(), CLGEMMLowpMatrixBReductionKernel::run(), NELSTMLayer::run(), NEFullyConnectedLayer::run(), NEGEMMConvolutionLayer::run(), arm_compute::utils::save_to_ppm(), NEDeconvolutionLayer::validate(), CLLSTMLayerQuantized::validate(), NELSTMLayerQuantized::validate(), and Window::y().

◆ DimZ

constexpr size_t DimZ = 2
static

Alias for dimension 2 also known as Z dimension.

Definition at line 47 of file Window.h.

Referenced by arm_compute::misc::shape_calculator::compute_winograd_filter_transform_shape(), arm_compute::test::validation::reference::concatenate_layer(), GCConcatenateLayer::configure(), CLUpsampleLayerKernel::configure(), CLDepthConvertLayerKernel::configure(), GCFillBorderKernel::configure(), CLFillBorderKernel::configure(), GCDepthConcatenateLayerKernel::configure(), NEFillInnerBorderKernel::configure(), CLROIPoolingLayerKernel::configure(), NEFillBorderKernel::configure(), NEDirectConvolutionLayer::configure(), GCTensorShiftKernel::configure(), GCIm2ColKernel::configure(), IImageLoader::fill_planar_tensor(), NEDepthwiseConvolutionAssemblyDispatch::is_optimized_supported(), NEDeconvolutionLayer::prepare(), INESimpleFunction::run(), NEFillBorder::run(), NEMeanStdDev::run(), CLElementwiseOperationKernel::run(), CLElementWiseUnaryLayerKernel::run(), NEDerivative::run(), NEMemsetKernel::run(), NEConvertFullyConnectedWeights::run(), CLGEMMMatrixVectorMultiplyKernel::run(), CLFloorKernel::run(), NEGaussian5x5::run(), GCActivationLayerKernel::run(), GCDepthConcatenateLayerKernel::run(), NEUpsampleLayer::run(), CLFlattenLayerKernel::run(), CLReshapeLayerKernel::run(), CLCopyKernel::run(), CLDepthToSpaceLayerKernel::run(), CLReverseKernel::run(), CLROIPoolingLayerKernel::run(), NESobel7x7::run(), NESobel5x5::run(), CLSpaceToDepthLayerKernel::run(), CLDeconvolutionLayerUpsampleKernel::run(), GCLogits1DShiftExpSumKernel::run(), NEConvertQuantizedSignednessKernel::run(), NEPoolingLayer::run(), CLMemsetKernel::run(), NEGEMMMatrixVectorMultiplyKernel::run(), CLNormalizationLayerKernel::run(), CLFFTScaleKernel::run(), CLFillBorderKernel::run(), CLUpsampleLayerKernel::run(), GCPoolingLayerKernel::run(), NEFFT1D::run(), CLPoolingLayerKernel::run(), NEFastCorners::run(), CLActivationLayerKernel::run(), CLGatherKernel::run(), CLComparisonKernel::run(), CLTileKernel::run(), CLFFTDigitReverseKernel::run(), NEDepthToSpaceLayerKernel::run(), CLMinMaxLayerKernel::run(), NEROIPoolingLayerKernel::run(), CLPermuteKernel::run(), CLInstanceNormalizationLayerKernel::run(), CLNormalizePlanarYUVLayerKernel::run(), NEInstanceNormalizationLayer::run(), CLSelectKernel::run(), NEPoolingLayerKernel::run(), CLReductionOperationKernel::run(), CLPixelWiseMultiplicationKernel::run(), CLScaleKernel::run(), CLYOLOLayerKernel::run(), CLL2NormalizeLayerKernel::run(), NEScale::run(), CLFFTRadixStageKernel::run(), NEPadLayer::run(), CLStackLayerKernel::run(), NECannyEdge::run(), GCCol2ImKernel::run(), CLGEMMLowpMatrixAReductionKernel::run(), CLArgMinMaxLayerKernel::run(), CLDepthwiseConvolutionLayer3x3NCHWKernel::run(), CLDepthwiseConvolutionLayer3x3NHWCKernel::run(), CLBatchToSpaceLayerKernel::run(), CLDeconvolutionReshapeOutputKernel::run(), CLGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel::run(), CLWinogradInputTransformKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFloatKernel::run(), NEHarrisCorners::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel::run(), CLCol2ImKernel::run(), CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel::run(), CLGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel::run(), NEConvolutionSquare< matrix_size >::run(), NEBatchToSpaceLayerKernel::run(), CLGEMMLowpOffsetContributionKernel::run(), CLStridedSliceKernel::run(), NEGaussianPyramidHalf::run(), CLFuseBatchNormalizationKernel::run(), CLSpaceToBatchLayerKernel::run(), NECropResize::run(), CLWinogradOutputTransformKernel::run(), CLDepthwiseConvolutionLayerNativeKernel::run(), NEDirectConvolutionLayer::run(), CLGEMMLowpOffsetContributionOutputStageKernel::run(), CLIm2ColKernel::run(), GCLogits1DNormKernel::run(), CLGEMMLowpMatrixBReductionKernel::run(), CLComplexPixelWiseMultiplicationKernel::run(), CLLogits1DMaxShiftExpSumKernel::run(), CLLogits1DNormKernel::run(), NEDeconvolutionLayer::validate(), and Window::z().


The documentation for this class was generated from the following files: