common base class for SIMD versions of gr_fir_cccThis base class handles alignment issues common to SSE and 3DNOW subclasses.
More...
#include <gr_fir_ccc_simd.h>
Protected Types |
typedef void(* | ccomplex_dotprod_t )(const float *input, const float *taps, unsigned n_2_ccomplex_blocks, float *result) |
Detailed Description
common base class for SIMD versions of gr_fir_ccc
This base class handles alignment issues common to SSE and 3DNOW subclasses.
Member Typedef Documentation
typedef void(* gr_fir_ccc_simd::ccomplex_dotprod_t)(const float *input, const float *taps, unsigned n_2_ccomplex_blocks, float *result) |
|
protected |
Constructor & Destructor Documentation
gr_fir_ccc_simd::gr_fir_ccc_simd |
( |
| ) |
|
gr_fir_ccc_simd::gr_fir_ccc_simd |
( |
const std::vector< gr_complex > & |
taps | ) |
|
gr_fir_ccc_simd::~gr_fir_ccc_simd |
( |
| ) |
|
Member Function Documentation
compute a single output value.
input
must have ntaps() valid entries. input[0] .. input[ntaps() - 1] are referenced to compute the output value.
- Returns
- the filtered input value.
Reimplemented from gr_fir_ccc_generic.
virtual void gr_fir_ccc_simd::set_taps |
( |
const std::vector< gr_complex > & |
taps | ) |
|
|
virtual |
install new_taps
as the current taps.
Reimplemented from gr_fir_ccc.
Member Data Documentation
float* gr_fir_ccc_simd::d_aligned_taps[4] |
|
protected |
aligned_taps
holds 4 copies of the coefficients preshifted by 0, 1, 2, or 3 floats to meet all possible input data alignments. This allows us to always fetch data and taps that are 128-bit aligned.
The documentation for this class was generated from the following file: