code: def test_gather(self, order):
      @jit.rawkernel()
      def gather(x, y, z):
          i = jit.threadIdx.x
          map_ = x[i]
          input_ = y
          result = z[i]
          jit.thrust.gather(
              jit.thrust.device,
              map_.begin(),
              map_.end(),
              input_.begin(),
              result.begin(),
          )
  
      n1, n2 = (128, 160)
      x = testing.shaped_random(
          (n1, n2), dtype=cupy.int32, scale=n2, order=order, seed=0
      )
      y = testing.shaped_random(
          (n2,), dtype=cupy.float32, order=order, seed=1
      )
      z = cupy.zeros((n1, n2), cupy.float32)
      gather[1, n1](x, y, z)
      expected = y[x]
      testing.assert_array_equal(z, expected)
  
imports: import numpy
  import pytest
  import cupy
  from cupy import testing
  from cupy_backends.cuda.api import runtime
  from cupyx import jit
label_desc: Use image node_id 14 for calling the TestThrust obj's underlying member method code with example usage: obj.test_gather(order) without return types