00001
00004
00005
00006 #if defined(__GNUC__) && __GNUC__ == 2
00007 # define MINLINE
00008 #endif
00009
00010 #include "std_cplx.h"
00011
00012 #ifndef NUM
00013 #define NUM double
00014 #endif
00015
00016 #define TEMPLATE template
00017
00018
00019
00020 #define T NUM
00021 #define U NUM
00022 #include "std_cplx_inst.h"
00023
00024
00025 #ifdef MALLOC_CACHE
00026 #include "malloc_cache.h"
00027 NAMESPACE_TBCI
00028
00029 # define INST_TBCI_MEMALLOC(TYPE) \
00030 template class tbci_memalloc< TYPE >; \
00031 template class tbci_memalloc_cache< TYPE >
00032
00033
00034 INST_TBCI_MEMALLOC(CPLX__ complex<double>);
00035 INST_TBCI_MEMALLOC(CPLX__ complex<double>*);
00036 INST_TBCI_MEMALLOC(CPLX__ complex<float>);
00037 INST_TBCI_MEMALLOC(CPLX__ complex<float>*);
00038
00039 NAMESPACE_END
00040 #endif
00041
00042
00043 #ifdef HAVE_GCC320_MISS_CPLXFN_BUG
00044 template class std::complex<float>;
00045 template class std::complex<double>;
00046 template std::complex<double> std::log<double> (const std::complex<double>&);
00047 template std::complex<double> std::sqrt<double>(const std::complex<double>&);
00048 template std::complex<double> std::exp<double> (const std::complex<double>&);
00049 template std::complex<double> std::sin<double> (const std::complex<double>&);
00050 template std::complex<double> std::cos<double> (const std::complex<double>&);
00051 template std::complex<double> std::sinh<double>(const std::complex<double>&);
00052 template std::complex<double> std::cosh<double>(const std::complex<double>&);
00053 template double std::abs<double> (const std::complex<double>&);
00054 template double std::arg<double> (const std::complex<double>&);
00055 #ifdef HAVE_GCC34_LIBSTDCXX_REAL_IMAG_REF
00056 template const double& std::real<double>(const std::complex<double>&);
00057 template const double& std::imag<double>(const std::complex<double>&);
00058 template double& std::real<double>(std::complex<double>&);
00059 template double& std::imag<double>(std::complex<double>&);
00060 #else
00061 template double std::real<double>(const std::complex<double>&);
00062 template double std::imag<double>(const std::complex<double>&);
00063 #endif
00064 template std::complex<double> std::conj<double> (const std::complex<double>&);
00065 template std::complex<double> std::polar<double>(const double&, const double&);
00066 #ifndef MISS_STDCPLX_TAN_BUG
00067 template std::complex<double> std::tan<double> (const std::complex<double>&);
00068 template std::complex<double> std::tanh<double>(const std::complex<double>&);
00069 #endif
00070 #ifndef HAVE_MISS_STDCPLX_LOG10_BUG
00071 template std::complex<double> std::log10<double>(const std::complex<double>&);
00072 #endif
00073 #endif