mes.c: add quotient and modulo.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 24 Jul 2016 13:25:16 +0000 (15:25 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 24 Jul 2016 13:25:16 +0000 (15:25 +0200)
mes.c
scm.mes

diff --git a/mes.c b/mes.c
index 4b099afe7324c08312bbbeab194060804795d4ad..54faf6dc00fb170f0669aaf81101bfb5e8423637 100644 (file)
--- a/mes.c
+++ b/mes.c
@@ -1168,6 +1168,14 @@ divide (scm *x/*...*/)
   return make_number (n);
 }
 
+scm *
+modulo (scm *a, scm *b)
+{
+  assert (a->type == NUMBER);
+  assert (b->type == NUMBER);
+  return make_number (a->value % b->value);
+}
+
 scm *
 multiply (scm *x/*...*/)
 {
diff --git a/scm.mes b/scm.mes
index e4520e8e06cefd2c6bba25d3ad31a43197e16e4f..57afb211d000a5326fbd3133d130703cce5a3a38 100755 (executable)
--- a/scm.mes
+++ b/scm.mes
   (or (> a b)
       (= a b)))
 
+(define quotient /)
+
 (define (list? x)
   (or (null? x)
       (and (pair? x) (list? (cdr x)))))