00001
00003 inline _zrovector t(const zcovector& covec)
00004 {
00005 #ifdef CPPL_VERBOSE
00006 std::cerr << "# [MARK] t(const zcovector&)"
00007 << std::endl;
00008 #endif//CPPL_VERBOSE
00009
00010 zrovector rovec(covec.L);
00011 zcopy_(covec.L, covec.Array, 1, rovec.array, 1);
00012
00013 return _(rovec);
00014 }
00015
00017 inline _zcovector conj(const zcovector& vec)
00018 {
00019 #ifdef CPPL_VERBOSE
00020 std::cerr << "# [MARK] conj(const zcovector&)"
00021 << std::endl;
00022 #endif//CPPL_VERBOSE
00023
00024 zcovector newvec(vec.L);
00025 for(long i=0; i<vec.L; i++){ newvec(i) =std::conj(vec(i)); }
00026
00027 return _(newvec);
00028 }
00029
00030
00032 inline _zrovector conjt(const zcovector& covec)
00033 {
00034 #ifdef CPPL_VERBOSE
00035 std::cerr << "# [MARK] conjt(const zcovector&)"
00036 << std::endl;
00037 #endif//CPPL_VERBOSE
00038
00039 zrovector rovec(covec.L);
00040 for(long i=0; i<covec.L; i++){ rovec(i) =std::conj(covec(i)); }
00041
00042 return _(rovec);
00043 }
00044
00048
00049
00051 inline double nrm2(const zcovector& vec)
00052 {
00053 #ifdef CPPL_VERBOSE
00054 std::cerr << "# [MARK] nrm2(const zcovector&)"
00055 << std::endl;
00056 #endif//CPPL_VERBOSE
00057
00058 return dznrm2_(vec.L, vec.Array, 1);
00059 }
00060
00061
00064 inline long idamax(const zcovector& vec)
00065 {
00066 #ifdef CPPL_VERBOSE
00067 std::cerr << "# [MARK] idamax(const zcovector&)"
00068 << std::endl;
00069 #endif//CPPL_VERBOSE
00070
00071 return izamax_(vec.L, vec.Array, 1) -1;
00072 }
00073
00074
00076 inline std::complex<double> damax(const zcovector& vec)
00077 {
00078 #ifdef CPPL_VERBOSE
00079 std::cerr << "# [MARK] damax(const zcovector&)"
00080 << std::endl;
00081 #endif//CPPL_VERBOSE
00082
00083 return vec.Array[izamax_(vec.L, vec.Array, 1) -1];
00084 }