This file contains the code of the partial convolution.
Definition in file vect_dsp32_convpart.c.
#include "dsp.h"
#include "preprocessor.h"
Go to the source code of this file.
Defines | |
#define | DSP32_CONVPART_KERNEL_X_FCT(x_num, data) |
#define | DSP32_SUM_ITEM(x, line) sum += ((long long) pvect2[x])*((long long) pvect3[8 - x - 1]); |
#define | DSP32_SUM_ITEM_INIT(x, line) sum += ((long long) *pvect2++)*((long long) *--pvect3); |
Functions | |
void | dsp32_vect_convpart (dsp32_t *vect1, dsp32_t *vect2, int vect2_size, dsp32_t *vect3, int vect3_size) |
32-bit fixed point version of the Partial Convolution. |
#define DSP32_CONVPART_KERNEL_X_FCT | ( | x_num, | |||
data | ) |
Value:
static void TPASTE2(dsp32_vect_convpart_kernel_x, x_num)(dsp32_t *vect1, dsp32_t *vect2, int vect1_size, dsp32_t *vect3, int vect3_size) \ { \ int i, j; \ long long sum; \ dsp32_t *pvect3, *pvect2; \ \ for(j=0; j<vect1_size; j++) \ { \ sum = 0; \ pvect3 = &vect3[vect3_size]; \ pvect2 = &vect2[j]; \ \ MREPEAT(x_num, DSP32_SUM_ITEM_INIT, ) \ \ for(i=x_num; i<vect3_size; i += 8) \ { \ pvect3 -= 8; \ MREPEAT8(DSP32_SUM_ITEM, ) \ pvect2 += 8; \ } \ \ vect1[j] = sum >> DSP32_QB; \ } \ }
Definition at line 59 of file vect_dsp32_convpart.c.
#define DSP32_SUM_ITEM | ( | x, | |||
line | ) | sum += ((long long) pvect2[x])*((long long) pvect3[8 - x - 1]); |
Definition at line 55 of file vect_dsp32_convpart.c.
#define DSP32_SUM_ITEM_INIT | ( | x, | |||
line | ) | sum += ((long long) *pvect2++)*((long long) *--pvect3); |
Definition at line 57 of file vect_dsp32_convpart.c.