From 69de1663fe67b64719774fa093b2c390f3a56e4e Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 9 Mar 1998 16:35:22 +0000 Subject: [PATCH] Kommentare auskommentiert git-svn-id: https://svn.dealii.org/trunk@45 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/lac/source/dsmatrix.cc | 115 +++++++++++++++++++++++++++++++-- deal.II/lac/source/dvector.cc | 54 ++++++++-------- deal.II/lac/source/ivector.cc | 12 ++-- 3 files changed, 144 insertions(+), 37 deletions(-) diff --git a/deal.II/lac/source/dsmatrix.cc b/deal.II/lac/source/dsmatrix.cc index f55f02f804..ec90820a4b 100644 --- a/deal.II/lac/source/dsmatrix.cc +++ b/deal.II/lac/source/dsmatrix.cc @@ -8,14 +8,121 @@ static const char* OBJFILE = "DEAL $RCSfile$ $Revision$"; #include #include -#include + + +/*----------------- from sort.h -------------------------*/ + + +////////// +template +inline void swap(T* a, T* b) +{ + T x = *a; + *a = *b; + *b = x; +} + +////////// +template +inline void simple_sort(long n, T* field) +{ + long i,j; + for (i=1;i +inline void heapsort_sift(T* a, long l, long r) +{ + long i = l; + long j = 2*i; + T x = a[i]; + + while (j<=r) + { + if (j +inline void heapsort(int n, T* field) +{ + field--; + + long l =(n/2)+1; + long r = n; + + while (l>1) + { + l--; + heapsort_sift(field,l,r); + } + while (r>1) + { + swap(field+l,field+r); + r--; + heapsort_sift(field,l,r); + } +} + +////////// +template +inline void _quicksort(long r, T* a, long l) +{ + long i = l; + long j = r; + T* x = &a[(l+r)/2]; + do + { + while (a[i] < *x) i++; + while (*x < a[j]) j--; + if (i<=j) + { + swap(a+i,a+j); + i++; + j--; + } + } + while (i<=j); + if (l +inline void quicksort(long r, T* a) +{ + _quicksort(r,a,1); +} + + +/*----------------- from sort.h -------------------------*/ + + void dSMatrixStruct::reinit(int m, int n, int max_per_row) { - THROW1(m<=0, IntError(IntError::IllegalDimension, m)); - THROW1(n<=0, IntError(IntError::IllegalDimension, n)); - THROW1(max_per_row<=0, IntError(IntError::IllegalDimension, max_per_row)); +// THROW1(m<=0, IntError(IntError::IllegalDimension, m)); +// THROW1(n<=0, IntError(IntError::IllegalDimension, n)); +// THROW1(max_per_row<=0, IntError(IntError::IllegalDimension, max_per_row)); rows = m; cols = n; vec_len = m * max_per_row; diff --git a/deal.II/lac/source/dvector.cc b/deal.II/lac/source/dvector.cc index 1a7302e526..07ad2d3a09 100644 --- a/deal.II/lac/source/dvector.cc +++ b/deal.II/lac/source/dvector.cc @@ -18,12 +18,12 @@ dVector::dVector(int n) : val(0) { dim = n; maxdim = n; - THROW1(n<0, IntError(IntError::IllegalDimension, n, "dVector")); + //THROW1(n<0, IntError(IntError::IllegalDimension, n, "dVector")); if (n) { val = new double[maxdim]; - THROWUNCOND(!val, Error(Error::NoMem,"dVector::dVector")); + //THROWUNCOND(!val, Error(Error::NoMem,"dVector::dVector")); (*this) = 0.; } } @@ -36,19 +36,19 @@ dVector::dVector(const dVector& v) : val(0) if (dim) { val = new double[maxdim]; - THROWUNCOND(!val, Error(Error::NoMem,"dVector::dVector")); + //THROWUNCOND(!val, Error(Error::NoMem,"dVector::dVector")); for (int i=0;imaxdim) { if (val) delete[] val; val = new double[n]; - THROWUNCOND(!val, Error(Error::NoMem,"dVector::reinit")); + //THROWUNCOND(!val, Error(Error::NoMem,"dVector::reinit")); maxdim = n; } dim = n; @@ -62,7 +62,7 @@ void dVector::reinit(const dVector& v, int fast) { if (val) delete[] val; val = new double[n]; - THROWUNCOND(!val, Error(Error::NoMem,"dVector::reinit")); + //THROWUNCOND(!val, Error(Error::NoMem,"dVector::reinit")); maxdim = n; } dim = n; @@ -172,8 +172,8 @@ dVector& dVector::operator = (const dVector& v) void dVector::cadd(int i, const VectorBase& V, double s, int j) { const dVector& v = (const dVector&) V; - THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cadd")); - THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cadd")); + //THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cadd")); + //THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cadd")); val[i] += s*v.val[j]; } @@ -181,9 +181,9 @@ void dVector::cadd(int i, const VectorBase& V, double s, int j) void dVector::cadd(int i, const VectorBase& V, double s, int j, double t, int k) { const dVector& v = (const dVector&) V; - THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cadd")); - THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cadd")); - THROW1((k<0) || (k>v.dim), IntError(IntError::Range,k,"cadd")); + //THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cadd")); + //THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cadd")); + //THROW1((k<0) || (k>v.dim), IntError(IntError::Range,k,"cadd")); val[i] += s*v.val[j] + t*v.val[k]; } @@ -192,26 +192,26 @@ void dVector::cadd(int i, const VectorBase& V, double s, int j, double t, int k, double q, int l, double r, int m) { const dVector& v = (const dVector&) V; - THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cadd")); - THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cadd")); - THROW1((k<0) || (k>v.dim), IntError(IntError::Range,k,"cadd")); - THROW1((l<0) || (l>v.dim), IntError(IntError::Range,l,"cadd")); - THROW1((m<0) || (m>v.dim), IntError(IntError::Range,m,"cadd")); + //THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cadd")); + //THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cadd")); + //THROW1((k<0) || (k>v.dim), IntError(IntError::Range,k,"cadd")); + //THROW1((l<0) || (l>v.dim), IntError(IntError::Range,l,"cadd")); + //THROW1((m<0) || (m>v.dim), IntError(IntError::Range,m,"cadd")); val[i] += s*v.val[j] + t*v.val[k] + q*v.val[l] + r*v.val[m]; } void dVector::czero(int i) { - THROW1((i<0) || (i>dim), IntError(IntError::Range,i)); + //THROW1((i<0) || (i>dim), IntError(IntError::Range,i)); val[i] = 0.; } void dVector::cequ(int i, const VectorBase& V, double s, int j) { const dVector& v = (const dVector&) V; - THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cequ")); - THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cequ")); + //THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cequ")); + //THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cequ")); val[i] = s*v.val[j]; } @@ -219,9 +219,9 @@ void dVector::cequ(int i, const VectorBase& V, double s, int j) void dVector::cequ(int i, const VectorBase& V, double s, int j, double t, int k) { const dVector& v = (const dVector&) V; - THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cequ")); - THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cequ")); - THROW1((k<0) || (k>v.dim), IntError(IntError::Range,k,"cequ")); + //THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cequ")); + //THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cequ")); + //THROW1((k<0) || (k>v.dim), IntError(IntError::Range,k,"cequ")); val[i] = s*v.val[j] + t*v.val[k]; } @@ -230,11 +230,11 @@ void dVector::cequ(int i, const VectorBase& V, double s, int j, double t, int k, double q, int l, double r, int m) { const dVector& v = (const dVector&) V; - THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cequ")); - THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cequ")); - THROW1((k<0) || (k>v.dim), IntError(IntError::Range,k,"cequ")); - THROW1((l<0) || (l>v.dim), IntError(IntError::Range,l,"cequ")); - THROW1((m<0) || (m>v.dim), IntError(IntError::Range,m,"cequ")); + //THROW1((i<0) || (i>dim), IntError(IntError::Range,i,"cequ")); + //THROW1((j<0) || (j>v.dim), IntError(IntError::Range,j,"cequ")); + //THROW1((k<0) || (k>v.dim), IntError(IntError::Range,k,"cequ")); + //THROW1((l<0) || (l>v.dim), IntError(IntError::Range,l,"cequ")); + //THROW1((m<0) || (m>v.dim), IntError(IntError::Range,m,"cequ")); val[i] = s*v.val[j] + t*v.val[k] + q*v.val[l] + r*v.val[m]; } diff --git a/deal.II/lac/source/ivector.cc b/deal.II/lac/source/ivector.cc index 4e7242151b..c98acc6808 100644 --- a/deal.II/lac/source/ivector.cc +++ b/deal.II/lac/source/ivector.cc @@ -12,7 +12,7 @@ iVector::iVector() { dim=maxdim=1; val = new int[1]; - THROWUNCOND(!val, Error(Error::NoMem,"iVector::iVector")); + //THROWUNCOND(!val, Error(Error::NoMem,"iVector::iVector")); val[0] = 0; } @@ -20,10 +20,10 @@ iVector::iVector(int n) { dim = n; maxdim = n; - THROW1(n<=0, IntError(IntError::IllegalDimension, n, "iVector::iVector")); + //THROW1(n<=0, IntError(IntError::IllegalDimension, n, "iVector::iVector")); val = new int[maxdim]; - THROWUNCOND(!val, Error(Error::NoMem,"iVector::iVector")); + //THROWUNCOND(!val, Error(Error::NoMem,"iVector::iVector")); (*this) = 0; } @@ -36,12 +36,12 @@ iVector::iVector(const iVector& v) void iVector::reinit(int n, int fast) { - THROW1(n<=0, IntError(IntError::IllegalDimension, n, "iVector::reinit")); + //THROW1(n<=0, IntError(IntError::IllegalDimension, n, "iVector::reinit")); if (n>maxdim) { delete[] val; val = new int[n]; - THROWUNCOND(!val, Error(Error::NoMem,"iVector::reinit")); + //THROWUNCOND(!val, Error(Error::NoMem,"iVector::reinit")); maxdim = n; } dim = n; @@ -55,7 +55,7 @@ void iVector::reinit(const iVector& v, int fast) { delete[] val; val = new int[n]; - THROWUNCOND(!val, Error(Error::NoMem,"iVector::reinit")); + //THROWUNCOND(!val, Error(Error::NoMem,"iVector::reinit")); maxdim = n; } dim = n; -- 2.39.5