*** empty log message ***

This commit is contained in:
jiri
2005-02-04 14:31:42 +00:00
parent a235d4cb98
commit 6e2727f595
14 changed files with 150 additions and 40 deletions

View File

@@ -45,11 +45,17 @@ NRSMat<T> & NRSMat<T>::operator=(const T &a)
//get diagonal
template <typename T>
void NRSMat<T>::diagonalof(NRVec<T> &r) const
void NRSMat<T>::diagonalof(NRVec<T> &r, const bool divide) const
{
#ifdef DEBUG
if(r.size()!=nn) laerror("incompatible vector in diagonalof()");
#endif
r.copyonwrite();
if (divide)
for (int i=0; i<nn; i++) {T a =v[i*(i+1)/2+i]; if(a!=0.) r[i] /= a;}
else
for (int i=0; i<nn; i++) r[i] = v[i*(i+1)/2+i];
}