Atmel Software Framework

vect_dsp32_convpart.c File Reference
#include "dsp.h"
#include "preprocessor.h"


#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);


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. More...

#define DSP32_CONVPART_KERNEL_X_FCT (   x_num,
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]; \
for(i=x_num; i<vect3_size; i += 8) \
{ \
pvect3 -= 8; \
pvect2 += 8; \
} \
vect1[j] = sum >> DSP32_QB; \
} \
int i
Definition: jcmarker.c:150
A_ALIGNED dsp32_t vect3[VECT3_SIZE]
Definition: examples/dsp32_vectors/vectors_example.c:112
A_ALIGNED dsp16_complex_t vect1[SIZE]
The output buffer.
Definition: examples/dsp16_complex_fft/complex_fft_example.c:96
dsp32_t__ dsp32_t
32-bit signed fixed point type optimized for 32-bit or lower microcontrollers
Definition: dsp_types.h:208
#define DSP32_QB
number of fractional bits
Definition: dsp_types.h:174
#define DSP32_SUM_ITEM(x, line)
Definition: vect_dsp32_convpart.c:55
A_ALIGNED dsp16_t vect2[SIZE]
The input signal resulting from a multiplication between a cosine and a sine.
Definition: examples/dsp16_complex_fft/complex_fft_example.c:99
int j
Definition: jquant1.c:193
#define MREPEAT8(macro, data)
Definition: mrepeat.h:84
#define TPASTE2(a, b)
Definition: tpaste.h:68
#define DSP32_SUM_ITEM_INIT(x, line)
Definition: vect_dsp32_convpart.c:57
for(i=0;i< DCTSIZE2;i++)
Definition: jcmarker.c:156
#define DSP32_SUM_ITEM (   x,
)    sum += ((long long) pvect2[x])*((long long) pvect3[8 - x - 1]);
#define DSP32_SUM_ITEM_INIT (   x,
)    sum += ((long long) *pvect2++)*((long long) *--pvect3);