Changeset 720

Show
Ignore:
Timestamp:
08/09/10 12:32:53 (1 year ago)
Author:
dmitrey
Message:

some FD changes

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • PythonPackages/FuncDesigner/FuncDesigner/ooFun.py

    r719 r720  
    8080    _f_key_prev = None 
    8181    _f_val_prev = None 
     82    _d_key_prev = None 
     83    _d_val_prev = None 
    8284    #_c = 0.0 
    8385 
     
    671673        involveStore = self.isCostly 
    672674 
    673         #cond_same_point = hasattr(self, 'd_key_prev') and sameDerivativeVariables and (CondSamePointByID or (involveStore and         all([array_equal(x[elem], self.d_key_prev[elem]) for elem in dep]))) 
    674          
    675         cond_same_point = sameVarsScheduleID and (CondSamePointByID or (involveStore and hasattr(self, 'd_key_prev') and all([array_equal(x[elem], self.d_key_prev[elem]) for elem in dep]))) 
     675        #cond_same_point = hasattr(self, '_d_key_prev') and sameDerivativeVariables and (CondSamePointByID or (involveStore and         all([array_equal(x[elem], self.d_key_prev[elem]) for elem in dep]))) 
     676         
     677        cond_same_point = sameVarsScheduleID and \ 
     678        ((CondSamePointByID and self._d_val_prev is not None) or \ 
     679        (involveStore and self._d_key_prev is not None and all([array_equal(x[elem], self._d_key_prev[elem]) for elem in dep]))) 
    676680         
    677681        if cond_same_point: 
    678682            self.same_d += 1 
    679683            #return deepcopy(self.d_val_prev) 
    680             return dict([(key, Copy(val)) for key, val in self.d_val_prev.items()]) 
     684            return dict([(key, Copy(val)) for key, val in self._d_val_prev.items()]) 
    681685        else: 
    682686            self.evals_d += 1 
     
    773777        dp = dict([(key, Copy(value)) for key, value in r.items()]) 
    774778         
    775         self.d_val_prev = dp 
    776         self.d_key_prev = dict([(elem, Copy(x[elem])) for elem in dep]) 
     779        self._d_val_prev = dp 
     780        self._d_key_prev = dict([(elem, Copy(x[elem])) for elem in dep]) if involveStore else None 
    777781        return r 
    778782