Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

gr_fir_scc_simd Class Reference

#include <gr_fir_scc_simd.h>

Inheritance diagram for gr_fir_scc_simd:

Inheritance graph
[legend]
Collaboration diagram for gr_fir_scc_simd:

Collaboration graph
[legend]
List of all members.

Detailed Description

common base class for SIMD versions of gr_fir_scc

This base class handles alignment issues common to SSE and 3DNOW subclasses.


Public Member Functions

 gr_fir_scc_simd ()
 gr_fir_scc_simd (const std::vector< gr_complex > &taps)
 ~gr_fir_scc_simd ()
virtual void set_taps (const std::vector< gr_complex > &taps)
 install new_taps as the current taps.
virtual gr_complex filter (const short input[])
 compute a single output value.

Protected Types

typedef void(* complex_dotprod_t )(const short *input, const float *taps, unsigned n_2_complex_blocks, float *result)

Protected Attributes

float * d_aligned_taps [4]
complex_dotprod_t d_complex_dotprod


Member Typedef Documentation

typedef void(* gr_fir_scc_simd::complex_dotprod_t)(const short *input, const float *taps, unsigned n_2_complex_blocks, float *result) [protected]
 


Constructor & Destructor Documentation

gr_fir_scc_simd::gr_fir_scc_simd  ) 
 

gr_fir_scc_simd::gr_fir_scc_simd const std::vector< gr_complex > &  taps  ) 
 

gr_fir_scc_simd::~gr_fir_scc_simd  ) 
 


Member Function Documentation

gr_complex gr_fir_scc_simd::filter const short  input[]  )  [virtual]
 

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

void gr_fir_scc_simd::set_taps const std::vector< gr_complex > &  inew_taps  )  [virtual]
 

install new_taps as the current taps.

Reimplemented from gr_fir_scc.


Member Data Documentation

float* gr_fir_scc_simd::d_aligned_taps[4] [protected]
 

aligned_taps holds 4 copies of the coefficients preshifted by 0, 1, 2, or 3 float pairs to meet all possible input data alignments. This allows us to always fetch data and taps that are 128-bit aligned.

complex_dotprod_t gr_fir_scc_simd::d_complex_dotprod [protected]
 


The documentation for this class was generated from the following files:
Generated on Sat Jul 8 17:12:35 2006 for GNU Radio 2.x by  doxygen 1.4.1