int conpar(integer nov, integer na, integer nra, integer nca, doublereal ***a, integer ncb, doublereal ***b, integer nrc, doublereal ***c, doublereal **d, integer *irf, integer *icf) { integer nex; nex = nca - (nov << 1); if (nex == 0) { return 0; } switch(global_conpar_type) { #ifdef PTHREADS case CONPAR_PTHREADS: conpar_threads_wrapper(nov, na, nra, nca, a, ncb, b, nrc, c, d, irf, icf); break; #endif #ifdef MPI case CONPAR_MPI: if(global_verbose_flag) printf("MPI conpar start\n"); conpar_mpi_wrapper(nov, na, nra, nca, a, ncb, b, nrc, c, d,irf, icf); if(global_verbose_flag) printf("MPI conpar end\n"); break; #endif default: conpar_process(nov, na, nra, nca, a, ncb, b, nrc, c, d, irf, icf); break; } return 0; }
int conpar(integer *nov, integer *na, integer *nra, integer *nca, doublereal ***a, integer *ncb, doublereal ***b, integer *nbc, integer *nrc, doublereal ***c, doublereal **d, integer *irf, integer *icf) { /* Aliases for the dimensions of the arrays */ integer icf_dim1, irf_dim1; /* Local variables */ integer i,j; integer nex; /*< NEX=NCA-2*NOV >*/ irf_dim1 = *nra; icf_dim1 = *nca; /* Function Body */ nex = *nca - (*nov << 1); if (nex == 0) { return 0; } /* Initialization */ for (i = 0; i <*na; ++i) { for (j = 0; j < *nra; ++j) { irf[j + i * irf_dim1] = j+1; } for (j = 0; j < *nca; ++j) { icf[j + i * icf_dim1] = j+1; } } switch(global_conpar_type) { #ifdef PTHREADS case CONPAR_PTHREADS: conpar_threads_wrapper(nov, na, nra, nca, a, ncb, b, nbc, nrc, c, d,irf, icf); break; #endif #ifdef MPI case CONPAR_MPI: if(global_verbose_flag) printf("MPI conpar start\n"); conpar_mpi_wrapper(nov, na, nra, nca, a, ncb, b, nbc, nrc, c, d,irf, icf); if(global_verbose_flag) printf("MPI conpar end\n"); break; #endif default: conpar_default_wrapper(nov, na, nra, nca, a, ncb, b, nbc, nrc, c, d,irf, icf); break; } return 0; }