root/oshmem/shmem/fortran/bindings.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2013      Mellanox Technologies, Inc.
   3  *                         All rights reserved.
   4  * Copyright (c) 2013 Cisco Systems, Inc.  All rights reserved.
   5  * $COPYRIGHT$
   6  *
   7  * Additional copyrights may follow
   8  *
   9  * $HEADER$
  10  */
  11 
  12 #ifndef SHMEM_FORTRAN_BINDINGS_H
  13 #define SHMEM_FORTRAN_BINDINGS_H
  14 
  15 #include "prototypes_shmem.h"
  16 #include "ompi/mpi/fortran/base/fint_2_int.h"
  17 
  18 #define SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION(ret, \
  19         upper_case, \
  20         single_underscore, \
  21         double_underscore, \
  22         wrapper_function, \
  23         signature, \
  24         params) \
  25 ret upper_case signature {return wrapper_function params; } \
  26 ret single_underscore signature {return wrapper_function params; } \
  27 ret double_underscore signature {return wrapper_function params; }
  28 
  29 #define SHMEM_GENERATE_FORTRAN_BINDINGS_SUB(ret, \
  30         upper_case, \
  31         single_underscore, \
  32         double_underscore, \
  33         wrapper_function, \
  34         signature, \
  35         params) \
  36 ret upper_case signature {wrapper_function params; } \
  37 ret single_underscore signature {wrapper_function params; } \
  38 ret double_underscore signature {wrapper_function params; }
  39 
  40 #define FPTR_2_INT(ptr, size) ((size) == sizeof(uint64_t) ? *(uint64_t*)(ptr) : *(uint32_t*)(ptr))
  41 
  42 #endif /*SHMEM_FORTRAN_BINDINGS_H*/

/* [<][>][^][v][top][bottom][index][help] */