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