13 inline void swap(HepVector &v1,HepVector &v2) {
18 inline HepVector::HepVector()
22 inline double HepVector::normsq()
const {
return dot((*
this),(*
this));}
23 inline double HepVector::norm()
const {
return sqrt(normsq());}
25 inline double & HepVector::operator()(
int row)
27 #ifdef MATRIX_BOUND_CHECK 29 error(
"Range error in HepVector::operator()");
32 return *(m.begin()+row-1);
34 inline const double & HepVector::operator()(
int row)
const 36 #ifdef MATRIX_BOUND_CHECK 38 error(
"Range error in HepVector::operator()");
41 return *(m.begin()+row-1);
43 inline double & HepVector::operator[](
int row)
45 #ifdef MATRIX_BOUND_CHECK 46 if(row<0 || row>=nrow)
47 error(
"Range error in HepVector::operator[]");
50 return *(m.begin()+row);
52 inline const double & HepVector::operator[](
int row)
const 54 #ifdef MATRIX_BOUND_CHECK 55 if(row<0 || row>=nrow)
56 error(
"Range error in HepVector::operator[]");
59 return *(m.begin()+row);
void swap(HepVector &v1, HepVector &v2)
void swap(HepMatrix &hm1, HepMatrix &hm2)
std::complex< double > dot(const SphericalHarmonicCoefficientSet &a, const SphericalHarmonicCoefficientSet &b)