diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2021-01-10 04:23:52 +0000 |
---|---|---|
committer | Michele Di Giorgio <michele.digiorgio@arm.com> | 2021-01-19 16:03:54 +0000 |
commit | 0f7ef8ab2171093855a8f21bd39c8fd7066dd629 (patch) | |
tree | 2ebdcdf205e3ec238401219f8301be28095edea9 /arm_compute/runtime/NEON/functions/NEFill.h | |
parent | ff1fe3e32e25069fed750cdfe3046b7d8d5a2628 (diff) | |
download | ComputeLibrary-0f7ef8ab2171093855a8f21bd39c8fd7066dd629.tar.gz |
Make memset/copy functions state-less
Port following functions:
- NECopy
- NEFill
- NEPermute
- NEReshapeLayer
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: I75f3f837012abab79c7dde9a20a34f64f75571d8
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4800
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/runtime/NEON/functions/NEFill.h')
-rw-r--r-- | arm_compute/runtime/NEON/functions/NEFill.h | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/arm_compute/runtime/NEON/functions/NEFill.h b/arm_compute/runtime/NEON/functions/NEFill.h index 14d690f419..3162e26747 100644 --- a/arm_compute/runtime/NEON/functions/NEFill.h +++ b/arm_compute/runtime/NEON/functions/NEFill.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2020 Arm Limited. + * Copyright (c) 2019-2021 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -24,24 +24,46 @@ #ifndef ARM_COMPUTE_NEFILL_H #define ARM_COMPUTE_NEFILL_H +#include "arm_compute/runtime/IFunction.h" + #include "arm_compute/core/PixelValue.h" #include "arm_compute/core/Types.h" -#include "arm_compute/runtime/NEON/INESimpleFunctionNoBorder.h" + +#include <memory> namespace arm_compute { class ITensor; -/** Basic function to run @ref NEMemsetKernel */ -class NEFill : public INESimpleFunctionNoBorder +/** Basic function to run @ref CpuFillKernel */ +class NEFill : public IFunction { public: + /** Default Constructor */ + NEFill(); + /** Default Destructor */ + ~NEFill(); + /** Prevent instances of this class from being copied (As this class contains pointers) */ + NEFill(const NEFill &) = delete; + /** Default move constructor */ + NEFill(NEFill &&); + /** Prevent instances of this class from being copied (As this class contains pointers) */ + NEFill &operator=(const NEFill &) = delete; + /** Default move assignment operator */ + NEFill &operator=(NEFill &&); /** Initialize the function * * @param[in,out] tensor Source tensor. Data types supported: All * @param[in] constant_value Constant value to use to fill tensor. */ void configure(ITensor *tensor, PixelValue constant_value); + + // Inherited methods overridden + void run() override; + +private: + struct Impl; + std::unique_ptr<Impl> _impl; }; } // namespace arm_compute #endif /*ARM_COMPUTE_FILL_H */ |