code: def test_out_of_bounds_fill(self):
      points, values = self._get_sample_4d()
      interp = RegularGridInterpolator(
          points, values, bounds_error=False, fill_value=cp.nan
      )
      sample = cp.asarray(
          [
              [-0.1, -0.1, -0.1, -0.1],
              [1.1, 1.1, 1.1, 1.1],
              [2.1, 2.1, -1.1, -1.1],
          ]
      )
      wanted = cp.asarray([cp.nan, cp.nan, cp.nan])
      assert_array_almost_equal(
          interp(sample, method="nearest"), wanted
      )
      assert_array_almost_equal(interp(sample, method="linear"), wanted)
      sample = cp.asarray(
          [
              [0.1, 0.1, 1.0, 0.9],
              [0.2, 0.1, 0.45, 0.8],
              [0.5, 0.5, 0.5, 0.5],
          ]
      )
      wanted = cp.asarray([1001.1, 846.2, 555.5])
      assert_array_almost_equal(interp(sample), wanted)
  
imports: import pytest
  import cupy
  from cupy.testing import assert_allclose, assert_array_equal, assert_array_almost_equal
  from cupy_backends.cuda.api import runtime
  from pytest import raises
  from cupyx.scipy.interpolate import RegularGridInterpolator, interpn
label_desc: Use image node_id 14 for calling the TestRegularGridInterpolator obj's underlying member method code with example usage: obj.test_out_of_bounds_fill() without return types