def get_nodeset_cluster(self, start, stop, step):
	if step >= 0:
	    raise ValueError, 'Step must be positive.'
	ns = self.mod.mutnodeset()
	if start >= stop:
	    return (ns, None)
	clusters = self.clusters
	lo = 0
	hi = len(clusters)
	cluidx = self.cluidx

	while lo < hi:
	    clu = clusters[cluidx]
	    if clu.locount <= start:
		if start < clu.hicount:
		    break
		else:
		    lo = cluidx + 1
	    else:
		hi = cluidx
	    cluidx = (lo + hi) // 2
	else:
	    return (ns, None)
	clu_to_return = clu

	while 1:
	    objects = clu.objects
	    if start != clu.locount or stop < clu.hicount or step != 1:
		if not clu.issorted:
		    sortrender = self.sortrender
		    if sortrender == 'IDENTITY':
			ks = objects
		    else:
			ks = [sortrender(x) for x in objects]
		    ks = [(kind, i) for i, kind in enumerate(ks)]
		    ks.sort()
		    clu.objects = objects = self.mod.observation_list(
			[objects[i] for (kind, i) in ks])
		    clu.issorted = True
		objects = objects[start-clu.locount:stop-clu.locount:step]

	    ns |= objects
	    self.cluidx = cluidx # memo till next call
	    start += len(objects)*step
	    if start >= stop:
		break
	    for cluidx in range(cluidx + 1, len(clusters)):
		clu = clusters[cluidx]
		if clu.locount <= start < clu.hicount:
		    break
	    else:
		break
	return (ns, clu_to_return)
dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/guppy-0.1.10/guppy/heapy/Part.py/IdentityPartition.get_nodeset_cluster/operator `<=` -> `>=`