Synopsis
Declared in <mp-units/math.h>
template<
auto R,
auto S,
auto T,
typename Rep1,
typename Rep2,
typename Rep3>
requires requires { get_common_quantity_spec(get_quantity_spec(R) * get_quantity_spec(S), get_quantity_spec(T)); } &&
(equivalent(get_unit(R) * get_unit(S), get_unit(T))) && requires(Rep1 v1, Rep2 v2, Rep3 v3) {
requires requires { fma(v1, v2, v3); } || requires { std::fma(v1, v2, v3); };
}
[[nodiscard]]
constexpr
QuantityOf<get_common_quantity_spec(get_quantity_spec(R) * get_quantity_spec(S), get_quantity_spec(T))> auto
fma(
quantity<R, Rep1> const& a,
quantity<S, Rep2> const& x,
quantity<T, Rep3> const& b) noexcept;