mailr10167 - /branches/multi_processor_merge/generic_fns/subdivide_grid.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on January 11, 2010 - 11:18:
Author: bugman
Date: Mon Jan 11 11:18:08 2010
New Revision: 10167

URL: http://svn.gna.org/viewcvs/relax?rev=10167&view=rev
Log:
Many, many whitespace fixes.


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=10167&r1=10166&r2=10167&view=diff
==============================================================================
--- branches/multi_processor_merge/generic_fns/subdivide_grid.py (original)
+++ branches/multi_processor_merge/generic_fns/subdivide_grid.py Mon Jan 11 
11:18:08 2010
@@ -23,7 +23,7 @@
 
 #FIXME exceptiosn not progated properly in main loop
 import math
-from Numeric import  Float
+from Numeric import Float
 from textwrap import dedent
 
 from Numeric import Float64, ones
@@ -37,15 +37,16 @@
 GRID_UPPER = 2
 
 # FIXME: a somewhat inglorious hack, printing needs to be revisited in the 
light of multiprocessing
-pre_and_post_amble =  True
+pre_and_post_amble = True
 
 
 def set_pre_and_post_amble(value):
     global pre_and_post_amble
-    pre_and_post_amble=value
+    pre_and_post_amble = value
+
 
 class Grid_info(object):
-    def __init__(self,grid_ops,start=0,range=None):
+    def __init__(self, grid_ops, start=0, range=None):
         self.grid_ops = grid_ops
         for op in self.grid_ops:
             op[GRID_LOWER] = float(op[GRID_LOWER])
@@ -54,7 +55,7 @@
         self.grid_dimension = len(grid_ops)
         self.values = self.calc_grid_values(grid_ops)
         self.strides = self.calc_strides(grid_ops)
-        self.start=start
+        self.start = start
 
         #FIXME needs range checking i.e. is start = range > info.steps
         # need checks for empty/fractional ranges
@@ -62,46 +63,47 @@
         if range == None:
             self.range = self.steps-start
         else:
-            self.range=range
-
-
-    def sub_grid(self,start,range):
-        return Grid_info(self.grid_ops,start=start,range=range)
-
-    def sub_divide(self,steps):
+            self.range = range
+
+
+    def sub_grid(self, start, range):
+        return Grid_info(self.grid_ops, start=start, range=range)
+
+
+    def sub_divide(self, steps):
         if steps > self.range:
-            steps =  self.range
+            steps = self.range
 
         increment = self.range/(steps * 1.0)
         max_div_end = self.start + self.range
 
-
         divs = []
-        last_div=self.start
+        last_div = self.start
         for i in range(steps):
-            div_end =  int(math.ceil(self.start + ((i+1) * increment)))
+            div_end = int(math.ceil(self.start + ((i+1) * increment)))
 
             # this garuntees completion in the face of roundoff errors
             if div_end > max_div_end:
-                div_end=max_div_end
-
-            div_range  = div_end - last_div
-            divs.append(self.sub_grid(start= last_div,range=div_range))
+                div_end = max_div_end
+
+            div_range = div_end - last_div
+            divs.append(self.sub_grid(start= last_div, range=div_range))
             last_div = div_end
 
         return divs
 
-    def calc_strides(self,grid_ops):
+
+    def calc_strides(self, grid_ops):
         stride = 1
         result = []
         for op in grid_ops:
             result.append(stride)
-            stride=stride*op[GRID_STEPS]
-
-        return result
-
-
-    def count_grid_steps(self,grid_ops=None):
+            stride = stride*op[GRID_STEPS]
+
+        return result
+
+
+    def count_grid_steps(self, grid_ops=None):
         """ calculate the number of steps in a grid search """
 
         result = 1
@@ -110,11 +112,13 @@
 
         return result
 
-    def calc_grid_values(self,grid_ops=None):
+
+    def calc_grid_values(self, grid_ops=None):
         """ calculate the values the points along each grid dimension can 
take"""
+
         result = []
-        for  op in grid_ops:
-            values=[]
+        for op in grid_ops:
+            values = []
             result.append(values)
 
             op_range = op[GRID_UPPER] - op[GRID_LOWER]
@@ -123,6 +127,7 @@
 
         return result
 
+
     def __str__(self):
         message = '''\
                         grid info:
@@ -135,68 +140,74 @@
 
                   '''
         message = dedent(message)
