changeset 133:ef42b60d0100

Merge from branch kissfft
author Chris Cannam
date Wed, 16 Oct 2013 12:52:44 +0100
parents 0523dbfda035 (diff) a586888bc06c (current diff)
children 5f88f517b637
files
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/base/KaiserWindow.cpp	Tue Oct 15 18:26:38 2013 +0100
+++ b/base/KaiserWindow.cpp	Wed Oct 16 12:52:44 2013 +0100
@@ -54,8 +54,12 @@
 KaiserWindow::init()
 {
     double denominator = bessel0(m_beta);
-    for (int i = 0; i < m_length; ++i) {
+    bool even = (m_length % 2 == 0);
+    for (int i = 0; i < (even ? m_length/2 : (m_length+1)/2); ++i) {
 	double k = double(2*i) / double(m_length-1) - 1.0;
 	m_window.push_back(bessel0(m_beta * sqrt(1.0 - k*k)) / denominator);
     }
+    for (int i = 0; i < (even ? m_length/2 : (m_length-1)/2); ++i) {
+        m_window.push_back(m_window[int(m_length/2) - i - 1]);
+    }
 }