code: def testAlltoallw(self):
      comm = self.INTERCOMM
      size = comm.Get_size()
      rsize = comm.Get_remote_size()
      for array, typecode in arrayimpl.loop():
          for n in range(5):
              check = arrayimpl.scalar(n)
              sbuf = array(n, typecode, (rsize, n))
              rbuf = array(-1, typecode, (rsize, n))
              sdt, rdt = sbuf.mpidtype, rbuf.mpidtype
              sex, rex = sdt.extent, rdt.extent
              sdsp = [i * n * sex for i in range(rsize)]
              rdsp = [i * n * rex for i in range(rsize)]
              smsg = (sbuf.as_raw(), ([n] * rsize, sdsp), [sdt] * rsize)
              rmsg = (rbuf.as_raw(), ([n] * rsize, rdsp), [rdt] * rsize)
              try:
                  comm.Alltoallw(smsg, rmsg)
              except NotImplementedError:
                  self.skipTest("mpi-alltoallw")
              for value in rbuf.flat:
                  self.assertEqual(value, check)
  
file_path: mpi4py/test/test_cco_vec_inter.py
imports: from mpi4py import MPI
  import mpiunittest
  import arrayimpl
label_desc: Use image node_id 8 for calling the BaseTestCCOVecInter obj's underlying member method code with example usage: obj.testAlltoallw() without return types