CMSIS-NN: arm_nn_mat_mult_kernel_s8_s16_reordered.c File Reference

| CMSIS-NN Version 1.3.0 CMSIS NN Software Library

- Main Page
- Usage and Description
- Reference

All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Macros Groups Pages
Functions
arm_nn_mat_mult_kernel_s8_s16_reordered.c File Reference

## Functions

q7_t * | arm_nn_mat_mult_kernel_s8_s16_reordered (const q7_t *input_a, const q15_t *input_b, const uint16_t output_ch, const int32_t *out_shift, const int32_t *out_mult, const int32_t out_offset, const int16_t activation_min, const int16_t activation_max, const uint16_t num_col_a, const int32_t *const output_bias, q7_t *out_0)
| Matrix-multiplication of re-ordered input B with A. More...

## Function Documentation

q7_t* arm_nn_mat_mult_kernel_s8_s16_reordered | ( | const q7_t * | input_a,
|  | const q15_t * | input_b,
|  | const uint16_t | output_ch,
|  | const int32_t * | out_shift,
|  | const int32_t * | out_mult,
|  | const int32_t | out_offset,
|  | const int16_t | activation_min,
|  | const int16_t | activation_max,
|  | const uint16_t | num_col_a,
|  | const int32_t *const | output_bias,
|  | q7_t * | out_0
| ) |  |

For arguments, refer arm_nn_mat_mult_kernel_s8_s16. The re-ordering is a consequence of sign extension done by the SXTB16 command on input_b. The outputs are clamped in the range provided by activation min and max.

- Supported framework : TensorFlow Lite Micro
- The following constrains on the arguments apply
  1. num_col_a is a multiple of 4
  2. output_ch is a multiple of 2

References arm_nn_read_q15x2_ia(), arm_nn_requantize(), MAX, and MIN.