From: Maximilian Bergbauer Date: Thu, 11 May 2023 13:10:23 +0000 (+0200) Subject: Reduce overhead of AlignedVector X-Git-Tag: v9.5.0-rc1~241^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F15193%2Fhead;p=dealii.git Reduce overhead of AlignedVector --- diff --git a/include/deal.II/matrix_free/evaluation_kernels.h b/include/deal.II/matrix_free/evaluation_kernels.h index bf994afb1b..7167750c2d 100644 --- a/include/deal.II/matrix_free/evaluation_kernels.h +++ b/include/deal.II/matrix_free/evaluation_kernels.h @@ -3552,9 +3552,9 @@ namespace internal fe_degree + 1, 0, Number> - evalf(shape_data[face_no % 2], - AlignedVector(), - AlignedVector(), + evalf(shape_data[face_no % 2].begin(), + nullptr, + nullptr, n_points_1d, 0); diff --git a/include/deal.II/matrix_free/tensor_product_kernels.h b/include/deal.II/matrix_free/tensor_product_kernels.h index e02030183a..05ae25107a 100644 --- a/include/deal.II/matrix_free/tensor_product_kernels.h +++ b/include/deal.II/matrix_free/tensor_product_kernels.h @@ -231,6 +231,22 @@ namespace internal (void)dummy2; } + /** + * Constructor, taking the data from ShapeInfo via raw pointers + */ + EvaluatorTensorProduct(const Number2 * shape_values, + const Number2 * shape_gradients, + const Number2 * shape_hessians, + const unsigned int dummy1 = 0, + const unsigned int dummy2 = 0) + : shape_values(shape_values) + , shape_gradients(shape_gradients) + , shape_hessians(shape_hessians) + { + (void)dummy1; + (void)dummy2; + } + template void values(const Number in[], Number out[]) const