#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] |