From 0c032a446907645bab4805d940e0125f666a5b69 Mon Sep 17 00:00:00 2001
From: John Glover <j@johnglover.net>
Date: Fri, 21 Jun 2013 13:00:10 +0200
Subject: [sndobj] Bug fix: only take log mag if mag > 0

---
 src/sndobj/SinAnal.cpp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

(limited to 'src')

diff --git a/src/sndobj/SinAnal.cpp b/src/sndobj/SinAnal.cpp
index d6a07a2..4181d28 100644
--- a/src/sndobj/SinAnal.cpp
+++ b/src/sndobj/SinAnal.cpp
@@ -362,8 +362,11 @@ SinAnal::peakdetection(){
 	bool test1 = true, test2 = false;
 	
 	// take the logarithm of the magnitudes
-	for(i=0; i<m_numbins;i++)
-		m_mags[i] = log(m_mags[i]);
+	for(i=0; i<m_numbins;i++) {
+        if(m_mags[i] > 0) {
+            m_mags[i] = log(m_mags[i]);
+        }
+    }
 	
 	for(i=0;i < m_numbins-1; i++) {
 		
-- 
cgit v1.2.3