From 62b90a3315c13cdef6524a56132d642a9d1ecf3f Mon Sep 17 00:00:00 2001 From: degomme Date: Sat, 25 Jun 2016 19:11:43 +0200 Subject: [PATCH] avoid overflows by using long in this test --- teshsuite/smpi/coll-reduce/coll-reduce.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/teshsuite/smpi/coll-reduce/coll-reduce.c b/teshsuite/smpi/coll-reduce/coll-reduce.c index 9b63466624..9543c53bee 100644 --- a/teshsuite/smpi/coll-reduce/coll-reduce.c +++ b/teshsuite/smpi/coll-reduce/coll-reduce.c @@ -19,16 +19,16 @@ int main(int argc, char *argv[]) { int rank, size; int i; - int *sb; - int *rb; + long int *sb; + long int *rb; int status; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); - sb = (int *) xbt_malloc(size * sizeof(int)); - rb = (int *) xbt_malloc(size * sizeof(int)); + sb = (long int *) xbt_malloc(size * sizeof(long int)); + rb = (long int *) xbt_malloc(size * sizeof(long int)); for (i = 0; i < size; ++i) { sb[i] = rank*size + i; @@ -36,17 +36,17 @@ int main(int argc, char *argv[]) } printf("[%d] sndbuf=[", rank); for (i = 0; i < size; i++) - printf("%d ", sb[i]); + printf("%ld ", sb[i]); printf("]\n"); int root=0; - status = MPI_Reduce(sb, rb, size, MPI_INT, MPI_SUM, root, MPI_COMM_WORLD); + status = MPI_Reduce(sb, rb, size, MPI_LONG, MPI_SUM, root, MPI_COMM_WORLD); MPI_Barrier(MPI_COMM_WORLD); if (rank == root) { printf("[%d] rcvbuf=[", rank); for (i = 0; i < size; i++) - printf("%d ", rb[i]); + printf("%ld ", rb[i]); printf("]\n"); if (status != MPI_SUCCESS) { printf("all_to_all returned %d\n", status); @@ -56,17 +56,17 @@ int main(int argc, char *argv[]) printf("[%d] second sndbuf=[", rank); for (i = 0; i < 1; i++) - printf("%d ", sb[i]); + printf("%ld ", sb[i]); printf("]\n"); root=size-1; - status = MPI_Reduce(sb, rb, 1, MPI_INT, MPI_PROD, root, MPI_COMM_WORLD); + status = MPI_Reduce(sb, rb, 1, MPI_LONG, MPI_PROD, root, MPI_COMM_WORLD); MPI_Barrier(MPI_COMM_WORLD); if (rank == root) { printf("[%d] rcvbuf=[", rank); for (i = 0; i < 1; i++) - printf("%d ", rb[i]); + printf("%ld ", rb[i]); printf("]\n"); if (status != MPI_SUCCESS) { printf("all_to_all returned %d\n", status); -- 2.20.1