Simplify namespaces and canonicalize formatting

The motivation for the `mag` sub-namespace was to distinguish something
like `mag::product_t<...>` from `dim::product_t<...>`, based on the
idioms of Aurora Units.  However, we have no need for a `product_t` type
trait, since we can just use `operator*()`, so we can eliminate this
sub-namespace.
This commit is contained in:
Chip Hogg
2022-01-10 14:28:02 -05:00
parent 4f90302dd7
commit cee4be2b67
2 changed files with 6 additions and 9 deletions

View File

@@ -26,7 +26,7 @@
#include <cstdint>
#include <numbers>
namespace units::mag {
namespace units {
/**
* @brief Any type which can be used as a basis vector in a BasePower.
@@ -339,8 +339,7 @@ constexpr Magnitude auto as_magnitude() {
/ detail::prime_factorization_v<R.den>;
}
namespace detail
{
namespace detail {
// Default implementation.
template<std::intmax_t N>
requires (N > 0)
@@ -358,4 +357,4 @@ template<>
struct prime_factorization<1> { static constexpr magnitude<> value{}; };
} // namespace detail
} // namespace units::mag
} // namespace units

View File

@@ -25,8 +25,7 @@
#include <catch2/catch.hpp>
#include <type_traits>
namespace units::mag
{
namespace units {
// A set of non-standard bases for testing purposes.
struct noninteger_base { static constexpr long double value = 1.234L; };
@@ -216,8 +215,7 @@ TEST_CASE("Can raise Magnitudes to rational powers")
}
}
namespace detail
{
namespace detail {
TEST_CASE("Prime helper functions")
{
@@ -375,4 +373,4 @@ TEST_CASE("strictly_increasing")
} // namespace detail
} // namespace units::mag
} // namespace units