From 8427b91632b73cf2f608b36b14a47ddb4e5d3bf0 Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Sat, 11 Sep 2021 14:57:11 -0700 Subject: Support infinite LP norm - any value greater than 64 --- common/math-vec2.hpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'common') 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); +} -- cgit v1.2.3