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
26
namespace
onert_micro
27
{
28
namespace
execute
29
{
30
namespace
pal
31
{
32
33
OMStatus
Mul
(
const
core::ArithmeticQuantParams
¶ms,
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
onert_micro::execute::pal::Mul
OMStatus Mul(const core::ArithmeticQuantParams ¶ms, const uint32_t flat_size, const int8_t *input1_data, const int8_t *input2_data, int8_t *output_data)
Definition
PALMul.h:33
onert_micro
Definition
OMMemoryManager.h:26
onert_micro::OMStatus
OMStatus
Definition
OMStatus.h:24
onert_micro::UnknownError
@ UnknownError
Definition
OMStatus.h:30
onert_micro::Ok
@ Ok
Definition
OMStatus.h:25
onert_micro::core::ArithmeticQuantParams
Definition
OMKernelData.h:111
onert_micro::core::ArithmeticQuantParams::output_offset
int32_t output_offset
Definition
OMKernelData.h:121
onert_micro::core::ArithmeticQuantParams::quantized_activation_min
int32_t quantized_activation_min
Definition
OMKernelData.h:123
onert_micro::core::ArithmeticQuantParams::quantized_activation_max
int32_t quantized_activation_max
Definition
OMKernelData.h:122
onert_micro::core::ArithmeticQuantParams::output_shift
int output_shift
Definition
OMKernelData.h:120
onert_micro::core::ArithmeticQuantParams::input2_offset
int32_t input2_offset
Definition
OMKernelData.h:113
onert_micro::core::ArithmeticQuantParams::input1_offset
int32_t input1_offset
Definition
OMKernelData.h:112
onert_micro::core::ArithmeticQuantParams::output_multiplier
int32_t output_multiplier
Definition
OMKernelData.h:119
onert-micro
onert-micro
include
pal
cmsisnn
PALMul.h
Generated by
1.9.8