24 #ifndef ARM_COMPUTE_TEST_NEON_HELPER_H 25 #define ARM_COMPUTE_TEST_NEON_HELPER_H 42 template <
typename D,
typename T,
typename... Ts>
43 void fill_tensors(D &&dist, std::initializer_list<int> seeds, T &&tensor, Ts &&... other_tensors)
45 const std::array < T, 1 +
sizeof...(Ts) > tensors{ { std::forward<T>(tensor), std::forward<Ts>(other_tensors)... } };
46 std::vector<int> vs(seeds);
49 for(
auto tp : tensors)
64 template <
typename... Args>
67 auto k = std::make_unique<K>();
68 k->configure(std::forward<Args>(
args)...);
69 _kernel = std::move(k);
75 template <
typename... Args>
83 template <
typename K,
int bordersize>
92 template <
typename T,
typename... Args>
95 auto k = std::make_unique<K>();
96 k->configure(first, std::forward<Args>(
args)...);
97 _kernel = std::move(k);
99 auto b = std::make_unique<NEFillBorderKernel>();
101 _border_handler = std::move(
b);
106 template <
typename K>
115 template <
typename T,
typename... Args>
118 auto k = std::make_unique<K>();
119 k->configure(first, std::forward<Args>(
args)...);
120 _kernel = std::move(k);
122 auto b = std::make_unique<NEFillBorderKernel>();
124 _border_handler = std::move(
b);
As above but this also setups a Zero border on the input tensor of the specified bordersize.
Class describing the value of a pixel for any image format.
void configure(Args &&... args)
Configure the kernel.
Container for 2D border size.
static Status validate(Args &&... args)
Validate input arguments.
#define ARM_COMPUTE_ERROR_ON(cond)
If the condition is true then an error message is printed and an exception thrown.
As above but this also setups a Zero border on the input tensor of the kernel's bordersize.
Copyright (c) 2017-2021 Arm Limited.
void configure(T first, Args &&... args)
Configure the kernel.
Accessor implementation for Tensor objects.
Basic interface for functions which have a single Neon kernel and no border.
std::unique_ptr< AssetsLibrary > library
This template synthetizes an INESimpleFunction which runs the given kernel K.
void fill_tensors(D &&dist, std::initializer_list< int > seeds, T &&tensor, Ts &&... other_tensors)
Basic interface for functions which have a single Neon kernel.
void configure(T first, Args &&... args)
Configure the kernel.
Status validate(const ITensorInfo *scores_in, const ITensorInfo *boxes_in, const ITensorInfo *batch_splits_in, const ITensorInfo *scores_out, const ITensorInfo *boxes_out, const ITensorInfo *classes, const ITensorInfo *batch_splits_out, const ITensorInfo *keeps, const ITensorInfo *keeps_size, const BoxNMSLimitInfo info)