diff options
Diffstat (limited to 'arm_compute/runtime/NEON/functions/NERange.h')
-rw-r--r-- | arm_compute/runtime/NEON/functions/NERange.h | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/arm_compute/runtime/NEON/functions/NERange.h b/arm_compute/runtime/NEON/functions/NERange.h index 83ca625aa7..609456a4ef 100644 --- a/arm_compute/runtime/NEON/functions/NERange.h +++ b/arm_compute/runtime/NEON/functions/NERange.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019 ARM Limited. + * Copyright (c) 2018-2021 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -24,26 +24,55 @@ #ifndef ARM_COMPUTE_NERANGE_H #define ARM_COMPUTE_NERANGE_H -#include "arm_compute/core/NEON/kernels/NERangeKernel.h" #include "arm_compute/core/Types.h" #include "arm_compute/runtime/IFunction.h" +#include <memory> + namespace arm_compute { class ITensor; +class ITensorInfo; +class NERangeKernel; /** Basic function to run @ref NERangeKernel * * @note The tensor data type for the output must be U8/S8/U16/S16/U32/S32/F16/F32. * @note The function performs generates a sequence with the given start, end and step. + * */ class NERange : public IFunction { public: /** Default constructor */ NERange(); + /** Prevent instances of this class from being copied (As this class contains pointers) */ + NERange(const NERange &) = delete; + /** Prevent instances of this class from being copied (As this class contains pointers) */ + NERange &operator=(const NERange &) = delete; + /** Prevent instances of this class from being moved (As this class contains non movable objects) */ + NERange(NERange &&) = delete; + /** Prevent instances of this class from being moved (As this class contains non movable objects) */ + NERange &operator=(NERange &&) = delete; + /** Default destructor */ + ~NERange(); /** Initialize the kernel's start, end, step and output tensor. * + * Valid data layouts: + * - All + * + * Valid data type configurations: + * |dst | + * |:---------| + * |U8 | + * |S8 | + * |U16 | + * |S16 | + * |U32 | + * |S32 | + * |F16 | + * |F32 | + * * @param[out] output Output tensor. Data types supported: U8/S8/U16/S16/U32/S32/F16/F32. * @param[in] start The starting value of the sequence. * @param[in] end The ending (not including) value of the sequence. @@ -65,7 +94,7 @@ public: void run() override; private: - NERangeKernel _kernel; + std::unique_ptr<NERangeKernel> _kernel; }; } // namespace arm_compute #endif /* ARM_COMPUTE_NERANGE_H */ |