⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 allred.c

📁 fortran并行计算包
💻 C
📖 第 1 页 / 共 5 页
字号:
    out = (long *)malloc( count * sizeof(long) );    sol = (long *)malloc( count * sizeof(long) );    for (i=0; i<count; i++) { *(in + i) = 0; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_LONG, MPI_LOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_LONG and op MPI_LOR\n", rank );    free( in );    free( out );    free( sol );}void c6(void){    short *in, *out, *sol;    int  i, fnderr=0;    in = (short *)malloc( count * sizeof(short) );    out = (short *)malloc( count * sizeof(short) );    sol = (short *)malloc( count * sizeof(short) );    for (i=0; i<count; i++) { *(in + i) = 0; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_SHORT, MPI_LOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_SHORT and op MPI_LOR\n", rank );    free( in );    free( out );    free( sol );}void d6(void){    unsigned short *in, *out, *sol;    int  i, fnderr=0;    in = (unsigned short *)malloc( count * sizeof(unsigned short) );    out = (unsigned short *)malloc( count * sizeof(unsigned short) );    sol = (unsigned short *)malloc( count * sizeof(unsigned short) );    for (i=0; i<count; i++) { *(in + i) = 0; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_UNSIGNED_SHORT, MPI_LOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_UNSIGNED_SHORT and op MPI_LOR\n", rank );    free( in );    free( out );    free( sol );}void e6(void){    unsigned *in, *out, *sol;    int  i, fnderr=0;    in = (unsigned *)malloc( count * sizeof(unsigned) );    out = (unsigned *)malloc( count * sizeof(unsigned) );    sol = (unsigned *)malloc( count * sizeof(unsigned) );    for (i=0; i<count; i++) { *(in + i) = 0; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_UNSIGNED, MPI_LOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_UNSIGNED and op MPI_LOR\n", rank );    free( in );    free( out );    free( sol );}void f6(void){    unsigned long *in, *out, *sol;    int  i, fnderr=0;    in = (unsigned long *)malloc( count * sizeof(unsigned long) );    out = (unsigned long *)malloc( count * sizeof(unsigned long) );    sol = (unsigned long *)malloc( count * sizeof(unsigned long) );    for (i=0; i<count; i++) { *(in + i) = 0; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_UNSIGNED_LONG, MPI_LOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_UNSIGNED_LONG and op MPI_LOR\n", rank );    free( in );    free( out );    free( sol );}void a7(void){    int *in, *out, *sol;    int  i, fnderr=0;    in = (int *)malloc( count * sizeof(int) );    out = (int *)malloc( count * sizeof(int) );    sol = (int *)malloc( count * sizeof(int) );    for (i=0; i<count; i++) { *(in + i) = (rank == 1); *(sol + i) = (size > 1);     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_INT, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_INT and op MPI_LXOR\n", rank);    free( in );    free( out );    free( sol );}void b7(void){    long *in, *out, *sol;    int  i, fnderr=0;    in = (long *)malloc( count * sizeof(long) );    out = (long *)malloc( count * sizeof(long) );    sol = (long *)malloc( count * sizeof(long) );    for (i=0; i<count; i++) { *(in + i) = (rank == 1); *(sol + i) = (size > 1);     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_LONG, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_LONG and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void c7(void){    short *in, *out, *sol;    int  i, fnderr=0;    in = (short *)malloc( count * sizeof(short) );    out = (short *)malloc( count * sizeof(short) );    sol = (short *)malloc( count * sizeof(short) );    for (i=0; i<count; i++) { *(in + i) = (rank == 1); *(sol + i) = (size > 1);     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_SHORT, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_SHORT and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void d7(void){    unsigned short *in, *out, *sol;    int  i, fnderr=0;    in = (unsigned short *)malloc( count * sizeof(unsigned short) );    out = (unsigned short *)malloc( count * sizeof(unsigned short) );    sol = (unsigned short *)malloc( count * sizeof(unsigned short) );    for (i=0; i<count; i++) { *(in + i) = (rank == 1); *(sol + i) = (size > 1);     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_UNSIGNED_SHORT, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_UNSIGNED_SHORT and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void e7(void){    unsigned *in, *out, *sol;    int  i, fnderr=0;    in = (unsigned *)malloc( count * sizeof(unsigned) );    out = (unsigned *)malloc( count * sizeof(unsigned) );    sol = (unsigned *)malloc( count * sizeof(unsigned) );    for (i=0; i<count; i++) { *(in + i) = (rank == 1); *(sol + i) = (size > 1);     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_UNSIGNED, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_UNSIGNED and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void f7(void){    unsigned long *in, *out, *sol;    int  i, fnderr=0;    in = (unsigned long *)malloc( count * sizeof(unsigned long) );    out = (unsigned long *)malloc( count * sizeof(unsigned long) );    sol = (unsigned long *)malloc( count * sizeof(unsigned long) );    for (i=0; i<count; i++) { *(in + i) = (rank == 1); *(sol + i) = (size > 1);     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_UNSIGNED_LONG, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_UNSIGNED_LONG and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void a8(void){    int *in, *out, *sol;    int  i, fnderr=0;    in = (int *)malloc( count * sizeof(int) );    out = (int *)malloc( count * sizeof(int) );    sol = (int *)malloc( count * sizeof(int) );    for (i=0; i<count; i++) { *(in + i) = 0; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_INT, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_INT and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void b8(void){    long *in, *out, *sol;    int  i, fnderr=0;    in = (long *)malloc( count * sizeof(long) );    out = (long *)malloc( count * sizeof(long) );    sol = (long *)malloc( count * sizeof(long) );    for (i=0; i<count; i++) { *(in + i) = 0; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_LONG, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_LONG and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void c8(void){    short *in, *out, *sol;    int  i, fnderr=0;    in = (short *)malloc( count * sizeof(short) );    out = (short *)malloc( count * sizeof(short) );    sol = (short *)malloc( count * sizeof(short) );    for (i=0; i<count; i++) { *(in + i) = 0; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_SHORT, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_SHORT and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void d8(void){    unsigned short *in, *out, *sol;    int  i, fnderr=0;    in = (unsigned short *)malloc( count * sizeof(unsigned short) );    out = (unsigned short *)malloc( count * sizeof(unsigned short) );    sol = (unsigned short *)malloc( count * sizeof(unsigned short) );    for (i=0; i<count; i++) { *(in + i) = 0; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_UNSIGNED_SHORT, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_UNSIGNED_SHORT and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void e8(void){    unsigned *in, *out, *sol;    int  i, fnderr=0;    in = (unsigned *)malloc( count * sizeof(unsigned) );    out = (unsigned *)malloc( count * sizeof(unsigned) );    sol = (unsigned *)malloc( count * sizeof(unsigned) );    for (i=0; i<count; i++) { *(in + i) = 0; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_UNSIGNED, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_UNSIGNED and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void f8(void){    unsigned long *in, *out, *sol;    int  i, fnderr=0;    in = (unsigned long *)malloc( count * sizeof(unsigned long) );    out = (unsigned long *)malloc( count * sizeof(unsigned long) );    sol = (unsigned long *)malloc( count * sizeof(unsigned long) );    for (i=0; i<count; i++) { *(in + i) = 0; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_UNSIGNED_LONG, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_UNSIGNED_LONG and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void a9(void){    int *in, *out, *sol;    int  i, fnderr=0;    in = (int *)malloc( count * sizeof(int) );    out = (int *)malloc( count * sizeof(int) );    sol = (int *)malloc( count * sizeof(int) );    for (i=0; i<count; i++) { *(in + i) = 1; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_INT, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_INT and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void b9(void){    long *in, *out, *sol;    int  i, fnderr=0;    in = (long *)malloc( count * sizeof(long) );    out = (long *)malloc( count * sizeof(long) );    sol = (long *)malloc( count * sizeof(long) );    for (i=0; i<count; i++) { *(in + i) = 1; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_LONG, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_LONG and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void c9(void){    short *in, *out, *sol;    int  i, fnderr=0;    in = (short *)malloc( count * sizeof(short) );    out = (short *)malloc( count * sizeof(short) );    sol = (short *)malloc( count * sizeof(short) );    for (i=0; i<count; i++) { *(in + i) = 1; *(sol + i) = 0;     *(out + i) = 0; }    MPI_Allreduce( in, out, count, MPI_SHORT, MPI_LXOR, comm );    for (i=0; i<count; i++) { if (*(out + i) != *(sol + i)) {errcnt++; fnderr++;}}    if (fnderr) fprintf( stderr, 	"(%d) Error for type MPI_SHORT and op MPI_LXOR\n", rank );    free( in );    free( out );    free( sol );}void d9(void){    unsigned short *in, *out, *sol;    int  i, fnderr=0;    in = (unsigned short *)malloc( count * sizeof(unsigned short) );    out = (unsigned short *)malloc( count * sizeof(unsigned short) );    sol = (unsigned short *)malloc( count * sizeof(unsigned short) );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -