BogaudioModules

BogaudioModules for VCV Rack
Log | Files | Refs | README | LICENSE

FFTRealUseTrigo.h (2248B)


      1 /*****************************************************************************
      2 
      3         FFTRealUseTrigo.h
      4         By Laurent de Soras
      5 
      6 --- Legal stuff ---
      7 
      8 This program is free software. It comes without any warranty, to
      9 the extent permitted by applicable law. You can redistribute it
     10 and/or modify it under the terms of the Do What The Fuck You Want
     11 To Public License, Version 2, as published by Sam Hocevar. See
     12 http://sam.zoy.org/wtfpl/COPYING for more details.
     13 
     14 *Tab=3***********************************************************************/
     15 
     16 
     17 
     18 #if ! defined (ffft_FFTRealUseTrigo_HEADER_INCLUDED)
     19 #define	ffft_FFTRealUseTrigo_HEADER_INCLUDED
     20 
     21 #if defined (_MSC_VER)
     22 	#pragma once
     23 	#pragma warning (4 : 4250) // "Inherits via dominance."
     24 #endif
     25 
     26 
     27 
     28 /*\\\ INCLUDE FILES \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
     29 
     30 #include	"ffft/def.h"
     31 #include	"ffft/FFTRealFixLenParam.h"
     32 #include	"ffft/OscSinCos.h"
     33 
     34 
     35 
     36 namespace ffft
     37 {
     38 
     39 
     40 
     41 template <int ALGO>
     42 class FFTRealUseTrigo
     43 {
     44 
     45 /*\\\ PUBLIC \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
     46 
     47 public:
     48 
     49    typedef	FFTRealFixLenParam::DataType	DataType;
     50 	typedef	OscSinCos <DataType>	OscType;
     51 
     52 	ffft_FORCEINLINE static void
     53 						prepare (OscType &osc);
     54 	ffft_FORCEINLINE	static void
     55 						iterate (OscType &osc, DataType &c, DataType &s, const DataType cos_ptr [], long index_c, long index_s);
     56 
     57 
     58 
     59 /*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
     60 
     61 protected:
     62 
     63 
     64 
     65 /*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
     66 
     67 private:
     68 
     69 
     70 
     71 /*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
     72 
     73 private:
     74 
     75 						FFTRealUseTrigo ();
     76 						~FFTRealUseTrigo ();
     77 						FFTRealUseTrigo (const FFTRealUseTrigo &other);
     78 	FFTRealUseTrigo &
     79 						operator = (const FFTRealUseTrigo &other);
     80 	bool				operator == (const FFTRealUseTrigo &other);
     81 	bool				operator != (const FFTRealUseTrigo &other);
     82 
     83 };	// class FFTRealUseTrigo
     84 
     85 
     86 
     87 }	// namespace ffft
     88 
     89 
     90 
     91 #include	"ffft/FFTRealUseTrigo.hpp"
     92 
     93 
     94 
     95 #endif	// ffft_FFTRealUseTrigo_HEADER_INCLUDED
     96 
     97 
     98 
     99 /*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/