diff options
Diffstat (limited to 'modules/language/python/module/_python.scm')
-rw-r--r-- | modules/language/python/module/_python.scm | 7 |
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)) |