next up previous contents
Next: Обработка MPI_Status Up: Разное Previous: Номер версии   Contents

Конструктор типа данных MPI_TYPE_CREATE_INDEXED_BLOCK

Эта функция похожа на MPI_TYPE_INDEXED за исключением того, что аргумент blocklength одинаковый для всех блоков. Имеются много кодов, использующих косвенную адресацию, являющуюся результатом неструктурных сеток, где blocksize - всегда 1 (собрать/рассеять). Следующая удобная функция учитывает константу blocksize и произвольные смещения.

MPI_TYPE_CREATE_INDEXED_BLOCK(count, blocklength, array_of_displacements, oldtype, newtype)

IN count длина массива смещений (целое число)  
IN blocklength размер блока (целое число)  
IN array_of_displacements массив смещений (массив целого числа)  
IN oldtype старый тип данных (указатель)  
OUT newtype новый тип данных (указатель)  

int MPI_Type_create_indexed_block(int count, int blocklength, int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype) MPI_TYPE_CREATE_INDEXED_BLOCK(COUNT, BLOCKLENGTH, ARRAY_OF_DISPLACEMENTS, OLDTYPE, NEWTYPE, IERROR) INTEGER COUNT, BLOCKLENGTH, ARRAY_OF_DISPLACEMENTS(*), OLDTYPE, NEWTYPE, IERROR MPI::Datatype MPI::Datatype::Create_indexed_block(int count, int blocklength, const int array_of_displacements[]) const



Alex Otwagin 2002-12-10