summaryrefslogtreecommitdiff
path: root/modules/language/python/module/_python.scm
diff options
context:
space:
mode:
authorStefan Israelsson Tampe <stefan.itampe@gmail.com>2018-08-02 16:20:08 +0200
committerStefan Israelsson Tampe <stefan.itampe@gmail.com>2018-08-02 16:20:08 +0200
commitf5bc0e0dbf979bc65380fff29f5b5b9ddf363469 (patch)
tree4d2037ef57bd4f757a081968726028b4ba63aa2c /modules/language/python/module/_python.scm
parent6164d13cae1e1ab6f9f35cbf57cf215d25fd4672 (diff)
improving decimal
Diffstat (limited to 'modules/language/python/module/_python.scm')
-rw-r--r--modules/language/python/module/_python.scm7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/language/python/module/_python.scm b/modules/language/python/module/_python.scm
index 1dd9ff9..2cbd54f 100644
--- a/modules/language/python/module/_python.scm
+++ b/modules/language/python/module/_python.scm
@@ -292,7 +292,12 @@
((x y)
(expt x y))
((x y z)
- (py-mod (expt x y) z))))
+ (if (and (number? y) (integer? y) (>= z 0))
+ (let lp ((s 1) (i 0))
+ (if (< i z)
+ (lp (py-mod (* s y) z) (+ i 1))
+ s))
+ (modulo (expt x y) z)))))
(define-syntax-rule (super . l) (py-super-mac . l))