00001
00003 inline drovector::drovector()
00004 : l(L), array(Array)
00005 {
00006 #ifdef CPPL_VERBOSE
00007 std::cerr << "# [MARK] drovector::drovector()"
00008 << std::endl;
00009 #endif//CPPL_VERBOSE
00010
00012 L =0;
00013 Array =NULL;
00014
00015 #ifdef CPPL_DEBUG
00016 std::cerr << "# [NOTE] drovector::drovector() "
00017 << "A new 0x0 vector at " << Array
00018 << " has been made." << std::endl;
00019 #endif//CPPL_DEBUG
00020 }
00021
00022
00024 inline drovector::drovector(const drovector& vec)
00025 : l(L), array(Array)
00026 {
00027 #ifdef CPPL_VERBOSE
00028 std::cerr << "# [MARK] drovector::drovector(const drovector&)"
00029 << std::endl;
00030 #endif//CPPL_VERBOSE
00031
00033 L =vec.L;
00034 Array =new double[L];
00035
00037 dcopy_(L, vec.Array, 1, Array, 1);
00038
00039 #ifdef CPPL_DEBUG
00040 std::cerr << "# [NOTE] drovector::drovector(const drovector&) "
00041 << "A new vector at " << Array << " has been made." << std::endl;
00042 #endif//CPPL_DEBUG
00043 }
00044
00045
00047 inline drovector::drovector(const _drovector& vec)
00048 : l(L), array(Array)
00049 {
00050 #ifdef CPPL_VERBOSE
00051 std::cerr << "# [MARK] drovector::drovector(const _drovector&)"
00052 << std::endl;
00053 #endif//CPPL_VERBOSE
00054
00056 L =vec.L;
00057 Array =vec.Array;
00058
00059 #ifdef CPPL_DEBUG
00060 std::cerr << "# [NOTE] drovector::drovector(const _drovector&) "
00061 << "A new vector pointing at " << Array << " has been made."
00062 << std::endl;
00063 #endif//CPPL_DEBUG
00064 }
00065
00066
00068 inline drovector::drovector(const long& _l)
00069 : l(L), array(Array)
00070 {
00071 #ifdef CPPL_VERBOSE
00072 std::cerr << "# [MARK] drovector::drovector(const long&)"
00073 << std::endl;
00074 #endif//CPPL_VERBOSE
00075
00076 #ifdef CPPL_DEBUG
00077 if( _l<0 ){
00078 std::cerr << "[ERROR] drovector::drovector(const long&)" << std::endl
00079 << "Vector size must be positive integers. " << std::endl
00080 << "Your input was (" << _l << ")." << std::endl;
00081 exit(1);
00082 }
00083 #endif//CPPL_DEBUG
00084
00086 L =_l;
00087 Array =new double[L];
00088
00089 #ifdef CPPL_DEBUG
00090 std::cerr << "# [NOTE] drovector::drovector(const long&) "
00091 << "A new vector at " << Array << " has been made." << std::endl;
00092 #endif//CPPL_DEBUG
00093 }
00094
00095
00097 inline drovector::drovector(const char* filename)
00098 : l(L), array(Array)
00099 {
00100 #ifdef CPPL_VERBOSE
00101 std::cerr << "# [MARK] drovector::drovector(const char*)"
00102 << std::endl;
00103 #endif//CPPL_VERBOSE
00104
00105 Array =NULL;
00106
00108 read(filename);
00109
00110 #ifdef CPPL_DEBUG
00111 std::cerr << "# [NOTE] drovector::drovector(const char*) "
00112 << "A new vector at " << Array << " has been made." << std::endl;
00113 #endif//CPPL_DEBUG
00114 }
00115
00119
00120
00122 inline drovector::~drovector()
00123 {
00124 #ifdef CPPL_VERBOSE
00125 std::cerr << "# [MARK] drovector::~drovector()"
00126 << std::endl;
00127 #endif//CPPL_VERBOSE
00128
00129 #ifdef CPPL_DEBUG
00130 std::cerr << "# [NOTE] drovector::~drovector "
00131 << "A vector at " << Array
00132 << " is going to be deleted." << std::endl;
00133 #endif//CPPL_DEBUG
00135 delete [] Array;
00136 }