summaryrefslogtreecommitdiff
path: root/modules/language/python/range.scm
diff options
context:
space:
mode:
authorStefan Israelsson Tampe <stefan.itampe@gmail.com>2017-10-06 12:37:08 +0200
committerStefan Israelsson Tampe <stefan.itampe@gmail.com>2017-10-06 12:37:08 +0200
commit7ddc6ae87f08cec346a1c5ca234286b5454c64b4 (patch)
tree64eac37bf570e5f63f505fcd4628b338dae1744f /modules/language/python/range.scm
parent40bdb5e60820bd559eaed121d77bbb6972a68ea2 (diff)
small fixes
Diffstat (limited to 'modules/language/python/range.scm')
-rw-r--r--modules/language/python/range.scm55
1 files changed, 28 insertions, 27 deletions
diff --git a/modules/language/python/range.scm b/modules/language/python/range.scm
index 675d45a..154e615 100644
--- a/modules/language/python/range.scm
+++ b/modules/language/python/range.scm
@@ -8,35 +8,36 @@
#:export (range))
(define-python-class range ()
- (define _a 0)
- (define _b 0)
- (define _c 1)
-
(define __init__
(case-lambda
- ((self n)
- (let ((n (py-index n)))
- (set self '_b (max 0 n))))
- ((self n m)
- (let ((n (py-index n))
- (m (py-index m)))
- (set self '_a m)
- (set self '_b (max m n))))
- ((self n m k)
- (let ((n (py-index n))
- (m (py-index m))
- (k (py-index k)))
- (cond
- ((= k 0)
- (raise TypeError "range does not allow 0 as a step"))
- ((> k 0)
- (set self '_a n)
- (set self '_b (if (< m n) n m))
- (set self '_c k))
- ((< k 0)
- (set self '_a n)
- (set self '_b (if (> m n) n m))
- (set self '_c k)))))))
+ ((self n)
+ (let ((n (py-index n)))
+ (set self '_a 0)
+ (set self '_b (max 0 n))
+ (set self '_c 1)))
+
+ ((self n m)
+ (let ((n (py-index n))
+ (m (py-index m)))
+ (set self '_a n)
+ (set self '_b (max m n))
+ (set self '_c 1)))
+
+ ((self n m k)
+ (let ((n (py-index n))
+ (m (py-index m))
+ (k (py-index k)))
+ (cond
+ ((= k 0)
+ (raise TypeError "range does not allow 0 as a step"))
+ ((> k 0)
+ (set self '_a n)
+ (set self '_b (if (< m n) n m))
+ (set self '_c k))
+ ((< k 0)
+ (set self '_a n)
+ (set self '_b (if (> m n) n m))
+ (set self '_c k)))))))
(define __iter__
(make-generator range