@@ -185,9 +185,6 @@ def coefficients(self):
185185 return sorted (coefficients , key = key , reverse = True )[0 ]
186186
187187 def _eval_at (self , func , ** kwargs ):
188- if not func .is_Staggered and not self .is_Staggered :
189- # Cartesian grid, do no waste time
190- return self
191188 return self .func (* [getattr (a , '_eval_at' , lambda x , ** kw : a )(func , ** kwargs )
192189 for a in self .args ])
193190
@@ -491,42 +488,21 @@ def has_free(self, *patterns):
491488 return all (i in self .free_symbols for i in patterns )
492489
493490
494- < << << << HEAD
495491def highest_priority (diff_op ):
496492 if not diff_op ._args_diff :
497493 return diff_op
498494
499- == == == =
500- def highest_priority (DiffOp , ref = None ):
501- > >> >> >> c34bae6f0 (tweak mul mode )
502495 # We want to get the object with highest priority
503496 # We also need to make sure that the object with the largest
504497 # set of dimensions is used when multiple ones with the same
505498 # priority appear
506- < << << << HEAD
507499 prio = lambda x : (getattr (x , '_fd_priority' , 0 ), len (x .dimensions ))
508- < << << << HEAD
509500 prio_func = sorted (diff_op ._args_diff , key = prio , reverse = True )[0 ]
510501
511502 # The highest priority must be a Function
512503 if not isinstance (prio_func , AbstractFunction ):
513504 return highest_priority (prio_func )
514505 return prio_func
515- == == == =
516- == == == =
517- def stagg (x ):
518- try :
519- return int (x .staggered == ref .staggered )
520- except AttributeError :
521- return 0
522- prio = lambda x : (stagg (x ), getattr (x , '_fd_priority' , 0 ), len (x .dimensions ))
523- >> >> >> > c34bae6f0 (tweak mul mode )
524- args = DiffOp ._args_diff
525- if not args :
526- return DiffOp
527- else :
528- return sorted (DiffOp ._args_diff , key = prio , reverse = True )[0 ]
529- > >> >> >> 198 aedce4 (api : add mul interp mode )
530506
531507
532508class DifferentiableOp (Differentiable ):
@@ -594,16 +570,14 @@ class DifferentiableFunction(DifferentiableOp):
594570 def __new__ (cls , * args , ** kwargs ):
595571 return cls .__sympy_class__ .__new__ (cls , * args , ** kwargs )
596572
597- < << << << HEAD
598573 @property
599574 def _fd_priority (self ):
600575 if highest_priority (self ) is self :
601576 return super ()._fd_priority
602577 return highest_priority (self )._fd_priority
603- == == == =
578+
604579 def _eval_at (self , func , ** kwargs ):
605580 return self
606- >> >> >> > 198 aedce4 (api : add mul interp mode )
607581
608582
609583class Add (DifferentiableOp , sympy .Add ):
@@ -1179,7 +1153,7 @@ class diffify:
11791153
11801154 Notes
11811155 -----
1182- The name "diffify" stems from SymPy's "simpify ", which has an analogous task --
1156+ The name "diffify" stems from SymPy's "simplify ", which has an analogous task --
11831157 converting all arguments into SymPy core objects.
11841158 """
11851159
0 commit comments