ESP-IDF Firmware
Firmware architecture and call graph
Loading...
Searching...
No Matches
dsps_mul_s16_ansi.c File Reference
#include "dsps_mul.h"
Include dependency graph for dsps_mul_s16_ansi.c:

Go to the source code of this file.

Functions

esp_err_t dsps_mul_s16_ansi (const int16_t *input1, const int16_t *input2, int16_t *output, int len, int step1, int step2, int step_out, int shift)
 Multiply two arrays.

Function Documentation

◆ dsps_mul_s16_ansi()

esp_err_t dsps_mul_s16_ansi ( const int16_t * input1,
const int16_t * input2,
int16_t * output,
int len,
int step1,
int step2,
int step_out,
int shift )

Multiply two arrays.

The function multiply one input array to another and store result to other array out[i*step_out] = input1[i*step1] * input2[i*step2]; i=[0..len) The implementation use ANSI C and could be compiled and run on any platform

Parameters
[in]input1input array 1
[in]input2input array 2
outputoutput array
lenamount of operations for arrays
step1step over input array 1 (by default should be 1)
step2step over input array 2 (by default should be 1)
step_outstep over output array (by default should be 1)
shiftoutput shift after multiplication (by default should be 15)
Returns
  • ESP_OK on success
  • One of the error codes from DSP library

Definition at line 17 of file dsps_mul_s16_ansi.c.

18{
19 if (NULL == input1) {
21 }
22 if (NULL == input2) {
24 }
25 if (NULL == output) {
27 }
28
29 for (int i = 0 ; i < len ; i++) {
30 int ttt = (int)input1[i * step1] * (int)input2[i * step2];
31 output[i * step_out] = ttt >> shift;
32 }
33 return ESP_OK;
34}
#define ESP_ERR_DSP_PARAM_OUTOFRANGE
#define ESP_OK
Definition esp_err.h:23

References ESP_ERR_DSP_PARAM_OUTOFRANGE, and ESP_OK.

Referenced by microphone_read_task(), and microphone_read_task().

Here is the caller graph for this function: