6#include "testing/testing.h"
9# pragma GCC diagnostic error "-Wsign-compare"
10# pragma GCC diagnostic error "-Wsign-conversion"
101 uint64_t value = 0x9827364554637281;
128 uint64_t value = 0x1234567890abcdef;
135 uint64_t value = 0x1234567890abcdef;
152 const uint64_t uint64_t_max = std::numeric_limits<uint64_t>::max();
169 const uint64_t uint64_t_max = std::numeric_limits<uint64_t>::max();
191 int64_t value = 0x1020304050607080;
197 int64_t value = -0x1020304050607080;
212 int64_t value = 0x1827364554637281;
218 int64_t value = -0x1827364554637281;
239 int64_t value = 0x1020304050607080;
245 int64_t value = -0x1020304050607080;
260 int64_t value = 0x1827364554637281;
266 int64_t value = -0x1827364554637281;
296 int64_t value = 0x1234567890abcdef;
303 int64_t value = 0x1234567890abcdef;
320 const int64_t int64_t_max = std::numeric_limits<int64_t>::max();
337 const int64_t int64_t_max = std::numeric_limits<int64_t>::max();
435 const uint32_t uint32_t_max = std::numeric_limits<uint32_t>::max();
452 const uint32_t uint32_t_max = std::numeric_limits<uint32_t>::max();
616 const int32_t int32_t_max = std::numeric_limits<int32_t>::max();
633 const int32_t int32_t_max = std::numeric_limits<int32_t>::max();
817 const size_t size_t_max = std::numeric_limits<size_t>::max();
818 size_t value = size_t_max - 10;
835 const size_t size_t_max = std::numeric_limits<size_t>::max();
836 size_t value = size_t_max - 10;
853 const size_t size_t_max = std::numeric_limits<size_t>::max();
854 size_t value = size_t_max - 10;
871 const size_t size_t_max = std::numeric_limits<size_t>::max();
872 size_t value = size_t_max - 10;
889 const size_t size_t_max = std::numeric_limits<size_t>::max();
906 const size_t size_t_max = std::numeric_limits<size_t>::max();
907 size_t value = size_t_max;
923 const size_t size_t_max = std::numeric_limits<size_t>::max();
932 const size_t size_t_max = std::numeric_limits<size_t>::max();
956 unsigned int value = 1;
963 const unsigned int uint_max = std::numeric_limits<unsigned int>::max();
964 unsigned int value = uint_max - 10;
974 unsigned int value = 3;
981 const unsigned int uint_max = std::numeric_limits<unsigned int>::max();
982 unsigned int value = uint_max - 10;
992 unsigned int value = 1;
999 const unsigned int uint_max = std::numeric_limits<unsigned int>::max();
1000 unsigned int value = uint_max - 10;
1010 unsigned int value = 3;
1017 const unsigned int uint_max = std::numeric_limits<unsigned int>::max();
1018 unsigned int value = uint_max - 10;
1028 unsigned int value = 1;
1035 const unsigned int uint_max = std::numeric_limits<unsigned int>::max();
1036 unsigned int value = 1;
1048#define INT_AS_PTR(a) reinterpret_cast<void *>((a))
1072 void *dest =
nullptr;
1089 float value = 1.234f;
1098 float value = 1.23f;
1100 EXPECT_NEAR(value, 3.94f, 1e-8f);
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
Provides wrapper around system-specific atomic primitives, and some extensions (faked-atomic operatio...
ATOMIC_INLINE unsigned int atomic_fetch_and_sub_u(unsigned int *p, unsigned int x)
ATOMIC_INLINE uint32_t atomic_fetch_and_or_uint32(uint32_t *p, uint32_t x)
ATOMIC_INLINE int32_t atomic_add_and_fetch_int32(int32_t *p, int32_t x)
ATOMIC_INLINE int16_t atomic_fetch_and_or_int16(int16_t *p, int16_t b)
ATOMIC_INLINE void atomic_store_uint64(uint64_t *p, uint64_t v)
ATOMIC_INLINE size_t atomic_load_z(const size_t *v)
ATOMIC_INLINE size_t atomic_add_and_fetch_z(size_t *p, size_t x)
ATOMIC_INLINE uint64_t atomic_fetch_and_sub_uint64(uint64_t *p, uint64_t x)
ATOMIC_INLINE int64_t atomic_sub_and_fetch_int64(int64_t *p, int64_t x)
ATOMIC_INLINE uint8_t atomic_fetch_and_and_uint8(uint8_t *p, uint8_t b)
ATOMIC_INLINE void * atomic_load_ptr(void *const *v)
ATOMIC_INLINE uint64_t atomic_load_uint64(const uint64_t *v)
ATOMIC_INLINE size_t atomic_sub_and_fetch_z(size_t *p, size_t x)
ATOMIC_INLINE void * atomic_cas_ptr(void **v, void *old, void *_new)
ATOMIC_INLINE int64_t atomic_cas_int64(int64_t *v, int64_t old, int64_t _new)
ATOMIC_INLINE size_t atomic_fetch_and_sub_z(size_t *p, size_t x)
ATOMIC_INLINE uint32_t atomic_fetch_and_add_uint32(uint32_t *p, uint32_t x)
ATOMIC_INLINE uint8_t atomic_fetch_and_or_uint8(uint8_t *p, uint8_t b)
ATOMIC_INLINE int32_t atomic_load_int32(const int32_t *v)
ATOMIC_INLINE float atomic_add_and_fetch_fl(float *p, const float x)
ATOMIC_INLINE int64_t atomic_load_int64(const int64_t *v)
ATOMIC_INLINE int32_t atomic_fetch_and_or_int32(int32_t *p, int32_t x)
ATOMIC_INLINE char atomic_fetch_and_or_char(char *p, char b)
ATOMIC_INLINE uint32_t atomic_fetch_and_and_uint32(uint32_t *p, uint32_t x)
ATOMIC_INLINE void atomic_store_int64(int64_t *p, int64_t v)
ATOMIC_INLINE int64_t atomic_fetch_and_add_int64(int64_t *p, int64_t x)
ATOMIC_INLINE unsigned int atomic_add_and_fetch_u(unsigned int *p, unsigned int x)
ATOMIC_INLINE uint32_t atomic_add_and_fetch_uint32(uint32_t *p, uint32_t x)
ATOMIC_INLINE void atomic_store_int32(int32_t *p, int32_t v)
ATOMIC_INLINE int32_t atomic_fetch_and_add_int32(int32_t *p, int32_t x)
ATOMIC_INLINE uint64_t atomic_cas_uint64(uint64_t *v, uint64_t old, uint64_t _new)
ATOMIC_INLINE uint64_t atomic_fetch_and_add_uint64(uint64_t *p, uint64_t x)
ATOMIC_INLINE uint32_t atomic_sub_and_fetch_uint32(uint32_t *p, uint32_t x)
ATOMIC_INLINE char atomic_fetch_and_and_char(char *p, char b)
ATOMIC_INLINE int16_t atomic_fetch_and_and_int16(int16_t *p, int16_t b)
ATOMIC_INLINE unsigned int atomic_cas_u(unsigned int *v, unsigned int old, unsigned int _new)
ATOMIC_INLINE size_t atomic_cas_z(size_t *v, size_t old, size_t _new)
ATOMIC_INLINE void atomic_store_z(size_t *p, size_t v)
ATOMIC_INLINE float atomic_cas_float(float *v, float old, float _new)
ATOMIC_INLINE int64_t atomic_add_and_fetch_int64(int64_t *p, int64_t x)
ATOMIC_INLINE uint64_t atomic_add_and_fetch_uint64(uint64_t *p, uint64_t x)
ATOMIC_INLINE size_t atomic_fetch_and_add_z(size_t *p, size_t x)
ATOMIC_INLINE uint32_t atomic_load_uint32(const uint32_t *v)
ATOMIC_INLINE uint64_t atomic_sub_and_fetch_uint64(uint64_t *p, uint64_t x)
ATOMIC_INLINE void atomic_store_uint32(uint32_t *p, uint32_t v)
ATOMIC_INLINE int32_t atomic_cas_int32(int32_t *v, int32_t old, int32_t _new)
ATOMIC_INLINE int32_t atomic_fetch_and_and_int32(int32_t *p, int32_t x)
ATOMIC_INLINE size_t atomic_fetch_and_update_max_z(size_t *p, size_t x)
ATOMIC_INLINE int8_t atomic_fetch_and_or_int8(int8_t *p, int8_t b)
ATOMIC_INLINE void atomic_store_ptr(void **p, void *v)
ATOMIC_INLINE int32_t atomic_sub_and_fetch_int32(int32_t *p, int32_t x)
ATOMIC_INLINE unsigned int atomic_sub_and_fetch_u(unsigned int *p, unsigned int x)
ATOMIC_INLINE int8_t atomic_fetch_and_and_int8(int8_t *p, int8_t b)
ATOMIC_INLINE unsigned int atomic_fetch_and_add_u(unsigned int *p, unsigned int x)
ATOMIC_INLINE int64_t atomic_fetch_and_sub_int64(int64_t *p, int64_t x)
ATOMIC_INLINE uint32_t atomic_cas_uint32(uint32_t *v, uint32_t old, uint32_t _new)
TEST(atomic, atomic_add_and_fetch_uint64)
unsigned __int64 uint64_t