From 13da26b26ec7cbbcae8be4ab8bb1628eddf757c7 Mon Sep 17 00:00:00 2001 From: bangerth Date: Fri, 14 Feb 2014 20:52:51 +0000 Subject: [PATCH] Add a test for ProductMatrix::vmult. git-svn-id: https://svn.dealii.org/trunk@32491 0785d39b-7218-0410-832d-ea1e28bc413d --- tests/lac/product_matrix_01.cc | 80 ++++++++++++++++++++++++++++++ tests/lac/product_matrix_01.output | 3 ++ 2 files changed, 83 insertions(+) create mode 100644 tests/lac/product_matrix_01.cc create mode 100644 tests/lac/product_matrix_01.output diff --git a/tests/lac/product_matrix_01.cc b/tests/lac/product_matrix_01.cc new file mode 100644 index 0000000000..271998feb9 --- /dev/null +++ b/tests/lac/product_matrix_01.cc @@ -0,0 +1,80 @@ +// --------------------------------------------------------------------- +// $Id$ +// +// Copyright (C) 2014 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + +// check ProductMatrix::vmult + + +#include "../tests.h" +#include +#include +#include +#include + +#include +#include +#include + +template +void +check() +{ + const double Adata[] = + { + 2, 3, + 4, 5 + }; + + const double Bdata[] = + { + 0, 1, + 2, 3 + }; + + + FullMatrix A(2,2); + FullMatrix B(2,2); + + A.fill(Adata); + B.fill(Bdata); + + GrowingVectorMemory > mem; + + ProductMatrix > AB(A,B,mem); + + Vector u(2); + Vector v(2); + + u(0) = 1.; + u(1) = 2.; + + AB.vmult(v,u); + + deallog << v(0) << '\t' << v(1) << std::endl; +} + + +int main() +{ + std::ofstream logfile("output"); + deallog << std::setprecision(4); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + check(); + check(); +} diff --git a/tests/lac/product_matrix_01.output b/tests/lac/product_matrix_01.output new file mode 100644 index 0000000000..bb1ca41d09 --- /dev/null +++ b/tests/lac/product_matrix_01.output @@ -0,0 +1,3 @@ + +DEAL::28.00 48.00 +DEAL::28.00 48.00 -- 2.39.5