From 8e10a17e3bf7a7211818a73bfec72379693f091d Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Fri, 26 May 2000 12:09:27 +0000 Subject: [PATCH] Reorder how vmult and Tvmult work, make them more conformant to the present coding habits. git-svn-id: https://svn.dealii.org/trunk@2956 0785d39b-7218-0410-832d-ea1e28bc413d --- .../lac/include/lac/full_matrix.templates.h | 68 +++++++++++++------ 1 file changed, 47 insertions(+), 21 deletions(-) diff --git a/deal.II/lac/include/lac/full_matrix.templates.h b/deal.II/lac/include/lac/full_matrix.templates.h index ab181fc577..02dd2809c5 100644 --- a/deal.II/lac/include/lac/full_matrix.templates.h +++ b/deal.II/lac/include/lac/full_matrix.templates.h @@ -161,9 +161,9 @@ FullMatrix::vmult (Vector& dst, Assert(dst.size() == m(), ExcDimensionMismatch(dst.size(), m())); Assert(src.size() == n(), ExcDimensionMismatch(src.size(), n())); - number2 s; if ((n()==3) && (m()==3)) { + number2 s; number2 s0,s1,s2; s = src(0); s0 = s*val[0]; s1 = s*val[3]; s2 = s*val[6]; @@ -187,6 +187,7 @@ FullMatrix::vmult (Vector& dst, } else if ((n()==4) && (m()==4)) { + number2 s; number2 s0,s1,s2,s3; s = src(0); s0 = s*val[0]; s1 = s*val[4]; s2 = s*val[8]; s3 = s*val[12]; @@ -214,6 +215,7 @@ FullMatrix::vmult (Vector& dst, } else if ((n()==8) && (m()==8)) { + number2 s; number2 s0,s1,s2,s3,s4,s5,s6,s7; s = src(0); s0 = s*val[0]; s1 = s*val[8]; s2 = s*val[16]; s3 = s*val[24]; @@ -268,16 +270,29 @@ FullMatrix::vmult (Vector& dst, number* e = val; const unsigned int size_m = m(), size_n = n(); - for (unsigned int i=0; i @@ -291,18 +306,29 @@ void FullMatrix::Tvmult (Vector &dst, Assert(dst.size() == n(), ExcDimensionMismatch(dst.size(), n())); Assert(src.size() == m(), ExcDimensionMismatch(src.size(), m())); - unsigned int i,j; - number2 s; const unsigned int size_m = m(), size_n = n(); - for (i=0; i