Метод hypot
Метод hypot класса f64 вычисляет
квадратный корень из суммы квадратов двух чисел.
Иными словами, он возвращает длину гипотенузы
прямоугольного треугольника с катетами self
и other. Параметром метод принимает второе
число (второй катет), а первым числом выступает
само значение, у которого вызывается метод.
Метод устойчив к переполнению и потере точности,
в отличие от прямого вычисления
(self * self + other * other).sqrt.
Синтаксис
f64::hypot(self, other)
Пример
Давайте вычислим гипотенузу для катетов
3.0 и 4.0:
fn main()
{
let res = 3.0_f64.hypot(4.0);
println!("{}", res);
}
Результат выполнения кода:
5
Пример
Давайте вычислим гипотенузу для катетов
5.0 и 12.0:
fn main()
{
let res = 5.0_f64.hypot(12.0);
println!("{}", res);
}
Результат выполнения кода:
13
Пример
Метод hypot корректно работает с очень
большими числами, где прямое возведение в квадрат
привело бы к переполнению:
fn main()
{
let a = 1.0e200_f64;
let b = 1.0e200_f64;
let res = a.hypot(b);
println!("{}", res);
}
Результат выполнения кода:
1.4142135623730952e200