Files
refreezer/lib/utils/math_utils.dart
2024-07-21 23:42:21 +02:00

20 lines
322 B
Dart

import 'dart:math';
/// Computes `sqrt(x^2 + y^2)` without under/overflow
num hypot(num x, num y) {
var first = x.abs();
var second = y.abs();
if (y > x) {
first = y.abs();
second = x.abs();
}
if (first == 0.0) {
return second;
}
final t = second / first;
return first * sqrt(1 + t * t);
}