Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetWaveComponent()

Complex System.Threading.PortableThreadPool.HillClimbing.GetWaveComponent ( double[] samples,
int numSamples,
double period )
inlineprivate

Definition at line 634 of file PortableThreadPool.cs.

635 {
636 double num = Math.PI * 2.0 / period;
637 double num2 = Math.Cos(num);
638 double num3 = 2.0 * num2;
639 double num4 = 0.0;
640 double num5 = 0.0;
641 double num6 = 0.0;
642 for (int i = 0; i < numSamples; i++)
643 {
644 num4 = num3 * num5 - num6 + samples[(_totalSamples - numSamples + i) % _samplesToMeasure];
645 num6 = num5;
646 num5 = num4;
647 }
648 return new Complex(num5 - num6 * num2, num6 * Math.Sin(num)) / numSamples;
649 }

References System.Threading.PortableThreadPool.HillClimbing._samplesToMeasure, System.Threading.PortableThreadPool.HillClimbing._totalSamples, System.Math.Cos(), and System.Math.Sin().