summary refs log tree commit diff
path: root/bin/scheme.c
diff options
context:
space:
mode:
authorJune McEnroe <programble@gmail.com>2018-04-02 19:48:16 -0400
committerJune McEnroe <programble@gmail.com>2018-04-02 19:48:16 -0400
commit0b9995f9031d89476806bce4911cbb89977c2559 (patch)
treeccc601afa62073237093ffd561c62720c3bf84d4 /bin/scheme.c
parentRewrite scheme in a more sensible order (diff)
downloadsrc-0b9995f9031d89476806bce4911cbb89977c2559.tar.gz
src-0b9995f9031d89476806bce4911cbb89977c2559.zip
Modulo H and saturate S, V in scheme
Diffstat (limited to 'bin/scheme.c')
-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 {