diff dsp/rateconversion/Resampler.cpp @ 505:930b5b0f707d

Merge branch 'codestyle-and-tidy'
author Chris Cannam <cannam@all-day-breakfast.com>
date Wed, 05 Jun 2019 12:55:15 +0100
parents 8b92623e81c9
children
line wrap: on
line diff
--- a/dsp/rateconversion/Resampler.cpp	Thu May 30 16:18:13 2019 +0100
+++ b/dsp/rateconversion/Resampler.cpp	Wed Jun 05 12:55:15 2019 +0100
@@ -17,6 +17,7 @@
 #include "maths/MathUtilities.h"
 #include "base/KaiserWindow.h"
 #include "base/SincWindow.h"
+#include "base/Restrict.h"
 
 #include <iostream>
 #include <vector>
@@ -70,10 +71,10 @@
     }
 
     KaiserWindow::Parameters params =
-	KaiserWindow::parametersForBandwidth(snr, bandwidth, higher / m_gcd);
+        KaiserWindow::parametersForBandwidth(snr, bandwidth, higher / m_gcd);
 
     params.length =
-	(params.length % 2 == 0 ? params.length + 1 : params.length);
+        (params.length % 2 == 0 ? params.length + 1 : params.length);
     
     params.length =
         (params.length > 200001 ? 200001 : params.length);
@@ -174,23 +175,23 @@
 
     for (int phase = 0; phase < inputSpacing; ++phase) {
 
-	Phase p;
+        Phase p;
 
-	p.nextPhase = phase - outputSpacing;
-	while (p.nextPhase < 0) p.nextPhase += inputSpacing;
-	p.nextPhase %= inputSpacing;
-	
-	p.drop = int(ceil(std::max(0.0, double(outputSpacing - phase))
-			  / inputSpacing));
+        p.nextPhase = phase - outputSpacing;
+        while (p.nextPhase < 0) p.nextPhase += inputSpacing;
+        p.nextPhase %= inputSpacing;
+        
+        p.drop = int(ceil(std::max(0.0, double(outputSpacing - phase))
+                          / inputSpacing));
 
-	int filtZipLength = int(ceil(double(m_filterLength - phase)
-				     / inputSpacing));
+        int filtZipLength = int(ceil(double(m_filterLength - phase)
+                                     / inputSpacing));
 
-	for (int i = 0; i < filtZipLength; ++i) {
-	    p.filter.push_back(filter[i * inputSpacing + phase]);
-	}
+        for (int i = 0; i < filtZipLength; ++i) {
+            p.filter.push_back(filter[i * inputSpacing + phase]);
+        }
 
-	m_phaseData[phase] = p;
+        m_phaseData[phase] = p;
     }
 
 #ifdef DEBUG_RESAMPLER
@@ -268,7 +269,7 @@
 
 #ifdef DEBUG_RESAMPLER
     cerr << "initial phase " << m_phase << " (as " << (m_filterLength/2) << " % " << inputSpacing << ")"
-	      << ", latency " << m_latency << endl;
+              << ", latency " << m_latency << endl;
 #endif
 }
 
@@ -285,20 +286,12 @@
         throw std::logic_error("n + m_bufferOrigin > m_buffer.size()");
     }
 
-#if defined(__MSVC__)
-#define R__ __restrict
-#elif defined(__GNUC__)
-#define R__ __restrict__
-#else
-#define R__
-#endif
-
-    const double *const R__ buf(m_buffer.data() + m_bufferOrigin);
-    const double *const R__ filt(pd.filter.data());
+    const double *const QM_R__ buf(m_buffer.data() + m_bufferOrigin);
+    const double *const QM_R__ filt(pd.filter.data());
 
     for (int i = 0; i < n; ++i) {
-	// NB gcc can only vectorize this with -ffast-math
-	v += buf[i] * filt[i];
+        // NB gcc can only vectorize this with -ffast-math
+        v += buf[i] * filt[i];
     }
 
     m_bufferOrigin += pd.drop;
@@ -321,9 +314,9 @@
     double scaleFactor = (double(m_targetRate) / m_gcd) / m_peakToPole;
 
     while (outidx < maxout &&
-	   m_buffer.size() >= m_phaseData[m_phase].filter.size() + m_bufferOrigin) {
-	dst[outidx] = scaleFactor * reconstructOne();
-	outidx++;
+           m_buffer.size() >= m_phaseData[m_phase].filter.size() + m_bufferOrigin) {
+        dst[outidx] = scaleFactor * reconstructOne();
+        outidx++;
     }
 
     if (m_bufferOrigin > (int)m_buffer.size()) {
@@ -392,7 +385,7 @@
     int printN = 50;
     cerr << "first " << printN << " in:" << endl;
     for (int i = 0; i < printN && i < n; ++i) {
-	if (i % 5 == 0) cerr << endl << i << "... ";
+        if (i % 5 == 0) cerr << endl << i << "... ";
         cerr << data[i] << " ";
     }
     cerr << endl;
@@ -402,13 +395,13 @@
     if (toReturn > m) toReturn = m;
 
     vector<double> sliced(out.begin() + latency, 
-			  out.begin() + latency + toReturn);
+                          out.begin() + latency + toReturn);
 
 #ifdef DEBUG_RESAMPLER_VERBOSE
     cerr << "first " << printN << " out (after latency compensation), length " << sliced.size() << ":";
     for (int i = 0; i < printN && i < sliced.size(); ++i) {
-	if (i % 5 == 0) cerr << endl << i << "... ";
-	cerr << sliced[i] << " ";
+        if (i % 5 == 0) cerr << endl << i << "... ";
+        cerr << sliced[i] << " ";
     }
     cerr << endl;
 #endif