code: def testAlltoallw(self):
      size = self.COMM.Get_size()
      rank = self.COMM.Get_rank()
      for array, typecode in arrayimpl.loop():
          for n in range(1, size + 1):
              check = arrayimpl.scalar(n)
              sbuf = array(n, typecode, (size, n))
              rbuf = array(-1, typecode, (size, n))
              sdt, rdt = sbuf.mpidtype, rbuf.mpidtype
              sdsp = list(
                  range(0, size * n * sdt.extent, n * sdt.extent)
              )
              rdsp = list(
                  range(0, size * n * rdt.extent, n * rdt.extent)
              )
              smsg = (sbuf.as_raw(), ([n] * size, sdsp), [sdt] * size)
              rmsg = (rbuf.as_raw(), ([n] * size, rdsp), [rdt] * size)
              try:
                  self.COMM.Ialltoallw(smsg, rmsg).Wait()
              except NotImplementedError:
                  self.skipTest("mpi-alltoallw")
              for value in rbuf.flat:
                  self.assertEqual(value, check)
  
imports: from mpi4py import MPI
  import mpiunittest
  import arrayimpl
label_desc: Use image node_id 13 for calling the BaseTestCCOVec obj's underlying member method code with example usage: obj.testAlltoallw() without return types