A masked vector-subscript scatter schedule is a communication schedule for scattering values from one distributed array (the source array) into elements of another (the destination array). The target set of elements are defined by a vector of rank-1 arrays--the subscript arrays. This schedule can be regarded as an optimized special case of the general scatter schedule of section 5.8. It is functionally similar to certain Fortran-90 array assignments involving vector subscripts and executed inside WHERE statements--minus the constraints that enforce determinism in Fortran. A vector-subscript scatter schedule is described by a collective object with local components of class VecScatterMsk. The public interface of the VecScatterMsk class is
class DAD ; class VecScatterMsk { public : VecScatterMsk(const DAD* src, const DAD* dst, const int len, const DAD* subs [], const int* subsDat [], const DAD* msk, const int* mskDat) ; void execute(void* srcDat, void* dstDat) ; private : ... } ;