From: Wolfgang Bangerth Date: Fri, 19 May 2000 15:07:52 +0000 (+0000) Subject: Fix a bug that shows up when a line is empty. X-Git-Tag: v8.0.0~20505 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12afa117ff0500a6ede48dabd02e2f58be8eb97c;p=dealii.git Fix a bug that shows up when a line is empty. git-svn-id: https://svn.dealii.org/trunk@2900 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/lac/source/sparsity_pattern.cc b/deal.II/lac/source/sparsity_pattern.cc index 8876b4dfa9..22e14002c2 100644 --- a/deal.II/lac/source/sparsity_pattern.cc +++ b/deal.II/lac/source/sparsity_pattern.cc @@ -389,14 +389,22 @@ SparsityPattern::compress () // among themselves (this handles // both cases, quadratic and // rectangular matrices) - Assert (find (&new_colnums[rowstart[line]+1], - &new_colnums[next_row_start], - new_colnums[rowstart[line]]) == - &new_colnums[next_row_start], + // + // the only exception here is + // if the row contains no + // entries at all + Assert ((rowstart[line] == rowstart[line+1]) + || + (find (&new_colnums[rowstart[line]+1], + &new_colnums[next_row_start], + new_colnums[rowstart[line]]) == + &new_colnums[next_row_start]), ExcInternalError()); - Assert (adjacent_find(&new_colnums[rowstart[line]+1], - &new_colnums[next_row_start]) == - &new_colnums[next_row_start], + Assert ((rowstart[line] == rowstart[line+1]) + || + (adjacent_find(&new_colnums[rowstart[line]+1], + &new_colnums[next_row_start]) == + &new_colnums[next_row_start]), ExcInternalError()); };