From 7d7fad3a9ede8429d8aaf2cb3637d96f8006e563 Mon Sep 17 00:00:00 2001 From: Martin Kronbichler Date: Sun, 12 Nov 2023 22:51:50 +0100 Subject: [PATCH] SymmetricTensor: Minimalnumber of instructions for multiply by Tensor --- include/deal.II/base/symmetric_tensor.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/deal.II/base/symmetric_tensor.h b/include/deal.II/base/symmetric_tensor.h index fa61cdf567..c8b1245c08 100644 --- a/include/deal.II/base/symmetric_tensor.h +++ b/include/deal.II/base/symmetric_tensor.h @@ -4207,8 +4207,11 @@ operator*(const SymmetricTensor<2, dim, Number> &src1, { Tensor<1, dim, typename ProductType::type> dest; for (unsigned int i = 0; i < dim; ++i) - for (unsigned int j = 0; j < dim; ++j) - dest[i] += src1[i][j] * src2[j]; + { + dest[i] = src1[i][0] * src2[0]; + for (unsigned int j = 1; j < dim; ++j) + dest[i] += src1[i][j] * src2[j]; + } return dest; } -- 2.39.5