Author: bugman Date: Mon Jan 11 17:11:56 2010 New Revision: 10174 URL: http://svn.gna.org/viewcvs/relax?rev=10174&view=rev Log: Removed the nesting of the Iterator class. Modified: branches/multi_processor_merge/generic_fns/subdivide_grid.py Modified: branches/multi_processor_merge/generic_fns/subdivide_grid.py URL: http://svn.gna.org/viewcvs/relax/branches/multi_processor_merge/generic_fns/subdivide_grid.py?rev=10174&r1=10173&r2=10174&view=diff ============================================================================== --- branches/multi_processor_merge/generic_fns/subdivide_grid.py (original) +++ branches/multi_processor_merge/generic_fns/subdivide_grid.py Mon Jan 11 17:11:56 2010 @@ -77,7 +77,7 @@ def __iter__(self): - return Grid_info.Iterator(self, self.start, self.start+self.range) + return Iterator(self, self.start, self.start+self.range) def __str__(self): @@ -239,63 +239,63 @@ - class Iterator(object): - def __init__(self, info, start, end): - self.info = info - - # start point - self.start = start - - # end of range - self.end = end - - #current step - self.step = start - - self.offsets = info.get_step_offset(self.step) - self.params = self.info.get_params(self.offsets) - - - def __iter__(self): - return self - - - def __str__(self): - print type(self.start) - print type(self.end) - print type(self.step) - return ''' info: - - %s - - iter: - - start %d - end %d - step %d - offsets %s - params %s ''' % (`self.info`, self.start, self.end, self.step, `self.offsets`, `self.params`) - - - def increment(self): - # Increment the grid search. - for j in xrange(self.info.n): - if self.offsets[j] < self.info.grid_ops[j][GRID_STEPS]-1: - self.offsets[j] = self.offsets[j] + 1 - - # Exit so that the other step numbers are not incremented. - break - else: - self.offsets[j] = 0 - - - def next(self): - if self.step >= self.end: - raise StopIteration() - - self.params = self.info.get_params(self.offsets, self.params) - - self.step = self.step + 1 - self.increment() - - return self.params +class Iterator(object): + def __init__(self, info, start, end): + self.info = info + + # start point + self.start = start + + # end of range + self.end = end + + #current step + self.step = start + + self.offsets = info.get_step_offset(self.step) + self.params = self.info.get_params(self.offsets) + + + def __iter__(self): + return self + + + def __str__(self): + print type(self.start) + print type(self.end) + print type(self.step) + return ''' info: + + %s + + iter: + + start %d + end %d + step %d + offsets %s + params %s ''' % (`self.info`, self.start, self.end, self.step, `self.offsets`, `self.params`) + + + def increment(self): + # Increment the grid search. + for j in xrange(self.info.n): + if self.offsets[j] < self.info.grid_ops[j][GRID_STEPS]-1: + self.offsets[j] = self.offsets[j] + 1 + + # Exit so that the other step numbers are not incremented. + break + else: + self.offsets[j] = 0 + + + def next(self): + if self.step >= self.end: + raise StopIteration() + + self.params = self.info.get_params(self.offsets, self.params) + + self.step = self.step + 1 + self.increment() + + return self.params