From cb8de4302742a8320c1412dd6249bca541dc2461 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Tue, 3 Apr 2012 15:30:18 -0700 Subject: [PATCH] Manage our branches explicitly in clamp. This provides saner behavior when clamping to "nonsense" ranges like [5, 3]. --- src/main/java/pythagoras/d/MathUtil.java | 4 +++- src/main/java/pythagoras/f/MathUtil.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/pythagoras/d/MathUtil.java b/src/main/java/pythagoras/d/MathUtil.java index 36cb293..a5b9308 100644 --- a/src/main/java/pythagoras/d/MathUtil.java +++ b/src/main/java/pythagoras/d/MathUtil.java @@ -50,7 +50,9 @@ public class MathUtil * Clamps a value to the range [lower, upper]. */ public static double clamp (double v, double lower, double upper) { - return Math.min(Math.max(v, lower), upper); + if (v < lower) return lower; + else if (v > upper) return upper; + else return v; } /** diff --git a/src/main/java/pythagoras/f/MathUtil.java b/src/main/java/pythagoras/f/MathUtil.java index bf7a4a4..2b65f06 100644 --- a/src/main/java/pythagoras/f/MathUtil.java +++ b/src/main/java/pythagoras/f/MathUtil.java @@ -50,7 +50,9 @@ public class MathUtil * Clamps a value to the range [lower, upper]. */ public static float clamp (float v, float lower, float upper) { - return Math.min(Math.max(v, lower), upper); + if (v < lower) return lower; + else if (v > upper) return upper; + else return v; } /**