44from devito .builtins .utils import check_builtins_args , nbl_to_padsize , pad_outhalo
55from devito .tools import as_list , as_tuple
66
7- __all__ = ['assign' , 'smooth ' , 'gaussian_smooth ' , 'initialize_function ' ]
7+ __all__ = ['assign' , 'gaussian_smooth ' , 'initialize_function ' , 'smooth ' ]
88
99
1010@dv .switchconfig (log_level = 'ERROR' )
@@ -59,18 +59,18 @@ def assign(f, rhs=0, options=None, name='assign', assign_halo=False, **kwargs):
5959
6060 eqs = []
6161 if options :
62- for i , j , k in zip (as_list (f ), rhs , options ):
62+ for i , j , k in zip (as_list (f ), rhs , options , strict = False ):
6363 if k is not None :
6464 eqs .append (dv .Eq (i , j , ** k ))
6565 else :
6666 eqs .append (dv .Eq (i , j ))
6767 else :
68- for i , j in zip (as_list (f ), rhs ):
68+ for i , j in zip (as_list (f ), rhs , strict = False ):
6969 eqs .append (dv .Eq (i , j ))
7070
7171 if assign_halo :
7272 subs = {}
73- for d , h in zip (f .dimensions , f ._size_halo ):
73+ for d , h in zip (f .dimensions , f ._size_halo , strict = False ):
7474 if sum (h ) == 0 :
7575 continue
7676 subs [d ] = dv .CustomDimension (name = d .name , parent = d ,
@@ -143,15 +143,15 @@ def __init__(self, lw):
143143 self .lw = lw
144144
145145 def define (self , dimensions ):
146- return {d : ('middle' , l , l ) for d , l in zip (dimensions , self .lw )}
146+ return {d : ('middle' , l , l ) for d , l in zip (dimensions , self .lw , strict = False )}
147147
148148 def create_gaussian_weights (sigma , lw ):
149149 weights = [w / w .sum () for w in (np .exp (- 0.5 / s ** 2 * (np .linspace (- l , l , 2 * l + 1 ))** 2 )
150- for s , l in zip (sigma , lw ))]
150+ for s , l in zip (sigma , lw , strict = False ))]
151151 return as_tuple (np .array (w ) for w in weights )
152152
153153 def fset (f , g ):
154- indices = [slice (l , - l , 1 ) for _ , l in zip (g .dimensions , lw )]
154+ indices = [slice (l , - l , 1 ) for _ , l in zip (g .dimensions , lw , strict = False )]
155155 slices = (slice (None , None , 1 ), )* g .ndim
156156 if isinstance (f , np .ndarray ):
157157 f [slices ] = g .data [tuple (indices )]
@@ -182,7 +182,7 @@ def fset(f, g):
182182
183183 # Create the padded grid:
184184 objective_domain = ObjectiveDomain (lw )
185- shape_padded = tuple ([np .array (s ) + 2 * l for s , l in zip (shape , lw )])
185+ shape_padded = tuple ([np .array (s ) + 2 * l for s , l in zip (shape , lw , strict = False )])
186186 extent_padded = tuple ([s - 1 for s in shape_padded ])
187187 grid = dv .Grid (shape = shape_padded , subdomains = objective_domain ,
188188 extent = extent_padded )
@@ -193,7 +193,7 @@ def fset(f, g):
193193 weights = create_gaussian_weights (sigma , lw )
194194
195195 mapper = {}
196- for d , l , w in zip (f_c .dimensions , lw , weights ):
196+ for d , l , w in zip (f_c .dimensions , lw , weights , strict = False ):
197197 lhs = []
198198 rhs = []
199199 options = []
@@ -238,11 +238,11 @@ def _initialize_function(function, data, nbl, mapper=None, mode='constant'):
238238 def buff (i , j ):
239239 return [(i + k - 2 * max (max (nbl ))) for k in j ]
240240
241- b = [min (l ) for l in (w for w in (buff (i , j ) for i , j in zip (local_size , halo )))]
241+ b = [min (l ) for l in (w for w in (buff (i , j ) for i , j in zip (local_size , halo , strict = False )))]
242242 if any (np .array (b ) < 0 ):
243243 raise ValueError ("Function `%s` halo is not sufficiently thick." % function )
244244
245- for d , (nl , nr ) in zip (function .space_dimensions , as_tuple (nbl )):
245+ for d , (nl , nr ) in zip (function .space_dimensions , as_tuple (nbl ), strict = False ):
246246 dim_l = dv .SubDimension .left (name = 'abc_%s_l' % d .name , parent = d , thickness = nl )
247247 dim_r = dv .SubDimension .right (name = 'abc_%s_r' % d .name , parent = d , thickness = nr )
248248 if mode == 'constant' :
@@ -373,14 +373,14 @@ def initialize_function(function, data, nbl, mapper=None, mode='constant',
373373 f ._create_data ()
374374
375375 if nbl == 0 :
376- for f , data in zip (functions , datas ):
376+ for f , data in zip (functions , datas , strict = False ):
377377 if isinstance (data , dv .Function ):
378378 f .data [:] = data .data [:]
379379 else :
380380 f .data [:] = data [:]
381381 else :
382382 lhss , rhss , optionss = [], [], []
383- for f , data in zip (functions , datas ):
383+ for f , data in zip (functions , datas , strict = False ):
384384
385385 lhs , rhs , options = _initialize_function (f , data , nbl , mapper , mode )
386386
0 commit comments