#include "parts.h"
#define FOR_BITWISE_TYPES(V) …
#define FOR_ARITHMETIC_TYPES(V) …
#define FOR_ALL_TYPES(V) …
#define IMPL_TEST_ADD(suffix, dtype) …
FOR_ARITHMETIC_TYPES(…)
#define IMPL_TEST_COMPARE_EXCHANGE(suffix, dtype) …
FOR_ALL_TYPES(…)
#define IMPL_TEST_EXCHANGE(suffix, dtype) …
FOR_ALL_TYPES(…)
#define IMPL_TEST_LOAD_STORE(suffix, dtype) …
FOR_ALL_TYPES(…)
#define IMPL_TEST_AND_OR(suffix, dtype) …
FOR_BITWISE_TYPES(…)
static PyObject *
test_atomic_fences(PyObject *self, PyObject *obj) { … }
static PyObject *
test_atomic_release_acquire(PyObject *self, PyObject *obj) { … }
static PyObject *
test_atomic_load_store_int_release_acquire(PyObject *self, PyObject *obj) { … }
#define BIND_TEST_ADD(suffix, dtype) …
#define BIND_TEST_COMPARE_EXCHANGE(suffix, dtype) …
#define BIND_TEST_EXCHANGE(suffix, dtype) …
#define BIND_TEST_LOAD_STORE(suffix, dtype) …
#define BIND_TEST_AND_OR(suffix, dtype) …
static PyMethodDef test_methods[] = …;
int
_PyTestCapi_Init_PyAtomic(PyObject *mod)
{ … }