#include <MagVec.h>
Public Member Functions | |
| MagVec (int N) | |
| MagVec () | |
| MagVec (const MagVec &v) | |
| ~MagVec () | |
| double & | operator[] (int i) |
| const double & | operator[] (int i) const |
| MagVec & | operator= (const MagVec &v) |
| MagVec | operator+ (const MagVec &v) |
| MagVec | operator+ (const MagVec &v) const |
| MagVec & | operator+= (const MagVec &v) |
| MagVec | operator- (const MagVec &v) |
| MagVec | operator- (const MagVec &v) const |
| MagVec & | operator-= (const MagVec &v) |
| double | operator * (const MagVec &v) |
| double | operator * (const MagVec &v) const |
| MagVec | operator * (const double &d) |
| MagVec & | operator *= (const double &d) |
| void | reSize (int Nnew) |
| int | n_elem () const |
Private Attributes | |
| int | Nele |
| double * | ptr_data |
Definition at line 8 of file MagVec.h.
| MagVec::MagVec | ( | int | N | ) |
| MagVec::MagVec | ( | ) |
| MagVec::MagVec | ( | const MagVec & | v | ) |
| MagVec::~MagVec | ( | ) |
| double & MagVec::operator[] | ( | int | i | ) |
| const double & MagVec::operator[] | ( | int | i | ) | const |
Definition at line 51 of file MagVec.cpp.
00051 { 00052 00053 if(Nele!=0 && Nele!=v.Nele) { 00054 std::cerr << "MagVec Assignment: size does not match!" << std::endl; return *this; 00055 } 00056 00057 if ( ptr_data != v.ptr_data ) { 00058 reSize(v.Nele); 00059 for(int i=0;i<Nele;i++) *(ptr_data+i) = v[i]; 00060 } 00061 00062 return *this; 00063 00064 }
| double MagVec::operator * | ( | const MagVec & | v | ) |
| double MagVec::operator * | ( | const MagVec & | v | ) | const |
| MagVec MagVec::operator * | ( | const double & | d | ) |
| MagVec & MagVec::operator *= | ( | const double & | d | ) |
Definition at line 144 of file MagVec.cpp.
00144 { 00145 00146 for (int i=0;i<Nele;i++) *(ptr_data+i)*= d; 00147 00148 return *this; 00149 00150 }
| void MagVec::reSize | ( | int | Nnew | ) |
Definition at line 153 of file MagVec.cpp.
00153 { 00154 00155 00156 if ( Nnew>=0 && Nnew != Nele ) { 00157 double* p = ptr_data; 00158 int Nele_old = Nele; 00159 ptr_data = new double[Nnew]; 00160 Nele = Nnew; 00161 int k = Nele <= Nele_old ? Nele : Nele_old; 00162 00163 p += k; 00164 double* q = ptr_data + k; 00165 while (q > ptr_data) *(--q) = *(--p); 00166 00167 delete [] p; 00168 } 00169 00170 00171 00172 }
| int MagVec::n_elem | ( | ) | const |
int MagVec::Nele [private] |
double* MagVec::ptr_data [private] |
1.4.7