[#mp_units-hypot-00] = xref:mp_units.adoc[mp_units]::hypot :relfileprefix: ../ :mrdocs: `hypot` overloads == Synopses Declared in `<mp‐units/math.h>` Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< auto R1, typename Rep1, auto R2, typename Rep2> requires requires(Rep1 v1, Rep2 v2) { get_common_reference(R1, R2); requires requires { hypot(v1, v2); } || requires { std::hypot(v1, v2); }; } [[nodiscard]] constexpr xref:mp_units/QuantityOf.adoc[QuantityOf<get_quantity_spec(get_common_reference(R1, R2))>] auto xref:mp_units/hypot-0e.adoc[hypot]( xref:mp_units/quantity-01.adoc[quantity<R1, Rep1>] const& x, xref:mp_units/quantity-01.adoc[quantity<R2, Rep2>] const& y) noexcept; ---- [.small]#xref:mp_units/hypot-0e.adoc[_» more..._]# Computes the square root of the sum of the squares of x, y, and z, without undue overflow or underflow at intermediate stages of the computation [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< auto R1, typename Rep1, auto R2, typename Rep2, auto R3, typename Rep3> requires requires(Rep1 v1, Rep2 v2, Rep3 v3) { get_common_reference(R1, R2, R3); requires requires { hypot(v1, v2, v3); } || requires { std::hypot(v1, v2, v3); }; } [[nodiscard]] constexpr xref:mp_units/QuantityOf.adoc[QuantityOf<get_quantity_spec(get_common_reference(R1, R2, R3))>] auto xref:mp_units/hypot-08.adoc[hypot]( xref:mp_units/quantity-01.adoc[quantity<R1, Rep1>] const& x, xref:mp_units/quantity-01.adoc[quantity<R2, Rep2>] const& y, xref:mp_units/quantity-01.adoc[quantity<R3, Rep3>] const& z) noexcept; ---- [.small]#xref:mp_units/hypot-08.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#