'Predict run time for given argument.
If prediction is already cached, cached value is returned.
Parameters
arg : number
Input argument to predict run time for.
Returns
t_est : float
Estimated run time for given argument.
Raises
RuntimeError
No fitted data for prediction.'

def predict_time(self, arg):

    if (arg in self._cache_est):
        t_est = self._cache_est[arg]
    else:
        if (self._fit_func is None):
            raise RuntimeError(u'no    fitted    data    for    prediction')
        t_est = self._fit_func((arg ** self._power))
        self._cache_est[arg] = t_est
    return t_est
