def _epfitcUpdate(self,d,P_i,R,nn,gg,w,b,ii,w_i,b_i,m,d0,P0,R0):
        dwi = w_i-w[ii]
        dbi = b_i-b[ii]
        hi = nn[ii] + m[ii] + np.dot(P_i.T,gg)           # posterior mean of site i O(nu)
        t = 1+dwi*d[ii]
        d[ii] = old_div(d[ii],t)                                  # O(1)
        nn[ii] = d[ii]*b_i                               # O(1)
        r = 1+d0[ii]*w[ii]
        r = old_div((r*r),dwi) + r*d0[ii]
        v = np.dot(R,np.dot(R0,P0[:,ii]))
        v = np.reshape(v,(v.shape[0],1))
        r = old_div(1,(r+np.dot(v.T,v)))
        if r>0:
            R = cholupdate(R,np.sqrt(r)*np.dot(R.T,v),'-')
        else:
            R = cholupdate(R,np.sqrt(-r)*np.dot(R.T,v),'+')
        ttemp = np.dot(R0.T,np.dot(R.T,np.dot(R,np.dot(R0,P_i))))
        gg = gg + (old_div((dbi-dwi*(hi-m[ii])),t)) * np.reshape(ttemp,(ttemp.shape[0],1)) # O(nu^2)
        w[ii] = w_i; b[ii] = b_i;                          # update site parameters O(1)
        P_i = old_div(P_i,t)                                        # O(nu)
        return d,P_i,R,nn,gg,w,b
dataset/ETHPy150Open marionmari/pyGPs/pyGPs/Core/inf.py/Inference._epfitcUpdate/original