floor overloads

Synopses

Declared in <mp‐units/math.h>

Computes the largest quantity with integer representation and unit type To with its number not greater than q

template<
    Unit auto To,
    auto R,
    typename Rep>
[[nodiscard]]
constexpr
quantity<detail::clone_reference_with<To>®, Rep>
floor(quantity<R, Rep> const& q) noexcept
requires requires { q.force_in(To); } &&
           treat_as_floating_point<Rep> && (requires(Rep v) { floor(v); } #if MP_UNITS_HOSTED                                               || requires(Rep v) { std::floor(v); } #endif ||
            (!treat_as_floating_point<Rep> && requires { representation_values<Rep>::one(); }));

Computes the largest quantity point with integer representation and unit type To with its number not greater than qp

template<
    Unit auto To,
    auto R,
    auto PO,
    typename Rep>
[[nodiscard]]
constexpr
QuantityPointOf<quantity_point<R, PO, Rep>::quantity_spec> auto
floor(quantity_point<R, PO, Rep> const& qp) noexcept
requires requires { qp.force_in(To); } &&
           treat_as_floating_point<Rep> && (requires(Rep v) { floor(v); } #if MP_UNITS_HOSTED                                               || requires(Rep v) { std::floor(v); } #endif ||
            (!treat_as_floating_point<Rep> && requires { representation_values<Rep>::one(); }));

Return Value

  • Quantity The rounded quantity with unit type To

  • QuantityPoint The rounded quantity point with unit type To

Template Parameters

Name

Description

q

Quantity being the base of the operation

Parameters

Name

Description

qp

QuantityPoint being the base of the operation

Created with MrDocs