-        message = message % 
(self.grid_dimension,self.steps,self.start,self.start+self.range)
+        message = message % (self.grid_dimension, self.steps, self.start, 
self.start+self.range)
 
         op_message_list = []
-        for i,op in enumerate(self.grid_ops):
-            op_message  = '%d.  %f...[%d steps]...%f'
-            op_list = (i+1,op[GRID_LOWER], op[GRID_STEPS], op[GRID_UPPER])
+        for i, op in enumerate(self.grid_ops):
+            op_message = '%d.  %f...[%d steps]...%f'
+            op_list = (i+1, op[GRID_LOWER], op[GRID_STEPS], op[GRID_UPPER])
             op_message_list .append(op_message % op_list)
 
-        op_message =  '\n'.join(op_message_list)
-
-        message = message+op_message
+        op_message = '\n'.join(op_message_list)
+
+        message = message + op_message
 
         return message
+
 
     def print_steps(self):
         offsets = self.get_step_offset(self.start)
         #params = self.get_params(step_num)
-        #for op in  self.grid_ops:
+        #for op in self.grid_ops:
         #    params.append(op[GRID_LOWER])
 
-        for i in xrange(self.start,self.start+self.range):
-
-            print `i+1` + '. ',self.get_params(offsets)
+        for i in xrange(self.start, self.start+self.range):
+
+            print `i+1` + '. ', self.get_params(offsets)
             for j in range(self.grid_dimension):
                 if offsets[j] < self.grid_ops[j][GRID_STEPS]-1:
                     offsets[j] = offsets[j] + 1
-                    break    # Exit so that the other step numbers are not 
incremented.
+
+                    # Exit so that the other step numbers are not 
incremented.
+                    break
                 else:
                     offsets[j] = 0
 
-    def get_step_offset(self,step):
-        result=[]
+
+    def get_step_offset(self, step):
+        result = []
         for stride in self.strides[-1::-1]:
-            offset  = step / stride
+            offset = step / stride
             result.append(offset)
-            step= step - stride*offset
+            step = step - stride*offset
 
         result.reverse()
 
         return result
         #res_values = []
-        #for i,elem in enumerate(result):
+        #for i, elem in enumerate(result):
         #    res_values.append(self.values[i][elem])
         #
         #return res_values
 
-    def get_params(self,offsets,params=None):
-        if params==None:
-            params=ones(len(offsets),Float)
-
-
-        for i,offset in enumerate(offsets):
-            params[i]=self.values[i][offset]
+
+    def get_params(self, offsets, params=None):
+        if params == None:
+            params = ones(len(offsets), Float)
+
+        for i, offset in enumerate(offsets):
+            params[i] = self.values[i][offset]
 
         return params
 
+
+
     class Iterator(object):
-        def __init__(self,info,start,end):
-            self.info=info
+        def __init__(self, info, start, end):
+            self.info = info
 
             # start point
-            self.start =start
+            self.start = start
 
             # end of range
             self.end = end
@@ -204,30 +215,24 @@
             #current step
             self.step = start
 
-            self.offsets= info.get_step_offset(self.step)
+            self.offsets = info.get_step_offset(self.step)
             self.params = self.info.get_params(self.offsets)
-
-
 
 
         def __iter__(self):
             return self
 
 
-
         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.params = self.info.get_params(self.offsets, self.params)
+
+            self.step = self.step + 1
             self.increment()
 
             return self.params
-
 
 
         def increment(self):
@@ -235,9 +240,12 @@
             for j in xrange(self.info.grid_dimension):
                 if self.offsets[j] < self.info.grid_ops[j][GRID_STEPS]-1:
                     self.offsets[j] = self.offsets[j] + 1
-                    break    # Exit so that the other step numbers are not 
incremented.
+
+                    # Exit so that the other step numbers are not 
incremented.
+                    break
                 else:
                     self.offsets[j] = 0
+
 
         def __str__(self):
             print type(self.start)
@@ -253,9 +261,8 @@
                        end   %d
                        step  %d
                        offsets %s
-                       params  %s ''' % 
(`self.info`,self.start,self.end,self.step,`self.offsets`,`self.params`)
-
+                       params  %s ''' % (`self.info`, self.start, self.end, 
self.step, `self.offsets`, `self.params`)
 
 
     def __iter__(self):
-        return Grid_info.Iterator(self,self.start,self.start+self.range)
+        return Grid_info.Iterator(self, self.start, self.start+self.range)




Related Messages


Powered by MHonArc, Updated Mon Jan 11 11:40:02 2010