![]() |
CMSIS-NN
Version 1.2.0
CMSIS NN Software Library
|
Data Structures | |
| union | arm_nnword |
| Union for SIMD access of Q31/Q15/Q7 types. More... | |
Macros | |
| #define | LEFT_SHIFT(_shift) |
| #define | RIGHT_SHIFT(_shift) |
| #define | Q31_MIN |
| #define | Q31_MAX |
| #define | NN_ROUND(out_shift) |
| macro for adding rounding offset More... | |
Enumerations | |
| enum | arm_nn_activation_type |
| Struct for specifying activation function types. More... | |
Functions | |
| void | arm_q7_to_q15_no_shift (const q7_t *pSrc, q15_t *pDst, uint32_t blockSize) |
| Converts the elements of the Q7 vector to Q15 vector without left-shift. More... | |
| void | arm_q7_to_q15_reordered_no_shift (const q7_t *pSrc, q15_t *pDst, uint32_t blockSize) |
| Converts the elements of the Q7 vector to reordered Q15 vector without left-shift. More... | |
| void | arm_nn_mult_q15 (q15_t *pSrcA, q15_t *pSrcB, q15_t *pDst, const uint16_t out_shift, uint32_t blockSize) |
| Q7 vector multiplication with variable output shifts. More... | |
| void | arm_nn_mult_q7 (q7_t *pSrcA, q7_t *pSrcB, q7_t *pDst, const uint16_t out_shift, uint32_t blockSize) |
| Q7 vector multiplication with variable output shifts. More... | |
| __STATIC_FORCEINLINE q31_t | arm_nn_sat_doubling_high_mult (const q31_t m1, const q31_t m2) |
| Saturating doubling high multiply. Result matches NEON instruction VQRDMULH. More... | |
| __STATIC_FORCEINLINE q31_t | arm_nn_divide_by_power_of_two (const q31_t dividend, const q31_t exponent) |
| Rounding divide by power of two. More... | |
| #define LEFT_SHIFT | ( | _shift | ) |
Referenced by arm_depthwise_conv_u8_basic_ver1().
| #define NN_ROUND | ( | out_shift | ) |
Referenced by arm_convolve_1x1_HWC_q7_fast_nonsquare(), arm_convolve_HWC_q15_basic(), arm_convolve_HWC_q15_fast(), arm_convolve_HWC_q15_fast_nonsquare(), arm_convolve_HWC_q7_basic(), arm_convolve_HWC_q7_basic_nonsquare(), arm_convolve_HWC_q7_fast(), arm_convolve_HWC_q7_fast_nonsquare(), arm_convolve_HWC_q7_RGB(), arm_depthwise_separable_conv_HWC_q7(), arm_depthwise_separable_conv_HWC_q7_nonsquare(), arm_fully_connected_mat_q7_vec_q15(), arm_fully_connected_mat_q7_vec_q15_opt(), arm_fully_connected_q15(), arm_fully_connected_q15_opt(), arm_fully_connected_q7(), arm_fully_connected_q7_opt(), arm_nn_mat_mult_kernel_q7_q15(), arm_nn_mat_mult_kernel_q7_q15_reordered(), arm_nn_mult_q15(), and arm_nn_mult_q7().
| #define Q31_MAX |
Referenced by arm_nn_sat_doubling_high_mult().
| #define Q31_MIN |
Referenced by arm_nn_sat_doubling_high_mult().
| #define RIGHT_SHIFT | ( | _shift | ) |
Referenced by arm_depthwise_conv_u8_basic_ver1().
| __STATIC_FORCEINLINE q31_t arm_nn_divide_by_power_of_two | ( | const q31_t | dividend, |
| const q31_t | exponent | ||
| ) |
| [in] | dividend | - Dividend |
| [in] | exponent | - Divisor = power(2, exponent) Range: [0, 31] |
Referenced by arm_depthwise_conv_u8_basic_ver1().
| __STATIC_FORCEINLINE q31_t arm_nn_sat_doubling_high_mult | ( | const q31_t | m1, |
| const q31_t | m2 | ||
| ) |
| [in] | m1 | Multiplicand |
| [in] | m2 | Multiplier |
References Q31_MAX, and Q31_MIN.
Referenced by arm_depthwise_conv_u8_basic_ver1().