changeset 183:0d81daeca8d6

Replace asserts with logic_errors
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 24 Sep 2015 16:35:33 +0100
parents 2420733abeb6
children 5977a0f363d9
files Makefile.linux src/dsp/Resampler.cpp
diffstat 2 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.linux	Fri Jul 17 15:49:42 2015 +0100
+++ b/Makefile.linux	Thu Sep 24 16:35:33 2015 +0100
@@ -1,5 +1,6 @@
 
 CFLAGS := -Wall -O3 -ffast-math -msse -msse2 -mfpmath=sse -fPIC -I../vamp-plugin-sdk/
+
 #CFLAGS := -g -fPIC -I../vamp-plugin-sdk
 
 CXXFLAGS := $(CFLAGS) -std=c++11
--- a/src/dsp/Resampler.cpp	Fri Jul 17 15:49:42 2015 +0100
+++ b/src/dsp/Resampler.cpp	Thu Sep 24 16:35:33 2015 +0100
@@ -52,6 +52,9 @@
     m_sourceRate(sourceRate),
     m_targetRate(targetRate)
 {
+#ifdef DEBUG_RESAMPLER
+    cerr << "Resampler::Resampler(" <<  sourceRate << "," << targetRate << ")" << endl;
+#endif
     initialise(100, 0.02);
 }
 
@@ -292,7 +295,11 @@
     double v = 0.0;
     int n = pd.filter.size();
 
-    assert(n + m_bufferOrigin <= (int)m_buffer.size());
+    if (n + m_bufferOrigin > (int)m_buffer.size()) {
+        cerr << "ERROR: n + m_bufferOrigin > m_buffer.size() [" << n << " + "
+             << m_bufferOrigin << " > " << m_buffer.size() << "]" << endl;
+        throw std::logic_error("n + m_bufferOrigin > m_buffer.size()");
+    }
 
 #if defined(__MSVC__)
 #define R__ __restrict
@@ -335,6 +342,12 @@
 	outidx++;
     }
 
+    if (m_bufferOrigin > (int)m_buffer.size()) {
+        cerr << "ERROR: m_bufferOrigin > m_buffer.size() [" 
+             << m_bufferOrigin << " > " << m_buffer.size() << "]" << endl;
+        throw std::logic_error("m_bufferOrigin > m_buffer.size()");
+    }
+
     m_buffer = vector<double>(m_buffer.begin() + m_bufferOrigin, m_buffer.end());
     m_bufferOrigin = 0;