Author: Maciej Fijalkowski <[email protected]>
Branch: 
Changeset: r366:b725847dbf48
Date: 2013-07-08 10:06 +0200
http://bitbucket.org/pypy/stmgc/changeset/b725847dbf48/

Log:    add division

diff --git a/duhton/glob.c b/duhton/glob.c
--- a/duhton/glob.c
+++ b/duhton/glob.c
@@ -196,6 +196,24 @@
     return DuInt_FromInt(result);
 }
 
+DuObject *du_div(DuObject *cons, DuObject *locals)
+{
+    int result = 1;
+    while (cons != Du_None) {
+        _du_read1(cons);
+        DuObject *expr = _DuCons_CAR(cons);
+        DuObject *next = _DuCons_NEXT(cons);
+
+        _du_save2(next, locals);
+        DuObject *obj = Du_Eval(expr, locals);
+        result /= DuInt_AsInt(obj);
+        _du_restore2(next, locals);
+
+        cons = next;
+    }
+    return DuInt_FromInt(result);
+}
+
 static DuObject *_du_intcmp(DuObject *cons, DuObject *locals, int mode)
 {
     DuObject *obj_a, *obj_b;
@@ -575,6 +593,7 @@
     DuFrame_SetBuiltinMacro(Du_Globals, "+", du_add);
     DuFrame_SetBuiltinMacro(Du_Globals, "-", du_sub);
     DuFrame_SetBuiltinMacro(Du_Globals, "*", du_mul);
+       DuFrame_SetBuiltinMacro(Du_Globals, "/", du_div);
     DuFrame_SetBuiltinMacro(Du_Globals, "<", du_lt);
     DuFrame_SetBuiltinMacro(Du_Globals, "<=", du_le);
     DuFrame_SetBuiltinMacro(Du_Globals, "==", du_eq);
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to