class_docstr: Common features in univariate interpolation
  
  Deal with input data type and interpolation axis rolling. The
  actual interpolator can assume the y-data is of shape (n, r) where
  `n` is the number of x-points, and `r` the number of variables,
  and use self.dtype as the y-data type.
  
  Attributes
  ----------
  _y_axis
      Axis along which the interpolation goes in the original array
  _y_extra_shape
      Additional trailing shape of the input arrays, excluding
      the interpolation axis.
  dtype
      Dtype of the y-data arrays. Can be set via _set_dtype, which
      forces it to be float or complex.
  
  Methods
  -------
  __call__
  _prepare_x
  _finish_y
  _reshape_yi
  _set_yi
  _set_dtype
  _evaluate
class_docstr_tok: ["Common","features","in","univariate","interpolation","Deal","with","input","data","type","and","interpolation","axis","rolling",".","The","actual","interpolator","can","assume","the","y-data","is","of","shape","(","n",",","r",")","where","`","n","`","is","the","number","of","x-points",",","and","`","r","`","the","number","of","variables",",","and","use","self.dtype","as","the","y-data","type",".","Attributes","--","--","--","--","--","_y_axis","Axis","along","which","the","interpolation","goes","in","the","original","array","_y_extra_shape","Additional","trailing","shape","of","the","input","arrays",",","excluding","the","interpolation","axis",".","dtype","Dtype","of","the","y-data","arrays",".","Can","be","set","via","_set_dtype",",","which","forces","it","to","be","float","or","complex",".","Methods","--","--","--","-","__call__","_prepare_x","_finish_y","_reshape_yi","_set_yi","_set_dtype","_evaluate"]
docstr: Evaluate the interpolant
  
  Parameters
  ----------
  x : array_like
      Point or points at which to evaluate the interpolant.
  
  Returns
  -------
  y : array_like
      Interpolated values. Shape is determined by replacing
      the interpolation axis in the original array with the shape of `x`.
  
  Notes
  -----
  Input values `x` must be convertible to `float` values like `int`
  or `float`.
docstr_tok: ["Evaluate","the","interpolant","Parameters","--","--","--","--","--","x",":","array_like","Point","or","points","at","which","to","evaluate","the","interpolant",".","Returns","--","--","--","-","y",":","array_like","Interpolated","values",".","Shape","is","determined","by","replacing","the","interpolation","axis","in","the","original","array","with","the","shape","of","`","x","`",".","Notes","--","--","-","Input","values","`","x","`","must","be","convertible","to","`","float","`","values","like","`","int","`","or","`","float","`","."]
code: def __call__(self, x):
      """
      Evaluate the interpolant
  
      Parameters
      ----------
      x : array_like
          Point or points at which to evaluate the interpolant.
  
      Returns
      -------
      y : array_like
          Interpolated values. Shape is determined by replacing
          the interpolation axis in the original array with the shape of `x`.
  
      Notes
      -----
      Input values `x` must be convertible to `float` values like `int`
      or `float`.
  
      """
      x, x_shape = self._prepare_x(x)
      y = self._evaluate(x)
      return self._finish_y(y, x_shape)
  
imports: import warnings
  import numpy
  from scipy.special import factorial
  from scipy._lib._util import _asarray_validated, float_factorial, check_random_state
label_desc: Use image node_id 2 for calling the _Interpolator1D obj's underlying member method code with example usage: obj.__call__(x) and returns: self