FHT::FHT(int n) : num_((n < 3) ? 0 : 1 << n), exp2_((n < 3) ? -1 : n) { if (n > 3) { buf_vector_.resize(num_); tab_vector_.resize(num_ * 2); makeCasTable(); } }
FHT::FHT(int n) : buf_(0), tab_(0), log_(0) { if (n < 3) { num_ = 0; exp2_ = -1; return; } exp2_ = n; num_ = 1 << n; if (n > 3) { buf_ = new float[num_]; tab_ = new float[num_ * 2]; makeCasTable(); } }
FHT::FHT(int n) : m_buf(0), m_tab(0), m_log(0) { if (n < 3) { m_num = 0; m_exp2 = -1; return; } m_exp2 = n; m_num = 1 << n; if (n > 3) { m_buf = new float[m_num]; m_tab = new float[m_num * 2]; makeCasTable(); } }
FastFourierTransformation::FastFourierTransformation( int n ) : m_buf(0), m_tab(0) { if( n < 3 ) { m_num = 0; return; } m_num = 1 << n; if( n > 3 ) { m_buf = new float[m_num]; m_tab = new float[m_num * 2]; makeCasTable(); } }