Microchip® Advanced Software Framework

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

Macros

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

#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]; \
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]
Second input signal.
Definition: dsp32_convolution/convolution_example.c:157
dsp32_t__ dsp32_t
32-bit signed fixed point type optimized for 32-bit or lower microcontrollers
Definition: dsp_types.h:201
#define DSP32_QB
number of fractional bits
Definition: dsp_types.h:167
#define DSP32_SUM_ITEM(x, line)
Definition: vect_dsp32_convpart.c:48
A_ALIGNED dsp16_t vect2[SIZE]
The input signal resulting from a multiplication between a cosine and a sine.
Definition: dsp16_complex_fft/complex_fft_example.c:92
A_ALIGNED dsp16_complex_t vect1[SIZE]
The output buffer.
Definition: dsp16_complex_fft/complex_fft_example.c:89
int j
Definition: jquant1.c:193
#define MREPEAT8(macro, data)
Definition: mrepeat.h:77
#define TPASTE2(a, b)
Definition: tpaste.h:61
#define DSP32_SUM_ITEM_INIT(x, line)
Definition: vect_dsp32_convpart.c:50
MREPEAT(AVR32_INTC_NUM_INT_GRPS, DECL_INT_LINE_HANDLER_TABLE,~)
for(i=0;i< DCTSIZE2;i++)
Definition: jcmarker.c:156
#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);