Skip to content
Snippets Groups Projects
Commit 3b751dfe authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Remove constructors from list of vectors

parent 54b5d0a6
Branches
No related tags found
No related merge requests found
......@@ -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
......@@ -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
{
......
......@@ -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}});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment