#include <stdio.h>
+#include "visibility.h"
+
#ifdef __cplusplus
extern "C"
{
-
/* now check specifically for several architectures: */
#if ((defined(i386) || defined(__x86_64__)) && ! defined(__OPEN64__))
/* first x86: */
*
* \hideinitializer
*/
+TMPI_EXPORT
static inline void tMPI_Atomic_set(tMPI_Atomic_t *a, int i)
{
/* Mutexes here are necessary to guarantee memory visibility */
*
* \hideinitializer
*/
+TMPI_EXPORT
static inline void tMPI_Atomic_ptr_set(tMPI_Atomic_t *a, void *p)
{
/* Mutexes here are necessary to guarantee memory visibility */
*
* \return The new value (after summation).
*/
+TMPI_EXPORT
static inline int tMPI_Atomic_add_return(tMPI_Atomic_t *a, int i)
{
int t;
*
* \return The value of the atomic variable before addition.
*/
+TMPI_EXPORT
static inline int tMPI_Atomic_fetch_add(tMPI_Atomic_t *a, int i)
{
int old_value;
*
* \note The exchange occured if the return value is identical to \a old.
*/
+TMPI_EXPORT
static inline int tMPI_Atomic_cas(tMPI_Atomic_t *a, int old_val, int new_val)
{
int t=0;
*
* \note The exchange occured if the return value is identical to \a old.
*/
+TMPI_EXPORT
static inline int tMPI_Atomic_ptr_cas(tMPI_Atomic_ptr_t * a, void *old_val,
void *new_val)
{
*
* \return 1 if the spinlock is locked, 0 otherwise.
*/
+TMPI_EXPORT
static inline int tMPI_Spinlock_islocked(const tMPI_Spinlock_t *x)
{
if(tMPI_Spinlock_trylock(x) != 0)
*
* \param x Spinlock pointer
*/
+TMPI_EXPORT
static inline void tMPI_Spinlock_wait(tMPI_Spinlock_t *x)
{
tMPI_Spinlock_lock(x);
\param b Value to swap
\return the original value of a
*/
+TMPI_EXPORT
static inline int tMPI_Atomic_swap(tMPI_Atomic_t *a, int b)
{
int oldval;
\param b Value to swap
\return the original value of a
*/
+TMPI_EXPORT
static inline void *tMPI_Atomic_ptr_swap(tMPI_Atomic_ptr_t *a, void *b)
{
void *oldval;