diff options
Diffstat (limited to 'arm_compute')
-rw-r--r-- | arm_compute/core/NEON/kernels/NEElementwiseUnaryKernel.h | 2 | ||||
-rw-r--r-- | arm_compute/core/Types.h | 1 | ||||
-rw-r--r-- | arm_compute/runtime/NEON/functions/NEElementwiseUnaryLayer.h | 20 |
3 files changed, 22 insertions, 1 deletions
diff --git a/arm_compute/core/NEON/kernels/NEElementwiseUnaryKernel.h b/arm_compute/core/NEON/kernels/NEElementwiseUnaryKernel.h index f632b1a93a..2c019b52f0 100644 --- a/arm_compute/core/NEON/kernels/NEElementwiseUnaryKernel.h +++ b/arm_compute/core/NEON/kernels/NEElementwiseUnaryKernel.h @@ -88,7 +88,7 @@ public: protected: // Inherited methods overridden: - static Status validate_arguments(const ITensorInfo &input, const ITensorInfo &output); + static Status validate_arguments(ElementWiseUnary op, const ITensorInfo &input, const ITensorInfo &output); /** Function to use for the particular tensor types passed to configure() */ std::function<void(const ITensor *input, ITensor *output, const Window &window)> _function; diff --git a/arm_compute/core/Types.h b/arm_compute/core/Types.h index a2dfbb7d82..544ebff410 100644 --- a/arm_compute/core/Types.h +++ b/arm_compute/core/Types.h @@ -578,6 +578,7 @@ enum class ElementWiseUnary { RSQRT, /**< Reverse square root */ EXP, /**< Exponential */ + NEG, /**< Negate */ }; /** The normalization type used for the normalization layer */ diff --git a/arm_compute/runtime/NEON/functions/NEElementwiseUnaryLayer.h b/arm_compute/runtime/NEON/functions/NEElementwiseUnaryLayer.h index 76827903fa..f4b7e89889 100644 --- a/arm_compute/runtime/NEON/functions/NEElementwiseUnaryLayer.h +++ b/arm_compute/runtime/NEON/functions/NEElementwiseUnaryLayer.h @@ -69,5 +69,25 @@ public: */ static Status validate(const ITensorInfo *input, const ITensorInfo *output); }; + +/** Basic function to negate an input tensor. */ +class NENegLayer : public INESimpleFunction +{ +public: + /** Initialize the function + * + * @param[in] input Input tensor. Data types supported: F16/F32/S32. + * @param[out] output Output tensor. Data types supported: same as @p input. + */ + void configure(const ITensor *input, ITensor *output); + /** Static function to check if given info will lead to a valid configuration of @ref NENegLayer + * + * @param[in] input First tensor input info. Data types supported: F16/F32/S32. + * @param[in] output Output tensor info. Data types supported: Same as @p input. + * + * @return a status + */ + static Status validate(const ITensorInfo *input, const ITensorInfo *output); +}; } // namespace arm_compute #endif /* __ARM_COMPUTE_NEELEMENTWISEUNARYLAYER_H__ */ |