@@ -101,38 +101,25 @@ public static Spectrum Log(Memory<double> input, double sampleRateHz, double fre
101101 // This ensures consistency of X-coordinate over various view widths.
102102 double decadeMin = RoundToDecade ( freqMin , RoundingMode . Down ) ;
103103 double decadeMax = RoundToDecade ( freqMax , RoundingMode . Up ) ;
104- double decades = Math . Log10 ( decadeMax / decadeMin ) ;
105- int desiredNumberOfPoints = ( int ) ( decades * pointsPerDecade ) + 1 ; // + 1 to get points on the decade grid lines
106-
107104 int decadeMinExponent = ( int ) Math . Log10 ( decadeMin ) ;
108105 int decadeMaxExponent = ( int ) Math . Log10 ( decadeMax ) ;
109- List < double > meh = [ ] ;
106+
107+ List < double > frequencyList = [ ] ;
110108 int pointsPerDecadeScaled = pointsPerDecade ;
111109 for ( int decadeExponent = decadeMinExponent ; decadeExponent < decadeMaxExponent ; decadeExponent ++ )
112110 {
113111 double currentDecadeMin = Math . Pow ( 10 , decadeExponent ) ;
114112 double currentDecadeMax = Math . Pow ( 10 , decadeExponent + 1 ) ;
115113 double multiple = Math . Log ( currentDecadeMax ) - Math . Log ( currentDecadeMin ) ;
116114 var decadeFrequencies = Enumerable . Range ( 0 , pointsPerDecadeScaled - 1 ) . Select ( i => currentDecadeMin * Math . Exp ( i * multiple / ( pointsPerDecadeScaled - 1 ) ) ) . ToArray ( ) ;
117- meh . AddRange ( decadeFrequencies ) ;
115+ frequencyList . AddRange ( decadeFrequencies ) ;
118116 pointsPerDecadeScaled = ( int ) ( pointsPerDecadeScaled * pointsPerDecadeScaling ) ;
119117 }
120118
121119 double g = Math . Log ( decadeMax ) - Math . Log ( decadeMin ) ;
122- //double[] frequencies = Enumerable.Range(0, desiredNumberOfPoints).Select(j => decadeMin * Math.Exp(j * g / (desiredNumberOfPoints - 1))).ToArray();
123- double [ ] frequencies = meh . ToArray ( ) ;
120+ double [ ] frequencies = frequencyList . ToArray ( ) ;
124121 double [ ] spectrumResolution = frequencies . Select ( freq => freq / firstUsableBinForWindow ) . ToArray ( ) ;
125122 // spectrumResolution contains the 'desired resolutions' for each frequency bin, respecting the rule that we want the first usuable bin for the given window.
126-
127- // Maybe we also want to scale the spectrum resolution by integer log values?
128- List < int > scalingValues = new List < int > ( ) ;
129- for ( int i = 0 ; i < desiredNumberOfPoints ; i ++ )
130- {
131- var scale = ( int ) Math . Exp ( i * ( g / 4.0 ) / ( desiredNumberOfPoints - 1 ) ) ;
132- scalingValues . Add ( scale ) ;
133- //spectrumResolution[i] /= scale;
134- }
135-
136123 int [ ] spectrumLengths = spectrumResolution . Select ( resolution => ( int ) Math . Round ( sampleRateHz / resolution ) ) . ToArray ( ) ;
137124
138125 // Create a job list of valid points to calculate
@@ -168,7 +155,6 @@ public static Spectrum Log(Memory<double> input, double sampleRateHz, double fre
168155 continueLoop = false ;
169156 break ;
170157 }
171-
172158 }
173159 else
174160 {
0 commit comments