summaryrefslogtreecommitdiff
path: root/common/math-vec2.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/math-vec2.hpp')
-rw-r--r--common/math-vec2.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/common/math-vec2.hpp b/common/math-vec2.hpp
index 2622926..ac6fd9b 100644
--- a/common/math-vec2.hpp
+++ b/common/math-vec2.hpp
@@ -32,5 +32,14 @@ inline double magnitude(const vec2d& v)
inline double lp_distance(const vec2d& v, double p)
{
+ if (p > 64) {
+ return lp_infinite_distance(v);
+ }
+
return pow(pow(v.x, p) + pow(v.y, p), 1 / p);
}
+
+inline double lp_infinite_distance(const vec2d& v)
+{
+ return abs(v.x) > abs(v.y) ? abs(v.x) : abs(v.y);
+}