Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defmethod infinite-range= ((range-1 cons) (range-2 infinite-range))
- (with-slots (x-increment y-increment) range-2
- ; for cell (a, b) in range (pn, qn)
- ; (a, b) is in (pn, qn)
- ; if any of these are true:
- ; a = b = p = q = 0
- ; a = p = 0 and b mod q = 0 and b/q > 0
- ; b = q = 0 and a mod p = 0 and a/p > 0
- ; None of a, b, p or q = 0 and a mod p = 0 and b mod q = 0 and a/p = b/q and a/p > 0 and b/q > 0
- (let ((p x-increment)
- (q y-increment)
- (a (car range-1))
- (b (cdr range-1)))
- (or
- (= a b p q 0)
- (and (= a p 0) (zerop (mod b q)) (plusp (/ b q)))
- (and (= b q 0) (zerop (mod a p)) (plusp (/ a p)))
- (and (not (zerop a))
- (not (zerop b))
- (not (zerop p))
- (not (zerop q))
- (zerop (mod a p))
- (zerop (mod b q))
- (plusp (/ a p))
- (plusp (/ b q))
- (= (/ a p) (/ b q)))))))
Advertisement
Add Comment
Please, Sign In to add comment