Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

static void Impala::Core::Array::FilterCoef ( int  mm,
int  nn,
complex *  pp,
int  start,
int  stop,
complex  tmp,
complex *  bb 
) [inline, static]

Definition at line 205 of file MakeGaussIIR1d.h.

References AddComplexNumbers(), Impala::Core::Array::complex::im, MulComplexNumbers(), and Impala::Core::Array::complex::re.

Referenced by MakeGaussIIR1d().

00207 {
00208    int      ii;
00209    complex tmp2;
00210 
00211    /*
00212     * Initialize temporary product to 1.
00213     * Initialize result to 0.
00214     */
00215    if ((start == mm) && (stop == nn))
00216    {
00217       tmp.re  = 1.0;
00218       tmp.im  = 0.0;
00219       bb[nn - mm].re = 0.0;
00220       bb[nn - mm].im = 0.0;
00221    }
00222 
00223    if (start > 1)
00224    {
00225       for (ii = start; ii <= stop; ii++)
00226       {
00227          MulComplexNumbers( &tmp, &pp[ii], &tmp2 );
00228          FilterCoef( mm, nn, pp, start-1, ii-1, tmp2, bb );
00229       }
00230    }
00231    else if (start == 1)
00232    {
00233       for (ii = start; ii <= stop; ii++)
00234       {
00235          MulComplexNumbers( &tmp, &pp[ii], &tmp2 );
00236          AddComplexNumbers( &tmp2, &bb[nn - mm], &bb[nn - mm] );
00237       }
00238    }
00239    else if ((start == 0) && (mm == 0))
00240    {
00241       bb[nn - mm].re = 1.0;
00242       bb[nn - mm].im = 0.0;
00243    }
00244 
00245     return;
00246 }

Here is the call graph for this function:


Generated on Fri Mar 19 10:57:40 2010 for ImpalaSrc by  doxygen 1.5.1