1
1

More file f77 bindings and a small fix in the spawn bindings

This commit was SVN r2736.
Этот коммит содержится в:
Vishal Sahay 2004-09-17 04:03:19 +00:00
родитель 6704bc9d39
Коммит c666e04b6e
31 изменённых файлов: 678 добавлений и 56 удалений

Просмотреть файл

@ -95,6 +95,8 @@ void mpi_comm_spawn_f(char *command, char *argv, MPI_Fint *maxprocs,
if (MPI_ARGV_NULL != c_argv && NULL != c_argv) {
ompi_argv_free(c_argv);
}
OMPI_ARRAY_INT_2_FINT(array_of_errcodes, size);
if (!OMPI_IS_FORTRAN_ERRCODES_IGNORE(array_of_errcodes)) {
OMPI_ARRAY_INT_2_FINT(array_of_errcodes, size);
}
}

Просмотреть файл

@ -111,7 +111,10 @@ void mpi_comm_spawn_multiple_f(MPI_Fint *count, char *array_commands,
c_errs));
*intercomm = MPI_Comm_c2f(c_new_comm);
OMPI_ARRAY_INT_2_FINT(array_errcds, size);
if (!OMPI_IS_FORTRAN_ERRCODES_IGNORE(array_errcds)) {
OMPI_ARRAY_INT_2_FINT(array_errcds, size);
}
OMPI_ARRAY_FINT_2_INT_CLEANUP(array_maxprocs);
ompi_argv_free(c_array_commands);

Просмотреть файл

@ -56,5 +56,4 @@ void mpi_file_read_all_begin_f(MPI_Fint *fh, char *buf,
*ierr = OMPI_INT_2_FINT(MPI_File_read_all_begin(c_fh, buf,
OMPI_FINT_2_INT(*count),
c_type));
}

Просмотреть файл

