From 4288efd50727cf5a5251098bd8a8604cdc2a917f Mon Sep 17 00:00:00 2001 From: Martin Kronbichler Date: Sun, 21 May 2023 20:05:02 +0200 Subject: [PATCH] Switch order of template arguments --- .../deal.II/matrix_free/evaluation_kernels.h | 36 +++++++++++-------- .../matrix_free/tensor_product_kernels.h | 14 ++++---- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/include/deal.II/matrix_free/evaluation_kernels.h b/include/deal.II/matrix_free/evaluation_kernels.h index 4d6fa24347..e193d75e28 100644 --- a/include/deal.II/matrix_free/evaluation_kernels.h +++ b/include/deal.II/matrix_free/evaluation_kernels.h @@ -1048,8 +1048,8 @@ namespace internal dim, (fe_degree == -1) ? 1 : fe_degree + 1, n_q_points_1d, - Number, normal_dir, + Number, Number2>; using EvalTangent = @@ -1057,8 +1057,8 @@ namespace internal dim, (fe_degree == -1) ? 1 : fe_degree, n_q_points_1d, - Number, normal_dir, + Number, Number2>; using Eval0 = typename std::conditional::type; @@ -1244,8 +1244,8 @@ namespace internal dim, (fe_degree == -1) ? 1 : fe_degree + 1, n_q_points_1d, - Number, normal_dir, + Number, Number2>; using EvalTangent = @@ -1253,8 +1253,8 @@ namespace internal dim, (fe_degree == -1) ? 1 : fe_degree, n_q_points_1d, - Number, normal_dir, + Number, Number2>; using Eval0 = typename std::conditional::type; @@ -1437,6 +1437,14 @@ namespace internal * * This class allows for dimension-independent application of the operation, * implemented by template recursion. It has been tested up to 6d. + * + * The last two template arguments in this class are unused. They have a + * default type set to bool, but any type will compile. These arguments are + * present for backward compatibility of this (internal) interface with + * previous versions of deal.II, where the template arguments were used to + * indicate the number types These are now part of the do_forward() and + * do_backward() functions, and they will be removed from a future version + * of deal.II. */ template ; using EvalTangent = EvaluatorTensorProductAnisotropic; using TempEval0 = typename std:: @@ -3258,16 +3266,16 @@ namespace internal dim - 1, (fe_degree == -1) ? 1 : fe_degree + 1, n_q_points_1d, - Number, normal_dir, + Number, Number2>; using EvalTangent = EvaluatorTensorProductAnisotropic; using TempEval0 = typename std:: @@ -3713,15 +3721,15 @@ namespace internal dim, (fe_degree == -1) ? 1 : fe_degree + 1, 0, - Number, 0, + Number, Number2>, EvaluatorTensorProductAnisotropic>::type; using Evalf1 = typename std::conditional< face_direction == 1, @@ -3729,15 +3737,15 @@ namespace internal dim, (fe_degree == -1) ? 1 : fe_degree + 1, 0, - Number, 1, + Number, Number2>, EvaluatorTensorProductAnisotropic>::type; using Evalf2 = typename std::conditional< face_direction == 2, @@ -3745,15 +3753,15 @@ namespace internal dim, (fe_degree == -1) ? 1 : fe_degree + 1, 0, - Number, 2, + Number, Number2>, EvaluatorTensorProductAnisotropic>::type; Evalf0 evalf0 = diff --git a/include/deal.II/matrix_free/tensor_product_kernels.h b/include/deal.II/matrix_free/tensor_product_kernels.h index df3cb6cbd4..d6b7b0e460 100644 --- a/include/deal.II/matrix_free/tensor_product_kernels.h +++ b/include/deal.II/matrix_free/tensor_product_kernels.h @@ -149,8 +149,8 @@ namespace internal int dim, int n_rows, int n_columns, + int normal_dir, typename Number, - int normal_dir, typename Number2 = Number> struct EvaluatorTensorProductAnisotropic {}; @@ -2534,15 +2534,15 @@ namespace internal template struct EvaluatorTensorProductAnisotropic { static constexpr unsigned int n_rows_of_product = @@ -2666,8 +2666,8 @@ namespace internal template template inline void @@ -2676,8 +2676,8 @@ namespace internal dim, n_rows, n_columns, - Number, normal_dir, + Number, Number2>::apply(const Number2 *DEAL_II_RESTRICT shape_data, const Number * in, Number * out) @@ -2759,8 +2759,8 @@ namespace internal template template ::apply_face(const Number *DEAL_II_RESTRICT in, Number *DEAL_II_RESTRICT out) const { -- 2.39.5