/***************************************************************************** FFTRealUseTrigo.hpp By Laurent de Soras --- Legal stuff --- This program is free software. It comes without any warranty, to the extent permitted by applicable law. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar. See http://sam.zoy.org/wtfpl/COPYING for more details. *Tab=3***********************************************************************/ #if defined (ffft_FFTRealUseTrigo_CURRENT_CODEHEADER) #error Recursive inclusion of FFTRealUseTrigo code header. #endif #define ffft_FFTRealUseTrigo_CURRENT_CODEHEADER #if ! defined (ffft_FFTRealUseTrigo_CODEHEADER_INCLUDED) #define ffft_FFTRealUseTrigo_CODEHEADER_INCLUDED /*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ #include "OscSinCos.h" namespace ffft { /*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ template void FFTRealUseTrigo ::prepare (OscType &osc) { osc.clear_buffers (); } template <> inline void FFTRealUseTrigo <0>::prepare (OscType &osc) { (void) osc; // Nothing } template void FFTRealUseTrigo ::iterate (OscType &osc, DataType &c, DataType &s, const DataType cos_ptr [], long index_c, long index_s) { (void) index_c; (void) index_s; (void) cos_ptr; osc.step (); c = osc.get_cos (); s = osc.get_sin (); } template <> inline void FFTRealUseTrigo <0>::iterate (OscType &osc, DataType &c, DataType &s, const DataType cos_ptr [], long index_c, long index_s) { (void) osc; c = cos_ptr [index_c]; s = cos_ptr [index_s]; } /*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ /*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ } // namespace ffft #endif // ffft_FFTRealUseTrigo_CODEHEADER_INCLUDED #undef ffft_FFTRealUseTrigo_CURRENT_CODEHEADER /*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/