Home | History | Annotate | Download | only in mpi

Lines Matching refs:Ty

262 static void showTy ( FILE* f, MPI_Datatype ty )
264 if (ty == MPI_DATATYPE_NULL) fprintf(f,"DATATYPE_NULL");
265 else if (ty == MPI_BYTE) fprintf(f,"BYTE");
266 else if (ty == MPI_PACKED) fprintf(f,"PACKED");
267 else if (ty == MPI_CHAR) fprintf(f,"CHAR");
268 else if (ty == MPI_SHORT) fprintf(f,"SHORT");
269 else if (ty == MPI_INT) fprintf(f,"INT");
270 else if (ty == MPI_LONG) fprintf(f,"LONG");
271 else if (ty == MPI_FLOAT) fprintf(f,"FLOAT");
272 else if (ty == MPI_DOUBLE) fprintf(f,"DOUBLE");
273 else if (ty == MPI_LONG_DOUBLE) fprintf(f,"LONG_DOUBLE");
274 else if (ty == MPI_UNSIGNED_CHAR) fprintf(f,"UNSIGNED_CHAR");
275 else if (ty == MPI_UNSIGNED_SHORT) fprintf(f,"UNSIGNED_SHORT");
276 else if (ty == MPI_UNSIGNED_LONG) fprintf(f,"UNSIGNED_LONG");
277 else if (ty == MPI_UNSIGNED) fprintf(f,"UNSIGNED");
278 else if (ty == MPI_FLOAT_INT) fprintf(f,"FLOAT_INT");
279 else if (ty == MPI_DOUBLE_INT) fprintf(f,"DOUBLE_INT");
280 else if (ty == MPI_LONG_DOUBLE_INT) fprintf(f,"LONG_DOUBLE_INT");
281 else if (ty == MPI_LONG_INT) fprintf(f,"LONG_INT");
282 else if (ty == MPI_SHORT_INT) fprintf(f,"SHORT_INT");
283 else if (ty == MPI_2INT) fprintf(f,"2INT");
284 else if (ty == MPI_UB) fprintf(f,"UB");
285 else if (ty == MPI_LB) fprintf(f,"LB");
287 else if (ty == MPI_WCHAR) fprintf(f,"WCHAR");
289 else if (ty == MPI_LONG_LONG_INT) fprintf(f,"LONG_LONG_INT");
291 else if (ty == MPI_LONG_LONG) fprintf(f,"LONG_LONG");
294 else if (ty == MPI_UNSIGNED_LONG_LONG) fprintf(f,"UNSIGNED_LONG_LONG");
297 else if (ty == MPI_REAL8) fprintf(f, "REAL8");
300 else if (ty == MPI_REAL4) fprintf(f, "REAL4");
303 else if (ty == MPI_REAL) fprintf(f, "REAL");
306 else if (ty == MPI_INTEGER8) fprintf(f, "INTEGER8");
309 else if (ty == MPI_INTEGER4) fprintf(f, "INTEGER4");
312 else if (ty == MPI_INTEGER) fprintf(f, "INTEGER");
315 else if (ty == MPI_DOUBLE_PRECISION) fprintf(f, "DOUBLE_PRECISION");
318 else if (ty == MPI_COMPLEX) fprintf(f, "COMPLEX");
321 else if (ty == MPI_DOUBLE_COMPLEX) fprintf(f, "DOUBLE_COMPLEX");
324 else if (ty == MPI_LOGICAL) fprintf(f, "LOGICAL");
327 else if (ty == MPI_2INTEGER) fprintf(f, "2INTEGER");
330 else if (ty == MPI_2COMPLEX) fprintf(f, "2COMPLEX");
333 else if (ty == MPI_2DOUBLE_COMPLEX) fprintf(f, "2DOUBLE_COMPLEX");
336 else if (ty == MPI_2REAL) fprintf(f, "2REAL");
339 else if (ty == MPI_2DOUBLE_PRECISION) fprintf(f, "2DOUBLE_PRECISION");
342 else if (ty == MPI_CHARACTER) fprintf(f, "CHARACTER");
456 includes whatever padding would be required when using 'ty' in an
458 static long extentOfTy ( MPI_Datatype ty )
462 r = PMPI_Type_extent(ty, &n);
467 /* Free up *ty, if it is safe to do so */
468 static void maybeFreeTy ( MPI_Datatype* ty )
472 r = PMPI_Type_get_envelope( *ty, &n_ints, &n_addrs, &n_dtys, &tycon );
481 if (*ty == MPI_FLOAT_INT || *ty == MPI_DOUBLE_INT
482 || *ty == MPI_LONG_INT || *ty == MPI_2INT
483 || *ty == MPI_SHORT_INT || *ty == MPI_LONG_DOUBLE_INT)
491 fprintf(stderr, " ty= ");
492 showTy(stderr,*ty);
495 r = PMPI_Type_free(ty);
512 static long sizeofOneNamedTy ( MPI_Datatype ty )
514 if (ty == MPI_CHAR) return sizeof(signed char);
515 if (ty == MPI_SHORT) return sizeof(signed short int);
516 if (ty == MPI_INT) return sizeof(signed int);
517 if (ty == MPI_LONG) return sizeof(signed long int);
518 if (ty == MPI_UNSIGNED_CHAR) return sizeof(unsigned char);
519 if (ty == MPI_UNSIGNED_SHORT) return sizeof(unsigned short int);
520 if (ty == MPI_UNSIGNED) return sizeof(unsigned int);
521 if (ty == MPI_UNSIGNED_LONG) return sizeof(unsigned long int);
522 if (ty == MPI_FLOAT) return sizeof(float);
523 if (ty == MPI_DOUBLE) return sizeof(double);
524 if (ty == MPI_BYTE) return 1;
525 if (ty == MPI_LONG_DOUBLE) return sizeof_long_double_image();
526 if (ty == MPI_PACKED) return 1;
527 if (ty == MPI_LONG_LONG_INT) return sizeof(signed long long int);
530 if (ty == MPI_REAL8) return 8; /* MPI2 spec */;
533 if (ty == MPI_REAL4) return 4; /* MPI2 spec */;
536 if (ty == MPI_REAL) return 4; /* MPI2 spec */;
539 if (ty == MPI_INTEGER8) return 8; /* MPI2 spec */;
542 if (ty == MPI_INTEGER4) return 4; /* MPI2 spec */;
545 if (ty == MPI_INTEGER) return 4; /* MPI2 spec */;
548 if (ty == MPI_DOUBLE_PRECISION) return 8; /* MPI2 spec */;
553 if (ty == MPI_WCHAR) return 2; /* MPI2 spec */;
556 if (ty == MPI_SIGNED_CHAR) return 1; /* MPI2 spec */;
559 if (ty == MPI_UNSIGNED_LONG_LONG) return 8; /* MPI2 spec */;
562 if (ty == MPI_COMPLEX) return 2 * 4; /* MPI2 spec */
565 if (ty == MPI_DOUBLE_COMPLEX) return 2 * 8; /* MPI2 spec */
568 if (ty == MPI_LOGICAL) return 4; /* MPI2 spec */
571 if (ty == MPI_2INTEGER) return 2 * 4; /* undocumented in MPI2 */
574 if (ty == MPI_2COMPLEX) return 2 * 8; /* undocumented in MPI2 */
579 if (ty == MPI_2DOUBLE_COMPLEX) return 32; /* undocumented in MPI2 */
582 if (ty == MPI_2REAL) return 2 * 4; /* undocumented in MPI2 */
585 if (ty == MPI_2DOUBLE_PRECISION) return 2 * 8; /* undocumented in MPI2 */
588 if (ty == MPI_CHARACTER) return 1; /* MPI2 spec */
662 MPI_Datatype ty, long count );
665 /* Walk over all fragments of the object of type 'ty' with base
669 void walk_type ( void(*f)(void*,long), char* base, MPI_Datatype ty )
682 printf("walk_type %p\n", (void*)(unsigned long)ty);
684 r = PMPI_Type_get_envelope( ty, &n_ints, &n_addrs, &n_dtys, &tycon );
689 long sz = sizeofOneNamedTy(ty);
700 if (ty == MPI_2INT) {
701 typedef struct { int val; int loc; } Ty;
702 f(base + offsetof(Ty,val), sizeof(int));
703 f(base + offsetof(Ty,loc), sizeof(int));
706 if (ty == MPI_LONG_INT) {
707 typedef struct { long val; int loc; } Ty;
708 f(base + offsetof(Ty,val), sizeof(long));
709 f(base + offsetof(Ty,loc), sizeof(int));
712 if (ty == MPI_DOUBLE_INT) {
713 typedef struct { double val; int loc; } Ty;
714 f(base + offsetof(Ty,val), sizeof(double));
715 f(base + offsetof(Ty,loc), sizeof(int));
718 if (ty == MPI_SHORT_INT) {
719 typedef struct { short val; int loc; } Ty;
720 f(base + offsetof(Ty,val), sizeof(short));
721 f(base + offsetof(Ty,loc), sizeof(int));
724 if (ty == MPI_FLOAT_INT) {
725 typedef struct { float val; int loc; } Ty;
726 f(base + offsetof(Ty,val), sizeof(float));
727 f(base + offsetof(Ty,loc), sizeof(int));
730 if (ty == MPI_LONG_DOUBLE_INT) {
731 typedef struct { long double val; int loc; } Ty;
732 f(base + offsetof(Ty,val), sizeof_long_double_image());
733 f(base + offsetof(Ty,loc), sizeof(int));
736 if (ty == MPI_LB || ty == MPI_UB)
743 ex = extentOfTy(ty);
767 r = PMPI_Type_get_contents( ty, n_ints, n_addrs, n_dtys,
869 preamble, my_pid, (long)ty);
870 showTy(stderr, ty);
901 if ( /* ty is a primitive type with power-of-2 size */
903 ty */
916 Note: subtle. If ty is LONG_DOUBLE then the extent will be
933 ( void(*f)(void*,long), char* base, MPI_Datatype ty )
935 walk_type(f, base, ty);
1121 MPI_Datatype ty, int* count )
1132 CALL_FN_W_WWW(err, fn, status,ty,count);
1411 add a request->(buf,count,ty) binding to the
1735 int WRAPPER_FOR(PMPI_Type_commit)( MPI_Datatype* ty )
1741 check_mem_is_defined_untyped(ty, sizeof(*ty));
1742 CALL_FN_W_W(err, fn, ty);
1748 int WRAPPER_FOR(PMPI_Type_free)( MPI_Datatype* ty )
1754 check_mem_is_defined_untyped(ty, sizeof(*ty));
1755 CALL_FN_W_W(err, fn, ty);