From 70a5c7588c72e12137f5a1ca367b737263afe495 Mon Sep 17 00:00:00 2001 From: bangerth Date: Wed, 13 Feb 2013 14:27:47 +0000 Subject: [PATCH] Fix the same bug a third time. git-svn-id: https://svn.dealii.org/trunk@28370 0785d39b-7218-0410-832d-ea1e28bc413d --- .../include/deal.II/lac/sparse_matrix_ez.h | 2 +- tests/lac/matrices_ez_add.cc | 55 +++++++++++++++++++ tests/lac/matrices_ez_add/cmp/generic | 7 +++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 tests/lac/matrices_ez_add.cc create mode 100644 tests/lac/matrices_ez_add/cmp/generic diff --git a/deal.II/include/deal.II/lac/sparse_matrix_ez.h b/deal.II/include/deal.II/lac/sparse_matrix_ez.h index b0ba342afd..a7fa2e7f46 100644 --- a/deal.II/include/deal.II/lac/sparse_matrix_ez.h +++ b/deal.II/include/deal.II/lac/sparse_matrix_ez.h @@ -1642,7 +1642,7 @@ SparseMatrixEZ::add (const number factor, // loop over the elements of the argument matrix row by row, as suggested // in the documentation of the sparse matrix iterator class, and // add them into the current object - for (unsigned int row = 0; row < M.n(); ++row) + for (unsigned int row = 0; row < M.m(); ++row) { const typename MATRIX::const_iterator end_row = M.end(row); for (typename MATRIX::const_iterator entry = M.begin(row); diff --git a/tests/lac/matrices_ez_add.cc b/tests/lac/matrices_ez_add.cc new file mode 100644 index 0000000000..d93d19cf60 --- /dev/null +++ b/tests/lac/matrices_ez_add.cc @@ -0,0 +1,55 @@ +//---------------------------------------------------------------------- +// $Id$ +// +// Copyright (C) 2005, 2013 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------------------------------------------------- + +// Test SparseMatrixEZ::add + +#include "../tests.h" + +#include + +#include +#include +#include +#include + +#include + +int main() +{ + std::ofstream logfile("matrices_ez_add/output"); + logfile.setf(std::ios::fixed); + deallog << std::setprecision(3); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + SparseMatrixEZ ez(5,4); + ez.set(0,0,2.); + ez.set(0,2,3.); + ez.set(0,3,4.); + ez.set(1,0,5.); + ez.set(1,1,6.); + ez.set(1,3,7.); + ez.set(2,0,8.); + ez.set(2,1,9.); + ez.set(2,2,10.); + ez.set(2,3,11.); + ez.set(4,0,12.); + ez.set(4,2,13.); + ez.set(4,3,14.); + + deallog << "SparseMatrixEZ::copy_from SparseMatrixEZ" + << std::endl; + SparseMatrixEZ ff(ez.m(), ez.n()); + ff.add(2, ez); + ff.print_formatted(logfile, 0, false, 5, "~"); +} diff --git a/tests/lac/matrices_ez_add/cmp/generic b/tests/lac/matrices_ez_add/cmp/generic new file mode 100644 index 0000000000..54d2c40c4f --- /dev/null +++ b/tests/lac/matrices_ez_add/cmp/generic @@ -0,0 +1,7 @@ + +DEAL::SparseMatrixEZ::copy_from SparseMatrixEZ +4. ~ 6. 8. +10. 12. ~ 14. +16. 18. 20. 22. +~ ~ ~ ~ +24. ~ 26. 28. -- 2.39.5