code: def test_extreme_domains(self, kernel):
      # Make sure the interpolant remains numerically stable for very
      # large/small domains.
      seq = Halton(2, scramble=False, seed=np.random.RandomState())
      scale = 1e50
      shift = 1e55
  
      x = seq.random(100)
      y = _2d_test_function(x)
      xitp = seq.random(100)
  
      if kernel in _SCALE_INVARIANT:
          yitp1 = self.build(x, y, kernel=kernel)(xitp)
          yitp2 = self.build(x * scale + shift, y, kernel=kernel)(
              xitp * scale + shift
          )
      else:
          yitp1 = self.build(x, y, epsilon=5.0, kernel=kernel)(xitp)
          yitp2 = self.build(
              x * scale + shift, y, epsilon=5.0 / scale, kernel=kernel
          )(xitp * scale + shift)
  
      assert_allclose(yitp1, yitp2, atol=1e-8)
  
imports: import pickle
  import pytest
  import numpy
  from numpy.linalg import LinAlgError
  from numpy.testing import assert_allclose, assert_array_equal
  from scipy.stats.qmc import Halton
  from scipy.spatial import cKDTree
  from scipy.interpolate._rbfinterp import _AVAILABLE, _SCALE_INVARIANT, _NAME_TO_MIN_DEGREE, _monomial_powers, RBFInterpolator
  from scipy.interpolate import _rbfinterp_pythran
label_desc: Use image node_id 3 for calling the _TestRBFInterpolator obj's underlying member method code with example usage: obj.test_extreme_domains(kernel) without return types