CMSIS-NN  Version 1.2.0
CMSIS NN Software Library
 All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Macros Groups Pages
Basic math functions

Macros

#define SAT_INPUT(__INPUT, __MULT, __SHIFT)
 

Functions

arm_status arm_elementwise_add_s8 (const int8_t *input_1_vect, const int8_t *input_2_vect, const int32_t input_1_offset, const int32_t input_1_mult, const int32_t input_1_shift, const int32_t input_2_offset, const int32_t input_2_mult, const int32_t input_2_shift, const int32_t left_shift, int8_t *output, const int32_t out_offset, const int32_t out_mult, const int32_t out_shift, const int32_t out_activation_min, const int32_t out_activation_max, const uint32_t block_size)
 s8 element wise add of two vectors More...
 
arm_status arm_elementwise_mul_s8 (const int8_t *input_1_vect, const int8_t *input_2_vect, const int32_t input_1_offset, const int32_t input_2_offset, int8_t *output, const int32_t out_offset, const int32_t out_mult, const int32_t out_shift, const int32_t out_activation_min, const int32_t out_activation_max, const uint32_t block_size)
 s8 element wise multiplication of two vectors More...
 

Description

Perform element wise add and multiplication operations.

Macro Definition Documentation

#define SAT_INPUT (   __INPUT,
  __MULT,
  __SHIFT 
)

Referenced by arm_elementwise_add_s8().

Function Documentation

arm_status arm_elementwise_add_s8 ( const int8_t *  input_1_vect,
const int8_t *  input_2_vect,
const int32_t  input_1_offset,
const int32_t  input_1_mult,
const int32_t  input_1_shift,
const int32_t  input_2_offset,
const int32_t  input_2_mult,
const int32_t  input_2_shift,
const int32_t  left_shift,
int8_t *  output,
const int32_t  out_offset,
const int32_t  out_mult,
const int32_t  out_shift,
const int32_t  out_activation_min,
const int32_t  out_activation_max,
const uint32_t  block_size 
)
Parameters
[in]input_1_vectpointer to input vector 1
[in]input_2_vectpointer to input vector 2
[in]input_1_offsetoffset for input 1. Range: int8
[in]input_1_multmultiplier for input 1
[in]input_1_shiftshift for input 1
[in]input_2_offsetoffset for input 2. Range: int8
[in]input_2_multmultiplier for input 2
[in]input_2_shiftshift for input 2
[in]left_shiftinput left shift
[in,out]outputpointer to output vector
[in]out_offsetoutput offset
[in]out_multoutput multiplier
[in]out_shiftoutput shift
[in]out_activation_minminimum value to clamp output to
[in]out_activation_maxmaximum value to clamp output to
[in]block_sizenumber of samples
Returns
The function returns ARM_MATH_SUCCESS

References arm_nn_divide_by_power_of_two(), arm_nn_sat_doubling_high_mult(), MAX, MIN, and SAT_INPUT.

arm_status arm_elementwise_mul_s8 ( const int8_t *  input_1_vect,
const int8_t *  input_2_vect,
const int32_t  input_1_offset,
const int32_t  input_2_offset,
int8_t *  output,
const int32_t  out_offset,
const int32_t  out_mult,
const int32_t  out_shift,
const int32_t  out_activation_min,
const int32_t  out_activation_max,
const uint32_t  block_size 
)

s8 element wise multiplication

Note
Refer header file for details.

References arm_nn_divide_by_power_of_two(), arm_nn_sat_doubling_high_mult(), MAX, and MIN.