00001 /*---------------------------------------------------------------------------* 00002 * IT++ * 00003 *---------------------------------------------------------------------------* 00004 * Copyright (c) 1995-2001 by Tony Ottosson, Thomas Eriksson, Pål Frenger, * 00005 * Tobias Ringström, and Jonas Samuelsson. * 00006 * * 00007 * Permission to use, copy, modify, and distribute this software and its * 00008 * documentation under the terms of the GNU General Public License is hereby * 00009 * granted. No representations are made about the suitability of this * 00010 * software for any purpose. It is provided "as is" without expressed or * 00011 * implied warranty. See the GNU General Public License for more details. * 00012 *---------------------------------------------------------------------------*/ 00016 // SPUC - Signal processing using C++ - A DSP library 00017 00027 #ifndef __itconfig_h 00028 #define __itconfig_h 00029 00030 #include <complex.h> 00031 namespace SPUC { 00032 00033 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00034 #define ITPP_DEFAULT_EXCEPTIONS 0 00035 #endif //DOXYGEN_SHOULD_SKIP_THIS 00036 00037 /* 00039 template <class T> std::ostream& 00040 operator<<(std::ostream &os, const complex<T> &x) 00041 { 00042 os << real (x); 00043 if (imag(x) >= 0) 00044 os << '+' << imag (x); 00045 else 00046 os << imag (x); 00047 return os << 'i'; 00048 } 00049 */ 00051 //typedef complex<double> double_complex; 00053 //typedef complex<float> float_complex; 00054 00055 00056 // --------- Special Visual C++ directives ----------------------------- 00057 #ifdef _MSC_VER 00058 00059 #pragma warning( disable : 4275 ) 00060 00061 // Disable the warning about debug symbols being longer than 255 characters 00062 #pragma warning( disable : 4786 ) 00063 00064 #define TEMPLATE_FUN 00065 #define long_long __int64 00066 #ifdef min 00067 # undef min 00068 #endif 00069 #ifdef max 00070 # undef max 00071 #endif 00072 00073 namespace std { 00074 template <class T> 00075 inline const T& min(const T& a, const T& b) { 00076 return b < a ? b : a; 00077 } 00078 template <class T> 00079 inline const T& max(const T& a, const T& b) { 00080 return a < b ? b : a; 00081 } 00082 } 00083 00084 #else 00085 00087 #define TEMPLATE_FUN <> 00088 00090 #define long_long long long 00091 00092 #endif 00093 } // namespace SPUC 00094 #endif // __itconfig_h