code: def test_complex_data(self, xp, scp):
      # Interpolating complex input should be the same as interpolating the
      # real and complex components.
      seq = Halton(2, scramble=False, seed=_np.random.RandomState())
  
      x = xp.asarray(seq.random(100))
      xitp = xp.asarray(seq.random(100))
  
      y = _2d_test_function(x, xp) + 1j * _2d_test_function(
          x[:, ::-1], xp
      )
  
      yitp1 = self.build(scp, x, y)(xitp)
      yitp2 = self.build(scp, x, y.real)(xitp)
      yitp3 = self.build(scp, x, y.imag)(xitp)
  
      return yitp1, yitp2, yitp3
  
imports: import pickle
  import pytest
  import warnings
  import numpy
  from numpy.linalg import LinAlgError
  import cupy
  import cupyx
  from cupy import testing
  import cupyx.scipy.interpolate
  from cupyx.scipy.interpolate._rbfinterp import _AVAILABLE, _SCALE_INVARIANT, _NAME_TO_MIN_DEGREE, NAME_TO_FUNC, _monomial_powers, polynomial_matrix, kernel_matrix
label_desc: Use image node_id 6 for calling the _TestRBFInterpolator obj's underlying member method code with example usage: obj.test_complex_data(xp, scp) and returns: yitp1,  yitp2,  yitp3