From 7c1b82de667d1ddf15c24b727411788e9ad06d3e Mon Sep 17 00:00:00 2001 From: wolf Date: Fri, 19 May 2000 15:07:52 +0000 Subject: [PATCH] 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 --- deal.II/lac/source/sparsity_pattern.cc | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) 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()); }; -- 2.39.5