# HG changeset patch # User Chris Cannam # Date 1381924364 -3600 # Node ID ef42b60d01004e163e6fe289dc2e36bf20b32ebb # Parent 0523dbfda0355727af776b4f21363a6accff960d# Parent a586888bc06ca88f03d546faacacb6a077fba995 Merge from branch kissfft diff -r a586888bc06c -r ef42b60d0100 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]); + } }