# HG changeset patch # User Chris Cannam # Date 1381924364 -3600 # Node ID 7a225d665ed297828acbab1a7af60a5fb71f0d0d # Parent 5ff562f5b5219fb35fdea1d2c64c82b74b94a2ac# Parent 650bbacf8288305a030530ae40ed36fcfab72299 Merge from branch kissfft diff -r 650bbacf8288 -r 7a225d665ed2 .hgsubstate --- a/.hgsubstate Tue Oct 15 18:26:38 2013 +0100 +++ b/.hgsubstate Wed Oct 16 12:52:44 2013 +0100 @@ -1,2 +1,1 @@ fbe1bb0bc7b94ec252842b8b7e3f3347ec75d92f ext/kissfft -fbe1bb0bc7b94ec252842b8b7e3f3347ec75d92f kissfft diff -r 650bbacf8288 -r 7a225d665ed2 base/KaiserWindow.cpp --- 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]); + } }