21#ifdef MATRIX_BOUND_CHECK
22 if (row<1 || row>nrow || col<1 || col>nrow)
23 error(
"Range error in HepDiagMatrix::fast()");
26 error(
"Index error in HepDiagMatrix::fast(i,j): i != j");
28 return *(m.begin()+(col-1));
33#ifdef MATRIX_BOUND_CHECK
34 if (row<1 || row>nrow || col<1 || col>nrow)
35 error(
"Range error in HepDiagMatrix::fast()");
38 return *(m.begin()+(col-1));
40#if defined(__sun) || !defined(__GNUG__)
65#ifdef HEP_GNU_OPTIMIZED_RETURN
76#ifdef HEP_GNU_OPTIMIZED_RETURN
88 return _a.fast(_r+1, c+1);
94 return _a.fast(_r+1,c+1);
108#ifdef HEP_GNU_OPTIMIZED_RETURN
122 if (ierr)
throw std::runtime_error(
"Error in HepDiagMatrix inversion");
129 if (ierr)
throw std::runtime_error(
"Error in HepDiagMatrix inversion");
const double & operator[](int) const
HepDiagMatrix_row_const(const HepDiagMatrix &, int)
HepDiagMatrix_row(HepDiagMatrix &, int)
double & fast(int row, int col)
HepDiagMatrix_row operator[](int)
void assign(const HepMatrix &hm2)
double & operator()(int row, int col)
HepDiagMatrix inverse() const
static void error(const char *s)