9 printf( "mpi_error called\n" );
16 int MPI_Irecv( void *buf,
18 MPI_Datatype datatype,
22 MPI_Request *request )
25 return( MPI_ERR_OTHER );
31 int MPI_Recv( void *buf,
33 MPI_Datatype datatype,
40 return( MPI_ERR_OTHER );
46 int MPI_Send( void *buf,
48 MPI_Datatype datatype,
54 return( MPI_ERR_OTHER );
60 int MPI_Wait( MPI_Request *request,
64 return( MPI_ERR_OTHER );
70 int MPI_Init( int *argc,
73 return( MPI_SUCCESS );
79 int MPI_Comm_rank( MPI_Comm comm,
83 return( MPI_SUCCESS );
89 int MPI_Comm_size( MPI_Comm comm,
93 return( MPI_SUCCESS );
99 double MPI_Wtime( void )
111 int MPI_Barrier( MPI_Comm comm )
113 return( MPI_SUCCESS );
119 int MPI_Finalize( void )
121 return( MPI_SUCCESS );
127 int MPI_Allreduce( void *sendbuf,
135 if( type == MPI_INT )
137 int *pd_sendbuf, *pd_recvbuf;
138 pd_sendbuf = (int *) sendbuf;
139 pd_recvbuf = (int *) recvbuf;
140 for( i=0; i<nitems; i++ )
141 *(pd_recvbuf+i) = *(pd_sendbuf+i);
143 if( type == MPI_LONG )
145 long *pd_sendbuf, *pd_recvbuf;
146 pd_sendbuf = (long *) sendbuf;
147 pd_recvbuf = (long *) recvbuf;
148 for( i=0; i<nitems; i++ )
149 *(pd_recvbuf+i) = *(pd_sendbuf+i);
151 if( type == MPI_DOUBLE )
153 double *pd_sendbuf, *pd_recvbuf;
154 pd_sendbuf = (double *) sendbuf;
155 pd_recvbuf = (double *) recvbuf;
156 for( i=0; i<nitems; i++ )
157 *(pd_recvbuf+i) = *(pd_sendbuf+i);
159 return( MPI_SUCCESS );
165 int MPI_Reduce( void *sendbuf,
174 if( type == MPI_INT )
176 int *pi_sendbuf, *pi_recvbuf;
177 pi_sendbuf = (int *) sendbuf;
178 pi_recvbuf = (int *) recvbuf;
179 for( i=0; i<nitems; i++ )
180 *(pi_recvbuf+i) = *(pi_sendbuf+i);
182 if( type == MPI_LONG )
184 long *pi_sendbuf, *pi_recvbuf;
185 pi_sendbuf = (long *) sendbuf;
186 pi_recvbuf = (long *) recvbuf;
187 for( i=0; i<nitems; i++ )
188 *(pi_recvbuf+i) = *(pi_sendbuf+i);
190 if( type == MPI_DOUBLE )
192 double *pd_sendbuf, *pd_recvbuf;
193 pd_sendbuf = (double *) sendbuf;
194 pd_recvbuf = (double *) recvbuf;
195 for( i=0; i<nitems; i++ )
196 *(pd_recvbuf+i) = *(pd_sendbuf+i);
198 return( MPI_SUCCESS );
204 int MPI_Alltoall( void *sendbuf,
206 MPI_Datatype sendtype,
209 MPI_Datatype recvtype,
213 if( recvtype == MPI_INT )
215 int *pd_sendbuf, *pd_recvbuf;
216 pd_sendbuf = (int *) sendbuf;
217 pd_recvbuf = (int *) recvbuf;
218 for( i=0; i<sendcount; i++ )
219 *(pd_recvbuf+i) = *(pd_sendbuf+i);
221 if( recvtype == MPI_LONG )
223 long *pd_sendbuf, *pd_recvbuf;
224 pd_sendbuf = (long *) sendbuf;
225 pd_recvbuf = (long *) recvbuf;
226 for( i=0; i<sendcount; i++ )
227 *(pd_recvbuf+i) = *(pd_sendbuf+i);
229 return( MPI_SUCCESS );
235 int MPI_Alltoallv( void *sendbuf,
238 MPI_Datatype sendtype,
242 MPI_Datatype recvtype,
246 if( recvtype == MPI_INT )
248 int *pd_sendbuf, *pd_recvbuf;
249 pd_sendbuf = (int *) sendbuf;
250 pd_recvbuf = (int *) recvbuf;
251 for( i=0; i<sendcounts[0]; i++ )
252 *(pd_recvbuf+i+recvdispl[0]) = *(pd_sendbuf+i+senddispl[0]);
254 if( recvtype == MPI_LONG )
256 long *pd_sendbuf, *pd_recvbuf;
257 pd_sendbuf = (long *) sendbuf;
258 pd_recvbuf = (long *) recvbuf;
259 for( i=0; i<sendcounts[0]; i++ )
260 *(pd_recvbuf+i+recvdispl[0]) = *(pd_sendbuf+i+senddispl[0]);
262 return( MPI_SUCCESS );