ITAFFTFactory.h 1.18 KB
Newer Older
Jonas Stienen's avatar
Jonas Stienen committed
1
/*
2
 * ----------------------------------------------------------------
Jonas Stienen's avatar
Jonas Stienen committed
3
 *
4 5
 *		ITA core libs
 *		(c) Copyright Institute of Technical Acoustics (ITA)
6
 *		RWTH Aachen University, Germany, 2015-2019
Jonas Stienen's avatar
Jonas Stienen committed
7
 *
8 9 10 11 12 13 14 15
 * ----------------------------------------------------------------
 *				    ____  __________  _______
 *				   //  / //__   ___/ //  _   |
 *				  //  /    //  /    //  /_|  |
 *				 //  /    //  /    //  ___   |
 *				//__/    //__/    //__/   |__|
 *
 * ----------------------------------------------------------------
Jonas Stienen's avatar
Jonas Stienen committed
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
 *
 */

#ifndef INCLUDE_WATCHER_ITA_FFT_FACTORY
#define INCLUDE_WATCHER_ITA_FFT_FACTORY

// Vorwrtsdeklarationen
class ITAFFT;

/* Diese abstrakte Klasse definiert die Schnittstelle fr die Erzeugung
 * von Instanzen der Klasse ITAFFT. Sie wird von den Backends implementiert.
 */

class ITAFFTFactory {
public:
	virtual ~ITAFFTFactory() {};

	virtual ITAFFT* plan_dft(float* in, float* out, int size, int flags)=0;
	virtual ITAFFT* plan_idft(float* in, float* out, int size, int flags)=0;
	virtual ITAFFT* plan_dft_r2c(float* in, float* out, int size, int flags)=0;
	virtual ITAFFT* plan_idft_c2r(float* in, float* out, int size, int flags)=0;
};

#endif // INCLUDE_WATCHER_ITA_FFT_FACTORY