IT++ Logo Newcom Logo

transforms.h

Go to the documentation of this file.
00001 
00037 #ifndef TRANSFORMS_H
00038 #define TRANSFORMS_H
00039 
00040 #include <itpp/base/vec.h>
00041 #include <itpp/base/mat.h>
00042 
00043 
00044 namespace itpp {
00045 
00086 
00087 
00088 
00090   void fft(const cvec &in, cvec &out);
00092   cvec fft(const cvec &in);
00094   cvec fft(const cvec &in, const int N);
00096   void ifft(const cvec &in, cvec &out);
00098   cvec ifft(const cvec &in);
00100   cvec ifft(const cvec &in, const int N);
00101 
00103   void fft_real(const vec& in, cvec &out);
00105   cvec fft_real(const vec& in);
00107   cvec fft_real(const vec &in, const int N);
00109   void ifft_real(const cvec &in, vec &out);
00111   vec ifft_real(const cvec &in);
00113   vec ifft_real(const cvec &in, const int N);
00115 
00116 
00145 
00146 
00147 
00149   void dct(const vec &in, vec &out);
00151   vec dct(const vec &in);
00153   void idct(const vec &in, vec &out);
00155   vec idct(const vec &in);
00157   
00158 
00161 
00163   template <class T> Vec<T> dht(const Vec<T> &v);
00165   template <class T> void dht(const Vec<T> &vin, Vec<T> &vout);
00167   template <class T> void self_dht(Vec<T> &v);
00168 
00170   template <class T> Vec<T> dwht(const Vec<T> &v);
00172   template <class T> void dwht(const Vec<T> &vin, Vec<T> &vout);
00174   template <class T> void self_dwht(Vec<T> &v);
00175   
00177   template <class T> Mat<T> dht2(const Mat<T> &m);
00179   template <class T> Mat<T> dwht2(const Mat<T> &m);
00181 
00183   // template instantiation
00185 #ifndef _MSC_VER
00186 
00188   extern template vec dht(const vec &v);
00190   extern template cvec dht(const cvec &v);
00191 
00193   extern template void dht(const vec &vin, vec &vout);
00195   extern template void dht(const cvec &vin, cvec &vout);
00196 
00198   extern template void self_dht(vec &v);
00200   extern template void self_dht(cvec &v);
00201 
00203   extern template vec dwht(const vec &v);
00205   extern template cvec dwht(const cvec &v);
00206 
00208   extern template void dwht(const vec &vin, vec &vout);
00210   extern template void dwht(const cvec &vin, cvec &vout);
00211 
00213   extern template void self_dwht(vec &v);
00215   extern template void self_dwht(cvec &v);
00216 
00218   extern template mat  dht2(const mat &m);
00220   extern template cmat dht2(const cmat &m);
00221 
00223   extern template mat  dwht2(const mat &m);
00225   extern template cmat dwht2(const cmat &m);
00226 
00227 #endif // #ifndef _MSC_VER
00228 
00229 } // namespace itpp
00230 
00231 #endif // #ifndef TRANSFORMS_H
SourceForge Logo

Generated on Wed Apr 18 11:45:34 2007 for IT++ by Doxygen 1.5.2