def __call__(self, x, regularize=True): # TODO: check repeats for basis covariances too. # If initial values were passed in, observe on them. if self.need_init_obs: self._init_obs() # Record original shape of x and regularize it. orig_shape = shape(x) if len(orig_shape) > 1: orig_shape = orig_shape[:-1] if regularize: if any(isnan(x)): raise ValueError, 'Input argument to Realization contains NaNs.' x = regularize_array(x) if x is self.x_sofar: return self.f_sofar if self.check_repeats: # use caching_call to save duplicate calls. f, self.x_sofar, self.f_sofar = caching_call( self.draw_vals, x, self.x_sofar, self.f_sofar) else: # Call to self.draw_vals. f = self.draw_vals(x) if regularize: return f.reshape(orig_shape) else: return f
def __call__(self, x, regularize=True): # TODO: check repeats for basis covariances too. # TODO: Do the timing trick down through this method to see where the bottleneck is. # Record original shape of x and regularize it. orig_shape = shape(x) if len(orig_shape)>1: orig_shape = orig_shape[:-1] if regularize: if any(isnan(x)): raise ValueError, 'Input argument to Realization contains NaNs.' x = regularize_array(x) if x is self.x_sofar: return self.f_sofar if self.check_repeats: # use caching_call to save duplicate calls. f, self.x_sofar, self.f_sofar = caching_call(self.draw_vals, x, self.x_sofar, self.f_sofar) else: # Call to self.draw_vals. f = self.draw_vals(x) if regularize: return f.reshape(orig_shape) else: return f
def __call__(self, x, regularize=True): # TODO: check repeats for basis covariances too. # If initial values were passed in, observe on them. if self.need_init_obs: self._init_obs() # Record original shape of x and regularize it. orig_shape = shape(x) if len(orig_shape)>1: orig_shape = orig_shape[:-1] if regularize: if any(isnan(x)): raise ValueError, 'Input argument to Realization contains NaNs.' x = regularize_array(x) if x is self.x_sofar: return self.f_sofar if self.check_repeats: # use caching_call to save duplicate calls. f, self.x_sofar, self.f_sofar = caching_call(self.draw_vals, x, self.x_sofar, self.f_sofar) else: # Call to self.draw_vals. f = self.draw_vals(x) if regularize: return f.reshape(orig_shape) else: return f