00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011 #ifndef _CH_COMPLEX_H_
00012 #define _CH_COMPLEX_H_
00013
00014 #ifdef CH_USE_COMPLEX
00015
00016 #include <complex>
00017 using std::complex;
00018
00019 #include "REAL.H"
00020
00021 #include "BaseNamespaceHeader.H"
00022
00024
00032 class Complex : public complex<Real>
00033 {
00034 public:
00036 inline Complex(){;}
00038 inline Complex(const Real& re, const Real& im):complex<Real>(re, im){;}
00040 inline Real & re() ;
00042 inline Real re() const { return real(); };
00044 inline Real & im() ;
00046 inline Real im() const { return imag(); };
00047 };
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058 inline Real & Complex::re() {
00059 return (((Real*)this)[0]) ;
00060 }
00061
00062 inline Real & Complex::im() {
00063 return (((Real*)this)[1]) ;
00064 }
00065
00066
00067
00068
00069
00070 #include "BaseNamespaceFooter.H"
00071 #endif //CH_USE_COMPLEX
00072 #endif //_CH_COMPLEX_H_