diff options
Diffstat (limited to 'tests/manual/spectrum/3rdparty/fftreal/FFTReal.h')
-rw-r--r-- | tests/manual/spectrum/3rdparty/fftreal/FFTReal.h | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/tests/manual/spectrum/3rdparty/fftreal/FFTReal.h b/tests/manual/spectrum/3rdparty/fftreal/FFTReal.h deleted file mode 100644 index 9fb27250..00000000 --- a/tests/manual/spectrum/3rdparty/fftreal/FFTReal.h +++ /dev/null @@ -1,142 +0,0 @@ -/***************************************************************************** - - FFTReal.h - Copyright (c) 2005 Laurent de Soras - ---- Legal stuff --- - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -*Tab=3***********************************************************************/ - - - -#if ! defined (FFTReal_HEADER_INCLUDED) -#define FFTReal_HEADER_INCLUDED - -#if defined (_MSC_VER) - #pragma once - #pragma warning (4 : 4250) // "Inherits via dominance." -#endif - - - -/*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ - -#include "def.h" -#include "DynArray.h" -#include "OscSinCos.h" - - - -template <class DT> -class FFTReal -{ - -/*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ - -public: - - enum { MAX_BIT_DEPTH = 30 }; // So length can be represented as long int - - typedef DT DataType; - - explicit FFTReal (long length); - virtual ~FFTReal () {} - - long get_length () const; - void do_fft (DataType f [], const DataType x []) const; - void do_ifft (const DataType f [], DataType x []) const; - void rescale (DataType x []) const; - DataType * use_buffer () const; - - - -/*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ - -protected: - - - -/*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ - -private: - - // Over this bit depth, we use direct calculation for sin/cos - enum { TRIGO_BD_LIMIT = 12 }; - - typedef OscSinCos <DataType> OscType; - - void init_br_lut (); - void init_trigo_lut (); - void init_trigo_osc (); - - FORCEINLINE const long * - get_br_ptr () const; - FORCEINLINE const DataType * - get_trigo_ptr (int level) const; - FORCEINLINE long - get_trigo_level_index (int level) const; - - inline void compute_fft_general (DataType f [], const DataType x []) const; - inline void compute_direct_pass_1_2 (DataType df [], const DataType x []) const; - inline void compute_direct_pass_3 (DataType df [], const DataType sf []) const; - inline void compute_direct_pass_n (DataType df [], const DataType sf [], int pass) const; - inline void compute_direct_pass_n_lut (DataType df [], const DataType sf [], int pass) const; - inline void compute_direct_pass_n_osc (DataType df [], const DataType sf [], int pass) const; - - inline void compute_ifft_general (const DataType f [], DataType x []) const; - inline void compute_inverse_pass_n (DataType df [], const DataType sf [], int pass) const; - inline void compute_inverse_pass_n_osc (DataType df [], const DataType sf [], int pass) const; - inline void compute_inverse_pass_n_lut (DataType df [], const DataType sf [], int pass) const; - inline void compute_inverse_pass_3 (DataType df [], const DataType sf []) const; - inline void compute_inverse_pass_1_2 (DataType x [], const DataType sf []) const; - - const long _length; - const int _nbr_bits; - DynArray <long> - _br_lut; - DynArray <DataType> - _trigo_lut; - mutable DynArray <DataType> - _buffer; - mutable DynArray <OscType> - _trigo_osc; - - - -/*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ - -private: - - FFTReal (); - FFTReal (const FFTReal &other); - FFTReal & operator = (const FFTReal &other); - bool operator == (const FFTReal &other); - bool operator != (const FFTReal &other); - -}; // class FFTReal - - - -#include "FFTReal.hpp" - - - -#endif // FFTReal_HEADER_INCLUDED - - - -/*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/ |