summaryrefslogtreecommitdiff
path: root/modules/language/python/number.scm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python/number.scm')
-rw-r--r--modules/language/python/number.scm29
1 files changed, 27 insertions, 2 deletions
diff --git a/modules/language/python/number.scm b/modules/language/python/number.scm
index c81570d..6d93435 100644
--- a/modules/language/python/number.scm
+++ b/modules/language/python/number.scm
@@ -8,14 +8,39 @@
#:use-module (language python persist)
#:export (py-int py-float py-complex
py-/ py-logand py-logior py-logxor py-abs py-trunc
- py-lshift py-rshift py-mod py-floordiv py-round
+ py-lshift py-rshift py-mod py-floordiv py-round py-iadd
+ py-lognot py-matmul
<py-int> <py-float> <py-complex>
py-divmod pyfloat-listing pyint-listing pycomplex-listing
py-as-integer-ratio py-conjugate py-fromhex py-hex py-imag
- py-is-integer py-real hex py-bin py-index))
+ py-is-integer py-real hex py-bin py-index
+ py-ifloordiv py-ilshift py-imod py-imul py-imatmul
+ py-ilogior py-ilogand py-ipow py-isub py-i/
+ py-irshift py-ilogxor))
(define-syntax-rule (aif it p x y) (let ((it p)) (if it x y)))
+(define-syntax-rule (mki py-iadd __iadd__)
+ (define (py-iadd x y)
+ ((ref x '__iadd__) y)))
+
+(mki py-iadd __iadd__)
+
+(mki py-matmul __matmul__)
+(mki py-ifloordiv __ifloordiv__)
+(mki py-ilshift __ilshift__)
+(mki py-imod __imod__)
+(mki py-imul __imul__)
+(mki py-imatmul __imatmul__)
+(mki py-ilogior __ior__)
+(mki py-ilogand __iand__)
+(mki py-ipow __ipow__)
+(mki py-isub __isub__)
+(mki py-irshift __irshift__)
+(mki py-ilogxor __ixor__)
+(mki py-i/ __itruediv__)
+
+
(define-class <py-int> () x)
(define-class <py-float> () x)
(define-class <py-complex> () x)