168#if CONFIG_DSP_OPTIMIZED
171#if (dspm_mult_s16_aes3_enabled == 1)
172#define dspm_mult_s16 dspm_mult_s16_aes3
173#elif (dspm_mult_s16_ae32_enabled == 1)
174#define dspm_mult_s16 dspm_mult_s16_ae32
175#elif (dspm_mult_s16_arp4_enabled == 1)
176#define dspm_mult_s16 dspm_mult_s16_arp4
178#define dspm_mult_s16 dspm_mult_s16_ansi
181#if (dspm_mult_f32_aes3_enabled == 1)
182#define dspm_mult_f32 dspm_mult_f32_aes3
183#define dspm_mult_ex_f32 dspm_mult_ex_f32_aes3
184#elif (dspm_mult_f32_ae32_enabled == 1)
185#define dspm_mult_f32 dspm_mult_f32_ae32
186#define dspm_mult_ex_f32 dspm_mult_ex_f32_ae32
187#elif (dspm_mult_f32_arp4_enabled == 1)
188#define dspm_mult_f32 dspm_mult_f32_arp4
189#define dspm_mult_ex_f32 dspm_mult_ex_f32_arp4
191#define dspm_mult_f32 dspm_mult_f32_ansi
192#define dspm_mult_ex_f32 dspm_mult_ex_f32_ansi
195#if (dspm_mult_3x3x1_f32_ae32_enabled == 1)
196#define dspm_mult_3x3x1_f32 dspm_mult_3x3x1_f32_ae32
198#define dspm_mult_3x3x1_f32(A,B,C) dspm_mult_f32(A,B,C, 3, 3, 1)
200#if (dspm_mult_3x3x3_f32_ae32_enabled == 1)
201#define dspm_mult_3x3x3_f32(A,B,C) dspm_mult_3x3x3_f32_ae32(A,B,C)
203#define dspm_mult_3x3x3_f32(A,B,C) dspm_mult_f32(A,B,C,3,3,3);
205#if (dspm_mult_4x4x1_f32_ae32_enabled == 1)
206#define dspm_mult_4x4x1_f32(A,B,C) dspm_mult_4x4x1_f32_ae32(A,B,C)
208#define dspm_mult_4x4x1_f32(A,B,C) dspm_mult_f32(A,B,C, 4, 4, 1)
211#if (dspm_mult_f32_aes3_enabled == 1)
212#define dspm_mult_4x4x4_f32(A,B,C) dspm_mult_f32_aes3(A,B,C, 4, 4, 4)
213#elif (dspm_mult_4x4x4_f32_ae32_enabled == 1)
214#define dspm_mult_4x4x4_f32 dspm_mult_4x4x4_f32_ae32
216#define dspm_mult_4x4x4_f32(A,B,C) dspm_mult_f32(A,B,C, 4, 4, 4)
220#define dspm_mult_s16 dspm_mult_s16_ansi
221#define dspm_mult_f32 dspm_mult_f32_ansi
222#define dspm_mult_3x3x1_f32(A,B,C) dspm_mult_f32(A,B,C, 3, 3, 1)
223#define dsps_sub_f32 dsps_sub_f32_ansi
224#define dsps_add_f32 dsps_add_f32_ansi
225#define dspm_mult_4x4x4_f32(A,B,C) dspm_mult_f32(A,B,C, 4, 4, 4)
226#define dspm_mult_ex_f32 dspm_mult_ex_f32_ansi
227#define dspm_mult_3x3x3_f32(A,B,C) dspm_mult_f32(A,B,C,3,3,3);
228#define dspm_mult_4x4x1_f32(A,B,C) dspm_mult_f32(A,B,C, 4, 4, 1)
esp_err_t dspm_mult_3x3x3_f32_ae32(const float *A, const float *B, float *C)
Matrix multiplication A[3x3]xB[3x3].
esp_err_t dspm_mult_s16_arp4(const int16_t *A, const int16_t *B, int16_t *C, int m, int n, int k, int shift)
esp_err_t dspm_mult_f32_aes3(const float *A, const float *B, float *C, int m, int n, int k)
esp_err_t dspm_mult_4x4x4_f32_ae32(const float *A, const float *B, float *C)
Matrix multiplication A[4x4]xB[4x4].
esp_err_t dspm_mult_s16_ansi(const int16_t *A, const int16_t *B, int16_t *C, int m, int n, int k, int shift)
Matrix multiplication 16 bit signeg int.
esp_err_t dspm_mult_ex_f32_ae32(const float *A, const float *B, float *C, int m, int n, int k, int A_padd, int B_padd, int C_padd)
esp_err_t dspm_mult_f32_arp4(const float *A, const float *B, float *C, int m, int n, int k)
esp_err_t dspm_mult_3x3x1_f32_ae32(const float *A, const float *B, float *C)
Matrix multiplication A[3x3]xB[3x1].
esp_err_t dspm_mult_s16_aes3(const int16_t *A, const int16_t *B, int16_t *C, int m, int n, int k, int shift)
esp_err_t dspm_mult_f32_ae32(const float *A, const float *B, float *C, int m, int n, int k)
esp_err_t dspm_mult_ex_f32_ansi(const float *A, const float *B, float *C, int m, int n, int k, int A_padd, int B_padd, int C_padd)
Matrix subset multiplication.
esp_err_t dspm_mult_4x4x1_f32_ae32(const float *A, const float *B, float *C)
Matrix multiplication A[4x4]xB[4x1].
esp_err_t dspm_mult_f32_ansi(const float *A, const float *B, float *C, int m, int n, int k)
Matrix multiplication.
esp_err_t dspm_mult_s16_ae32(const int16_t *A, const int16_t *B, int16_t *C, int m, int n, int k, int shift)
esp_err_t dspm_mult_ex_f32_arp4(const float *A, const float *B, float *C, int m, int n, int k, int A_padd, int B_padd, int C_padd)
esp_err_t dspm_mult_ex_f32_aes3(const float *A, const float *B, float *C, int m, int n, int k, int A_padd, int B_padd, int C_padd)