From 3b751dfedfc803f48a9d3dbee97de29bf8b7e721 Mon Sep 17 00:00:00 2001 From: Stephane Del Pino <stephane.delpino44@gmail.com> Date: Sat, 23 Jan 2021 11:40:46 +0100 Subject: [PATCH] Remove constructors from list of vectors --- src/analysis/PolynomialBasis.hpp | 17 +++++++++-------- src/language/modules/SchemeModule.hpp | 4 ++-- tests/test_PolynomialBasis.cpp | 6 ++---- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/analysis/PolynomialBasis.hpp b/src/analysis/PolynomialBasis.hpp index 4359f408d..84b223fd7 100644 --- a/src/analysis/PolynomialBasis.hpp +++ b/src/analysis/PolynomialBasis.hpp @@ -7,6 +7,7 @@ enum class BasisType { + undefined, lagrange, canonical, taylor @@ -104,6 +105,8 @@ class PolynomialBasis return "canonical"; case BasisType::taylor: return "taylor"; + case BasisType::undefined: + return "undefined"; default: return "unknown basis type"; } @@ -141,19 +144,17 @@ class PolynomialBasis return _buildTaylorBasis(shift); break; } - default: + // LCOV_EXCL_START + default: { throw UnexpectedError("unknown basis type"); } + // LCOV_EXCL_STOP + } } - PUGS_INLINE constexpr PolynomialBasis(const TinyVector<N + 1, Polynomial<N>>& elements) noexcept - : m_elements{elements} - {} PUGS_INLINE - constexpr PolynomialBasis(TinyVector<N + 1, Polynomial<N>>&& elements) noexcept : m_elements{elements} {} + constexpr PolynomialBasis() noexcept : m_basis_type{BasisType::undefined} {} - PUGS_INLINE - constexpr PolynomialBasis() noexcept = default; - ~PolynomialBasis() = default; + ~PolynomialBasis() = default; }; #endif // POLYNOMIAL_BASIS_HPP diff --git a/src/language/modules/SchemeModule.hpp b/src/language/modules/SchemeModule.hpp index 963ed4af0..aa0f13226 100644 --- a/src/language/modules/SchemeModule.hpp +++ b/src/language/modules/SchemeModule.hpp @@ -17,8 +17,8 @@ inline ASTNodeDataType ast_node_data_type_from<std::shared_ptr<const IBoundaryCo ASTNodeDataType::build<ASTNodeDataType::type_id_t>("boundary_condition"); template <> -inline ASTNodeDataType ast_node_data_type_from<std::shared_ptr<const BasisType>> = {ASTNodeDataType::type_id_t, - "basis_type"}; +inline ASTNodeDataType ast_node_data_type_from<std::shared_ptr<const BasisType>> = + ASTNodeDataType::build<ASTNodeDataType::type_id_t>("basis_type"); class SchemeModule : public BuiltinModule { diff --git a/tests/test_PolynomialBasis.cpp b/tests/test_PolynomialBasis.cpp index ae3745553..ac34fca34 100644 --- a/tests/test_PolynomialBasis.cpp +++ b/tests/test_PolynomialBasis.cpp @@ -21,9 +21,7 @@ TEST_CASE("PolynomialBasis", "[analysis]") { SECTION("construction") { - TinyVector<3, Polynomial<2>> elements; - REQUIRE_NOTHROW(PolynomialBasis<2>(elements)); - REQUIRE_NOTHROW(PolynomialBasis<2>()); + REQUIRE_NOTHROW(PolynomialBasis<2>{}); } SECTION("size") { @@ -34,7 +32,7 @@ TEST_CASE("PolynomialBasis", "[analysis]") SECTION("build") { PolynomialBasis<2> B; - REQUIRE(B.displayType() == "unknown basis type"); + REQUIRE(B.displayType() == "undefined"); B.build(BasisType::canonical); REQUIRE(B.elements()[1] == Polynomial<2>{{0, 1, 0}}); REQUIRE(B.elements()[2] == Polynomial<2>{{0, 0, 1}}); -- GitLab