.. default-domain:: chpl .. module:: SymArrayDmapCompat SymArrayDmapCompat ================== **Usage** .. code-block:: chapel use SymArrayDmapCompat; or .. code-block:: chapel import SymArrayDmapCompat; .. enum:: enum Dmap { defaultRectangular, blockDist } Available domain maps. .. enumconstant:: enum constant defaultRectangular .. enumconstant:: enum constant blockDist .. data:: config param MyDmap: Dmap = defaultDmap How domains/arrays are distributed. Defaults to :enum:`Dmap.defaultRectangular` if :param:`CHPL_COMM=none`, otherwise defaults to :enum:`Dmap.blockDist`. .. function:: proc makeDistDom(shape: int ...?N) Makes a domain distributed according to :param:`MyDmap`. :arg shape: size of domain in each dimension :type shape: int .. function:: proc makeDistArray(shape: int ...?N, type etype) throws where N == 1 Makes an array of specified type over a distributed domain :arg shape: size of the domain in each dimension :type shape: int :arg etype: desired type of array :type etype: type :returns: [] ?etype .. function:: proc makeDistArray(shape: int ...?N, type etype) throws where N > 1 .. function:: proc makeDistArray(in a: [?D] ?etype) throws where MyDmap != Dmap.defaultRectangular && a.isDefaultRectangular() .. function:: proc makeDistArray(in a: [?D] ?etype) throws where D.rank == 1 && (MyDmap == Dmap.defaultRectangular || !a.isDefaultRectangular()) .. function:: proc makeDistArray(in a: [?D] ?etype) throws where D.rank > 1 && (MyDmap == Dmap.defaultRectangular || !a.isDefaultRectangular()) .. function:: proc makeDistArray(D: domain(?), type etype) throws where D.rank == 1 .. function:: proc makeDistArray(D: domain(?), type etype) throws where D.rank > 1 .. function:: proc makeDistArray(D: domain(?), initExpr: ?t) throws where D.rank == 1 .. function:: proc makeDistArray(D: domain(?), initExpr: ?t) throws where D.rank > 1 .. function:: proc makeDistDomType(size: int) type Returns the type of the distributed domain :arg size: size of domain :type size: int :returns: type