@@ -375,14 +375,14 @@ struct named_unit<Symbol, QS, PO> : detail::unit_interface {
375375 * @tparam Unit a unit for which we provide a special name
376376 */
377377template <symbol_text Symbol, Unit auto U>
378- requires (!Symbol.empty()) && detail::magnitude_is_positive<mp_units::get_canonical_unit(U).mag>
378+ requires (!Symbol.empty())
379379struct named_unit<Symbol, U> : decltype(U)::_base_type_ {
380380 using _base_type_ = named_unit; // exposition only
381381 static constexpr auto _symbol_ = Symbol; // /< Unique unit identifier
382382};
383383
384384template <symbol_text Symbol, Unit auto U, PointOrigin auto PO>
385- requires (!Symbol.empty()) && detail::magnitude_is_positive<mp_units::get_canonical_unit(U).mag>
385+ requires (!Symbol.empty())
386386struct named_unit<Symbol, U, PO> : decltype(U)::_base_type_ {
387387 using _base_type_ = named_unit; // exposition only
388388 static constexpr auto _symbol_ = Symbol; // /< Unique unit identifier
@@ -399,17 +399,15 @@ struct named_unit<Symbol, U, PO> : decltype(U)::_base_type_ {
399399 * @tparam QuantitySpec a specification of a quantity to be measured with this unit
400400 */
401401template <symbol_text Symbol, Unit auto U, detail::QuantityKindSpec auto QS>
402- requires (!Symbol.empty()) && (QS.dimension == detail::get_associated_quantity(U).dimension) &&
403- detail::magnitude_is_positive<mp_units::get_canonical_unit(U).mag>
402+ requires (!Symbol.empty()) && (QS.dimension == detail::get_associated_quantity(U).dimension)
404403struct named_unit<Symbol, U, QS> : decltype(U)::_base_type_ {
405404 using _base_type_ = named_unit; // exposition only
406405 static constexpr auto _symbol_ = Symbol; // /< Unique unit identifier
407406 static constexpr auto _quantity_spec_ = QS;
408407};
409408
410409template <symbol_text Symbol, Unit auto U, detail::QuantityKindSpec auto QS, PointOrigin auto PO>
411- requires (!Symbol.empty()) && (QS.dimension == detail::get_associated_quantity(U).dimension) &&
412- detail::magnitude_is_positive<mp_units::get_canonical_unit(U).mag>
410+ requires (!Symbol.empty()) && (QS.dimension == detail::get_associated_quantity(U).dimension)
413411struct named_unit<Symbol, U, QS, PO> : decltype(U)::_base_type_ {
414412 using _base_type_ = named_unit; // exposition only
415413 static constexpr auto _symbol_ = Symbol; // /< Unique unit identifier
0 commit comments