Пример #1
0
 /// <summary></summary>
 private void Butterfly(Sample *ps, Sample *pu, Sample *oj, Sample *ok)
 {
     _smpT->Real = pu->Real * ok->Real - pu->Imag * ok->Imag;
     _smpT->Imag = pu->Imag * ok->Real + pu->Real * ok->Imag;
     ok->Real    = oj->Real - _smpT->Real;
     oj->Real   += _smpT->Real;
     ok->Imag    = oj->Imag - _smpT->Imag;
     oj->Imag   += _smpT->Imag;
     _dTemp      = ps->Real * pu->Real + ps->Imag * pu->Imag;
     pu->Imag   += ps->Imag * pu->Real - ps->Real * pu->Imag;
     pu->Real   -= _dTemp;
 }
Пример #2
0
 public Fourier()
 {
     _smpS = Alloc(sizeof(Sample));
     _smpT = Alloc(sizeof(Sample));
     _smpU = Alloc(sizeof(Sample));
     // set defaults
     _bUnknownSize = true;
     _smpValues    = new Sample[0];
     _dPi          = 4 * Math.Atan(1);
     _dTwoPi       = _dPi + _dPi;
     _bProcess     = true;
 }
Пример #3
0
 /// <summary></summary>
 private void Free(Sample *pmem)
 {
     HeapFree(GetProcessHeap(), 0, pmem);
 }
Пример #4
0
 private static extern bool HeapFree(IntPtr hHeap, uint dwFlags, Sample *lpMem);