7 printf( "mpi_error called\n" );
14 int MPI_Irecv( void *buf,
16 MPI_Datatype datatype,
20 MPI_Request *request )
23 return( MPI_ERR_OTHER );
29 int MPI_Recv( void *buf,
31 MPI_Datatype datatype,
38 return( MPI_ERR_OTHER );
44 int MPI_Send( void *buf,
46 MPI_Datatype datatype,
52 return( MPI_ERR_OTHER );
58 int MPI_Wait( MPI_Request *request,
62 return( MPI_ERR_OTHER );
68 int MPI_Init( int *argc,
71 return( MPI_SUCCESS );
77 int MPI_Comm_rank( MPI_Comm comm,
81 return( MPI_SUCCESS );
87 int MPI_Comm_size( MPI_Comm comm,
91 return( MPI_SUCCESS );
97 double MPI_Wtime( void )
109 int MPI_Barrier( MPI_Comm comm )
111 return( MPI_SUCCESS );
117 int MPI_Finalize( void )
119 return( MPI_SUCCESS );
125 int MPI_Allreduce( void *sendbuf,
133 if( type == MPI_INT )
135 int *pd_sendbuf, *pd_recvbuf;
136 pd_sendbuf = (int *) sendbuf;
137 pd_recvbuf = (int *) recvbuf;
138 for( i=0; i<nitems; i++ )
139 *(pd_recvbuf+i) = *(pd_sendbuf+i);
141 if( type == MPI_LONG )
143 long *pd_sendbuf, *pd_recvbuf;
144 pd_sendbuf = (long *) sendbuf;
145 pd_recvbuf = (long *) recvbuf;
146 for( i=0; i<nitems; i++ )
147 *(pd_recvbuf+i) = *(pd_sendbuf+i);
149 if( type == MPI_DOUBLE )
151 double *pd_sendbuf, *pd_recvbuf;
152 pd_sendbuf = (double *) sendbuf;
153 pd_recvbuf = (double *) recvbuf;
154 for( i=0; i<nitems; i++ )
155 *(pd_recvbuf+i) = *(pd_sendbuf+i);
157 return( MPI_SUCCESS );
163 int MPI_Reduce( void *sendbuf,
172 if( type == MPI_INT )
174 int *pi_sendbuf, *pi_recvbuf;
175 pi_sendbuf = (int *) sendbuf;
176 pi_recvbuf = (int *) recvbuf;
177 for( i=0; i<nitems; i++ )
178 *(pi_recvbuf+i) = *(pi_sendbuf+i);
180 if( type == MPI_LONG )
182 long *pi_sendbuf, *pi_recvbuf;
183 pi_sendbuf = (long *) sendbuf;
184 pi_recvbuf = (long *) recvbuf;
185 for( i=0; i<nitems; i++ )
186 *(pi_recvbuf+i) = *(pi_sendbuf+i);
188 if( type == MPI_DOUBLE )
190 double *pd_sendbuf, *pd_recvbuf;
191 pd_sendbuf = (double *) sendbuf;
192 pd_recvbuf = (double *) recvbuf;
193 for( i=0; i<nitems; i++ )
194 *(pd_recvbuf+i) = *(pd_sendbuf+i);
196 return( MPI_SUCCESS );
202 int MPI_Alltoall( void *sendbuf,
204 MPI_Datatype sendtype,
207 MPI_Datatype recvtype,
211 if( recvtype == MPI_INT )
213 int *pd_sendbuf, *pd_recvbuf;
214 pd_sendbuf = (int *) sendbuf;
215 pd_recvbuf = (int *) recvbuf;
216 for( i=0; i<sendcount; i++ )
217 *(pd_recvbuf+i) = *(pd_sendbuf+i);
219 if( recvtype == MPI_LONG )
221 long *pd_sendbuf, *pd_recvbuf;
222 pd_sendbuf = (long *) sendbuf;
223 pd_recvbuf = (long *) recvbuf;
224 for( i=0; i<sendcount; i++ )
225 *(pd_recvbuf+i) = *(pd_sendbuf+i);
227 return( MPI_SUCCESS );
233 int MPI_Alltoallv( void *sendbuf,
236 MPI_Datatype sendtype,
240 MPI_Datatype recvtype,
244 if( recvtype == MPI_INT )
246 int *pd_sendbuf, *pd_recvbuf;
247 pd_sendbuf = (int *) sendbuf;
248 pd_recvbuf = (int *) recvbuf;
249 for( i=0; i<sendcounts[0]; i++ )
250 *(pd_recvbuf+i+recvdispl[0]) = *(pd_sendbuf+i+senddispl[0]);
252 if( recvtype == MPI_LONG )
254 long *pd_sendbuf, *pd_recvbuf;
255 pd_sendbuf = (long *) sendbuf;
256 pd_recvbuf = (long *) recvbuf;
257 for( i=0; i<sendcounts[0]; i++ )
258 *(pd_recvbuf+i+recvdispl[0]) = *(pd_sendbuf+i+senddispl[0]);
260 return( MPI_SUCCESS );