From: David Wells Date: Tue, 13 Aug 2024 22:18:21 +0000 (-0600) Subject: ScalarPolynomialsBase: remove some reinterpret_casts. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e3d8a655f3303845862a83f7016beac1935971e9;p=dealii.git ScalarPolynomialsBase: remove some reinterpret_casts. --- diff --git a/include/deal.II/base/scalar_polynomials_base.h b/include/deal.II/base/scalar_polynomials_base.h index 34ab391dab..1c96466fa5 100644 --- a/include/deal.II/base/scalar_polynomials_base.h +++ b/include/deal.II/base/scalar_polynomials_base.h @@ -258,29 +258,27 @@ inline Tensor ScalarPolynomialsBase::compute_derivative(const unsigned int i, const Point &p) const { - if (order == 1) + if constexpr (order == 1) { - auto derivative = compute_1st_derivative(i, p); - return *reinterpret_cast *>(&derivative); + return compute_1st_derivative(i, p); } - if (order == 2) + else if constexpr (order == 2) { - auto derivative = compute_2nd_derivative(i, p); - return *reinterpret_cast *>(&derivative); + return compute_2nd_derivative(i, p); } - if (order == 3) + else if constexpr (order == 3) { - auto derivative = compute_3rd_derivative(i, p); - return *reinterpret_cast *>(&derivative); + return compute_3rd_derivative(i, p); } - if (order == 4) + else if constexpr (order == 4) { - auto derivative = compute_4th_derivative(i, p); - return *reinterpret_cast *>(&derivative); + return compute_4th_derivative(i, p); + } + else + { + DEAL_II_NOT_IMPLEMENTED(); + return {}; } - DEAL_II_NOT_IMPLEMENTED(); - Tensor empty; - return empty; } DEAL_II_NAMESPACE_CLOSE