@ -82,6 +82,4 @@ void mpi_file_read_at_all_end_f(MPI_Fint *fh, char *buf,
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_READ_AT_ALL = mpi_file_read_at_all_f
@ -46,7 +49,45 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_READ_AT_ALL,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_read_at_all_f(MPI_Fint *fh, MPI_Fint *offset, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_read_at_all_f(MPI_Fint *fh, MPI_Fint *offset,
char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *status,
MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_FINT_2_INT(MPI_File_read_at_all(c_fh,
(MPI_Offset) *offset,
buf,
OMPI_FINT_2_INT(*count),
c_type,
c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_READ_AT = mpi_file_read_at_f
@ -46,7 +49,43 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_READ_AT,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_read_at_f(MPI_Fint *fh, MPI_Fint *offset, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_read_at_f(MPI_Fint *fh, MPI_Fint *offset, char *buf,
MPI_Fint *count, MPI_Fint *datatype,
MPI_Fint *status, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_FINT_2_INT(MPI_File_read_at(c_fh,
(MPI_Offset) *offset,
buf,
OMPI_FINT_2_INT(*count),
c_type, c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_READ = mpi_file_read_f
@ -46,7 +49,40 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_READ,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_read_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_read_f(MPI_Fint *fh, char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_INT_2_FINT(MPI_File_read(c_fh, buf,
OMPI_FINT_2_INT(*count),
c_type, c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -46,7 +46,14 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_READ_ORDERED_BEGIN,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_read_ordered_begin_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *ierr)
void mpi_file_read_ordered_begin_f(MPI_Fint *fh, char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
*ierr = OMPI_INT_2_FINT(MPI_File_read_ordered_begin(c_fh, buf,
OMPI_FINT_2_INT(*count),
c_type));
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_READ_ORDERED_END = mpi_file_read_ordered_end_f
@ -46,7 +49,37 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_READ_ORDERED_END,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_read_ordered_end_f(MPI_Fint *fh, char *buf, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_read_ordered_end_f(MPI_Fint *fh, char *buf,
MPI_Fint *status, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_INT_2_FINT(MPI_File_read_ordered_end(c_fh, buf, c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_READ_ORDERED = mpi_file_read_ordered_f
@ -46,7 +49,43 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_READ_ORDERED,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_read_ordered_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_read_ordered_f(MPI_Fint *fh, char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *status,
MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_FINT_2_INT(MPI_File_read_ordered(c_fh,
buf,
OMPI_FINT_2_INT(*count),
c_type,
c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_READ_SHARED = mpi_file_read_shared_f
@ -46,7 +49,43 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_READ_SHARED,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_read_shared_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_read_shared_f(MPI_Fint *fh, char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *status,
MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_FINT_2_INT(MPI_File_read_shared(c_fh,
buf,
OMPI_FINT_2_INT(*count),
c_type,
c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -46,7 +46,11 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_SEEK,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_seek_f(MPI_Fint *fh, MPI_Fint *offset, MPI_Fint *whence, MPI_Fint *ierr)
void mpi_file_seek_f(MPI_Fint *fh, MPI_Fint *offset,
MPI_Fint *whence, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
*ierr = OMPI_INT_2_FINT(MPI_File_seek(c_fh, (MPI_Offset) *offset,
OMPI_FINT_2_INT(*whence)));
}

Просмотреть файл

@ -46,7 +46,11 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_SEEK_SHARED,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_seek_shared_f(MPI_Fint *fh, MPI_Fint *offset, MPI_Fint *whence, MPI_Fint *ierr)
{
/* This function not yet implemented */
void mpi_file_seek_shared_f(MPI_Fint *fh, MPI_Fint *offset,
MPI_Fint *whence, MPI_Fint *ierr)
{
MPI_File c_fh = MPI_File_f2c(*fh);
*ierr = OMPI_INT_2_FINT(MPI_File_seek(c_fh, (MPI_Offset) *offset,
OMPI_FINT_2_INT(*whence)));
}

Просмотреть файл

@ -48,5 +48,8 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_SET_ATOMICITY,
void mpi_file_set_atomicity_f(MPI_Fint *fh, MPI_Fint *flag, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
*ierr = OMPI_INT_2_FINT(MPI_File_set_atomicity(c_fh,
OMPI_FINT_2_INT(*flag)));
}

Просмотреть файл

@ -46,7 +46,11 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_SET_ERRHANDLER,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_set_errhandler_f(MPI_Fint *file, MPI_Fint *errhandler, MPI_Fint *ierr)
void mpi_file_set_errhandler_f(MPI_Fint *fh, MPI_Fint *errhandler,
MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Errhandler c_err = MPI_Errhandler_f2c(*errhandler);
*ierr = OMPI_INT_2_FINT(MPI_File_set_errhandler(c_fh, c_err));
}

Просмотреть файл

@ -48,5 +48,8 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_SET_INFO,
void mpi_file_set_info_f(MPI_Fint *fh, MPI_Fint *info, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Info c_info = MPI_Info_f2c(*info);
*ierr = OMPI_INT_2_FINT(MPI_File_set_info(c_fh, c_info));
}

Просмотреть файл

@ -48,5 +48,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_SET_SIZE,
void mpi_file_set_size_f(MPI_Fint *fh, MPI_Fint *size, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
*ierr = OMPI_INT_2_FINT(MPI_File_set_size(c_fh, (MPI_Offset) *size));
}

Просмотреть файл

@ -46,7 +46,16 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_SET_VIEW,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_set_view_f(MPI_Fint *fh, MPI_Fint *disp, MPI_Fint *etype, MPI_Fint *filetype, char *datarep, MPI_Fint *info, MPI_Fint *ierr)
void mpi_file_set_view_f(MPI_Fint *fh, MPI_Fint *disp,
MPI_Fint *etype, MPI_Fint *filetype,
char *datarep, MPI_Fint *info, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_etype = MPI_Type_f2c(*etype);
MPI_Datatype c_filetype = MPI_Type_f2c(*filetype);
MPI_Info c_info = MPI_Info_f2c(*info);
*ierr = OMPI_INT_2_FINT(MPI_File_set_view(c_fh, (MPI_Offset) *disp,
c_etype, c_filetype,
datarep, c_info));
}

Просмотреть файл

@ -48,5 +48,8 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_SYNC,
void mpi_file_sync_f(MPI_Fint *fh, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
*ierr = OMPI_INT_2_FINT(MPI_File_sync(c_fh));
}

Просмотреть файл

@ -46,7 +46,14 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE_ALL_BEGIN,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_all_begin_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *ierr)
void mpi_file_write_all_begin_f(MPI_Fint *fh, char *buf,
MPI_Fint *count, MPI_Fint *datatype,
MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
*ierr = OMPI_INT_2_FINT(MPI_File_write_all_begin(c_fh, buf,
OMPI_FINT_2_INT(*count),
c_type));
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_WRITE_ALL_END = mpi_file_write_all_end_f
@ -46,7 +49,37 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE_ALL_END,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_all_end_f(MPI_Fint *fh, char *buf, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_write_all_end_f(MPI_Fint *fh, char *buf, MPI_Fint *status,
MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
MPI_File c_fh = MPI_File_f2c(*fh);
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_INT_2_FINT(MPI_File_write_all_end(c_fh, buf, c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_WRITE_ALL = mpi_file_write_all_f
@ -46,7 +49,41 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE_ALL,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_all_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_write_all_f(MPI_Fint *fh, char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_INT_2_FINT(MPI_File_write_all(c_fh, buf,
OMPI_FINT_2_INT(*count),
c_type, c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -46,7 +46,16 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE_AT_ALL_BEGIN,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_at_all_begin_f(MPI_Fint *fh, MPI_Fint *offset, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *ierr)
void mpi_file_write_at_all_begin_f(MPI_Fint *fh, MPI_Fint *offset,
char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
*ierr = OMPI_FINT_2_INT(MPI_File_write_at_all_begin(c_fh,
(MPI_Offset) *offset,
buf,
OMPI_FINT_2_INT(*count),
c_type));
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_WRITE_AT_ALL_END = mpi_file_write_at_all_end_f
@ -46,7 +49,37 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE_AT_ALL_END,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_at_all_end_f(MPI_Fint *fh, char *buf, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_write_at_all_end_f(MPI_Fint *fh, char *buf,
MPI_Fint *status, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_FINT_2_INT(MPI_File_write_at_all_end(c_fh, buf, c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_WRITE_AT_ALL = mpi_file_write_at_all_f
@ -46,7 +49,45 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE_AT_ALL,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_at_all_f(MPI_Fint *fh, MPI_Fint *offset, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_write_at_all_f(MPI_Fint *fh, MPI_Fint *offset,
char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *status,
MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_FINT_2_INT(MPI_File_write_at_all(c_fh,
(MPI_Offset) *offset,
buf,
OMPI_FINT_2_INT(*count),
c_type,
c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_WRITE_AT = mpi_file_write_at_f
@ -46,7 +49,43 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE_AT,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_at_f(MPI_Fint *fh, MPI_Fint *offset, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_write_at_f(MPI_Fint *fh, MPI_Fint *offset,
char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_FINT_2_INT(MPI_File_write_at(c_fh,
(MPI_Offset) *offset,
buf,
OMPI_FINT_2_INT(*count),
c_type, c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_WRITE = mpi_file_write_f
@ -46,7 +49,40 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_write_f(MPI_Fint *fh, char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_INT_2_FINT(MPI_File_write(c_fh, buf,
OMPI_FINT_2_INT(*count),
c_type, c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -46,7 +46,15 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE_ORDERED_BEGIN,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_ordered_begin_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *ierr)
void mpi_file_write_ordered_begin_f(MPI_Fint *fh, char *buf,
MPI_Fint *count, MPI_Fint *datatype,
MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
*ierr = OMPI_INT_2_FINT(MPI_File_write_ordered_begin(c_fh, buf,
OMPI_FINT_2_INT(*count),
c_type));
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_WRITE_ORDERED_END = mpi_file_write_ordered_end_f
@ -46,7 +49,37 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE_ORDERED_END,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_ordered_end_f(MPI_Fint *fh, char *buf, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_write_ordered_end_f(MPI_Fint *fh, char *buf,
MPI_Fint *status, MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_INT_2_FINT(MPI_File_write_ordered_end(c_fh, buf, c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_WRITE_ORDERED = mpi_file_write_ordered_f
@ -46,7 +49,43 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE_ORDERED,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_ordered_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_write_ordered_f(MPI_Fint *fh, char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *status,
MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_FINT_2_INT(MPI_File_write_ordered(c_fh,
buf,
OMPI_FINT_2_INT(*count),
c_type,
c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}

Просмотреть файл

@ -8,6 +8,9 @@
#include "mpi.h"
#include "mpi/f77/bindings.h"
#include "mpi/f77/constants.h"
#include "errhandler/errhandler.h"
#include "communicator/communicator.h"
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILE_LAYER
#pragma weak PMPI_FILE_WRITE_SHARED = mpi_file_write_shared_f
@ -46,7 +49,43 @@ OMPI_GENERATE_F77_BINDINGS (MPI_FILE_WRITE_SHARED,
#include "mpi/f77/profile/defines.h"
#endif
void mpi_file_write_shared_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *status, MPI_Fint *ierr)
void mpi_file_write_shared_f(MPI_Fint *fh, char *buf, MPI_Fint *count,
MPI_Fint *datatype, MPI_Fint *status,
MPI_Fint *ierr)
{
/* This function not yet implemented */
MPI_File c_fh = MPI_File_f2c(*fh);
MPI_Datatype c_type = MPI_Type_f2c(*datatype);
MPI_Status *c_status;
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
MPI_Status c_status2;
#endif
/* See if we got MPI_STATUS_IGNORE */
if (OMPI_IS_FORTRAN_STATUS_IGNORE(status)) {
c_status = MPI_STATUS_IGNORE;
} else {
/* If sizeof(int) == sizeof(INTEGER), then there's no
translation necessary -- let the underlying functions write
directly into the Fortran status */
#if OMPI_SIZEOF_FORTRAN_INT == SIZEOF_INT
c_status = (MPI_Status *) status;
#else
c_status = &c_status2;
#endif
}
*ierr = OMPI_FINT_2_INT(MPI_File_write_shared(c_fh,
buf,
OMPI_FINT_2_INT(*count),
c_type,
c_status));
#if OMPI_SIZEOF_FORTRAN_INT != SIZEOF_INT
if (MPI_STATUS_IGNORE != c_status) {
MPI_Status_c2f(c_status, status);
}
#endif
}