From 92451038f94016831a29583320a66df695aad69a Mon Sep 17 00:00:00 2001 From: bangerth Date: Wed, 13 Feb 2013 14:16:17 +0000 Subject: [PATCH] Fix the same bug a second time in a different place. git-svn-id: https://svn.dealii.org/trunk@28369 0785d39b-7218-0410-832d-ea1e28bc413d --- .../include/deal.II/lac/sparse_matrix_ez.h | 4 +- tests/lac/matrices_ez.cc | 55 +++++++++++++++++++ tests/lac/matrices_ez/cmp/generic | 7 +++ 3 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 tests/lac/matrices_ez.cc create mode 100644 tests/lac/matrices_ez/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 71b209873f..b0ba342afd 100644 --- a/deal.II/include/deal.II/lac/sparse_matrix_ez.h +++ b/deal.II/include/deal.II/lac/sparse_matrix_ez.h @@ -1,7 +1,7 @@ //--------------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2012 by the deal.II authors +// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2012, 2013 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -1614,7 +1614,7 @@ SparseMatrixEZ::copy_from (const MATRIX &M) // loop over the elements of the argument matrix row by row, as suggested // in the documentation of the sparse matrix iterator class, and // copy 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.cc b/tests/lac/matrices_ez.cc new file mode 100644 index 0000000000..d5ebb786f1 --- /dev/null +++ b/tests/lac/matrices_ez.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::copy_from + +#include "../tests.h" + +#include + +#include +#include +#include +#include + +#include + +int main() +{ + std::ofstream logfile("matrices_ez/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; + ff.copy_from(ez); + ff.print_formatted(logfile, 0, false, 5, "~"); +} diff --git a/tests/lac/matrices_ez/cmp/generic b/tests/lac/matrices_ez/cmp/generic new file mode 100644 index 0000000000..073151f38d --- /dev/null +++ b/tests/lac/matrices_ez/cmp/generic @@ -0,0 +1,7 @@ + +DEAL::SparseMatrixEZ::copy_from SparseMatrixEZ +2. ~ 3. 4. +5. 6. ~ 7. +8. 9. 10. 11. +~ ~ ~ ~ +12. ~ 13. 14. -- 2.39.5