1
1
openmpi/oshmem/shmem/fortran/bindings.h
Sergey Oblomov f574c14e3a ATOMICS/UCX: redefine atomic module API
- now it accepts integer values directily instead of
  pointers

Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
2018-07-04 14:41:45 +03:00

43 строки
1.3 KiB
C

/*
* 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*/