X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/822acfadcfb2a034c9cdaf4131d233ef0f8c2235..6b39f0a42dca3e51cc81071af9d6728fcd28aa5c:/include/smpi/smpif.h.in diff --git a/include/smpi/smpif.h.in b/include/smpi/smpif.h.in index c003a43822..bbcb661ac1 100644 --- a/include/smpi/smpif.h.in +++ b/include/smpi/smpif.h.in @@ -7,19 +7,41 @@ #ifndef SMPIF_H #define SMPIF_H -#cmakedefine HAVE_SMPI_F2C_H @HAVE_SMPI_F2C_H@ +#cmakedefine HAVE_F2C_H @HAVE_SMPI_F2C_H@ -#ifdef HAVE_SMPI_F2C_H - #undef min //Need because first def in xbt.h - #undef max //Need because first def in xbt.h - #include +#ifndef HAVE_F2C_H +#error F2C is mandatory #endif #include +#include +#include + +XBT_PUBLIC_DATA(__thread int) smpi_current_rank; XBT_PUBLIC(int) smpi_process_argc(void); -XBT_PUBLIC(int) smpi_process_getarg(int* index, char* dst, size_t len); -XBT_PUBLIC(int) smpi_global_rank(void); +XBT_PUBLIC(int) smpi_process_getarg(integer* index, char* dst, ftnlen len); XBT_PUBLIC(int) smpi_global_size(void); +#define smpi_sample_local__(pi,pt) \ + { \ + if(smpi_sample_1(0, __FILE__, __LINE__, *pi, *pt)) { \ + smpi_sample_3(0, __FILE__, __LINE__); \ + } \ + if(!smpi_sample_2(0, __FILE__, __LINE__)) { \ + continue; \ + } \ + } + +#define smpi_sample_global__(pi,pt) \ + { \ + if(smpi_sample_1(1, __FILE__, __LINE__, *pi, *pt)) { \ + smpi_sample_3(1, __FILE__, __LINE__); \ + } \ + if(!smpi_sample_2(1, __FILE__, __LINE__)) { \ + continue; \ + } \ + } + + #endif