BogaudioModules

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

FFTRealPassDirect.h (2253B)


      1 /*****************************************************************************
      2 
      3         FFTRealPassDirect.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_FFTRealPassDirect_HEADER_INCLUDED)
     19 #define	ffft_FFTRealPassDirect_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 PASS>
     42 class FFTRealPassDirect
     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 						process (long len, DataType dest_ptr [], DataType src_ptr [], const DataType x_ptr [], const DataType cos_ptr [], long cos_len, const long br_ptr [], OscType osc_list []);
     54 
     55 
     56 
     57 /*\\\ PROTECTED \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
     58 
     59 protected:
     60 
     61 
     62 
     63 /*\\\ PRIVATE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
     64 
     65 private:
     66 
     67 
     68 
     69 /*\\\ FORBIDDEN MEMBER FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
     70 
     71 private:
     72 
     73 						FFTRealPassDirect ();
     74 						FFTRealPassDirect (const FFTRealPassDirect &other);
     75 	FFTRealPassDirect &
     76 						operator = (const FFTRealPassDirect &other);
     77 	bool				operator == (const FFTRealPassDirect &other);
     78 	bool				operator != (const FFTRealPassDirect &other);
     79 
     80 };	// class FFTRealPassDirect
     81 
     82 
     83 
     84 }	// namespace ffft
     85 
     86 
     87 
     88 #include	"ffft/FFTRealPassDirect.hpp"
     89 
     90 
     91 
     92 #endif	// ffft_FFTRealPassDirect_HEADER_INCLUDED
     93 
     94 
     95 
     96 /*\\\ EOF \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/