This file contains the code of the partial convolution.
Definition in file vect_dsp16_convpart.c.
#include "dsp.h"
#include "preprocessor.h"
Go to the source code of this file.
Defines | |
#define | DSP16_CONVPART_KERNEL_X_FCT(x_num, data) |
#define | DSP16_SUM_ITEM(x, line) sum += pvect2[x]*pvect3[8 - x - 1]; |
#define | DSP16_SUM_ITEM_INIT(x, line) sum += *pvect2++**--pvect3; |
Functions | |
void | dsp16_vect_convpart (dsp16_t *vect1, dsp16_t *vect2, int vect2_size, dsp16_t *vect3, int vect3_size) |
16-bit fixed point version of the Partial Convolution. |
#define DSP16_CONVPART_KERNEL_X_FCT | ( | x_num, | |||
data | ) |
Value:
static void TPASTE2(dsp16_vect_convpart_kernel_x, x_num)(dsp16_t *vect1, dsp16_t *vect2, int vect1_size, dsp16_t *vect3, int vect3_size) \ { \ int i, j; \ dsp32_t sum; \ dsp16_t *pvect3, *pvect2; \ \ for(j=0; j<vect1_size; j++) \ { \ sum = 0; \ pvect3 = &vect3[vect3_size]; \ pvect2 = &vect2[j]; \ \ MREPEAT(x_num, DSP16_SUM_ITEM_INIT, ) \ \ for(i=x_num; i<vect3_size; i += 8) \ { \ pvect3 -= 8; \ MREPEAT8(DSP16_SUM_ITEM, ) \ pvect2 += 8; \ } \ \ vect1[j] = sum >> DSP16_QB; \ } \ }
Definition at line 58 of file vect_dsp16_convpart.c.
#define DSP16_SUM_ITEM | ( | x, | |||
line | ) | sum += pvect2[x]*pvect3[8 - x - 1]; |
Definition at line 54 of file vect_dsp16_convpart.c.
#define DSP16_SUM_ITEM_INIT | ( | x, | |||
line | ) | sum += *pvect2++**--pvect3; |
Definition at line 56 of file vect_dsp16_convpart.c.