summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--bin/scheme.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/bin/scheme.c b/bin/scheme.c
index 273dd2dc..b9e955bc 100644
--- a/bin/scheme.c
+++ b/bin/scheme.c
@@ -34,7 +34,11 @@ static const struct Hsv { double h, s, v; }
     M = { 300.0, 1.0, 1.0 };
 
 static struct Hsv x(struct Hsv o, double hd, double sf, double vf) {
-    return (struct Hsv) { o.h + hd, o.s * sf, o.v * vf };
+    return (struct Hsv) {
+        fmod(o.h + hd, 360.0),
+        fmin(o.s * sf, 1.0),
+        fmin(o.v * vf, 1.0),
+    };
 }
 
 struct Ansi {