ONE - On-device Neural Engine
Loading...
Searching...
No Matches
PALMul.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Samsung Electronics Co., Ltd. All Rights Reserved
3 * Copyright 2017 The TensorFlow Authors. All Rights Reserved.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef ONERT_MICRO_EXECUTE_PAL_MUL_H
19#define ONERT_MICRO_EXECUTE_PAL_MUL_H
20
21#include "PALMulCommon.h"
22#include "PALUtils.h"
23
24#include "arm_nnfunctions.h"
25
26namespace onert_micro
27{
28namespace execute
29{
30namespace pal
31{
32
33OMStatus Mul(const core::ArithmeticQuantParams &params, const uint32_t flat_size,
34 const int8_t *input1_data, const int8_t *input2_data, int8_t *output_data)
35{
36 auto status = arm_elementwise_mul_s8(
37 input1_data, input2_data, params.input1_offset, params.input2_offset, output_data,
38 params.output_offset, params.output_multiplier, params.output_shift,
39 params.quantized_activation_min, params.quantized_activation_max, flat_size);
40 assert(status == ARM_CMSIS_NN_SUCCESS);
41
42 if (status != ARM_CMSIS_NN_SUCCESS)
43 return UnknownError;
44
45 return Ok;
46}
47
48} // namespace pal
49} // namespace execute
50} // namespace onert_micro
51
52#endif // ONERT_MICRO_EXECUTE_PAL_ADD_H
OMStatus Mul(const core::ArithmeticQuantParams &params, const uint32_t flat_size, const int8_t *input1_data, const int8_t *input2_data, int8_t *output_data)
Definition PALMul.h:33