code: def _make_array(self, dtype):
      dtype = numpy.dtype(dtype)
      if dtype.char in "efdFD":
          r_dtype = dtype.char.lower()
          a = testing.shaped_random(
              self.shape, numpy, dtype=r_dtype, scale=1
          )
          if dtype.char in "FD":
              ai = a
              aj = testing.shaped_random(
                  self.shape, numpy, dtype=r_dtype, scale=1
              )
              ai[ai < math.sqrt(self.zero_density)] = 0
              aj[aj < math.sqrt(self.zero_density)] = 0
              a = ai + 1j * aj
          else:
              a[a < self.zero_density] = 0
          a = a / a
      else:
          a = testing.shaped_random(self.shape, numpy, dtype=dtype)
      return a
  
imports: import math
  import numpy
  import pytest
  import cupy
  from cupy import testing
label_desc: Use image node_id 1 for calling the TestNanMedian obj's underlying member method code with example usage: obj._make_array(dtype) and returns: a