__author__ = 'aweil' def test_xrange_27(): from itertools import takewhile, count, islice sign = lambda x: x.__cmp__(0) def v1 (start,stop,step ): return takewhile(lambda x:sign(stop-x)==sign(step), (start+i*step for i in count())) def v2 (start,stop,step ): return takewhile(lambda x:stop.__cmp__(x)==sign(step), (start+i*step for i in count())) def v3 (start,stop,step ): return takewhile(lambda x:stop.__cmp__(x)==step.__cmp__(0), (start+i*step for i in count())) def py26(start,stop,step): # from file:///usr/share/doc/python2.6-doc/html/library/functions.html#xrange return takewhile(lambda x:x