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