X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/68d80d4ffbf3a670cf7e3016ca904d1946b31b4f..fdc1a282a7200e7131298083d6dd41f6aa8beb89:/include/smpi/smpif.h.in diff --git a/include/smpi/smpif.h.in b/include/smpi/smpif.h.in index 156c9ea478..37b80e8718 100644 --- a/include/smpi/smpif.h.in +++ b/include/smpi/smpif.h.in @@ -1,4 +1,4 @@ -/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2007-2013. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -7,11 +7,42 @@ #ifndef SMPIF_H #define SMPIF_H +#cmakedefine SMPI_F2C @SMPI_F2C@ + +#ifdef SMPI_F2C + #include +#include +#include +XBT_PUBLIC_DATA(__thread int) smpi_current_rank; + +XBT_PUBLIC(void) smpi_process_init(int *argc, char ***argv); 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 + +#endif // SMPI_F2C