code: def test_concatenate_out_same_kind(self, xp):
      a = testing.shaped_arange((3, 4), xp, xp.float64)
      b = testing.shaped_reverse_arange((3, 4), xp, xp.float64)
      c = testing.shaped_arange((3, 4), xp, xp.float64)
      out = xp.zeros((3, 12), dtype=xp.float32)
      xp.concatenate((a, b, c), axis=1, out=out)
      return out
  
imports: import numpy
  import pytest
  import cupy
  from cupy import testing
  from cupy import cuda
label_desc: Use image node_id 20 for calling the TestJoin obj's underlying member method code with example usage: obj.test_concatenate_out_same_kind(xp) and returns: out