Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/atomic/tests/atomic_test.cc')
-rw-r--r--intern/atomic/tests/atomic_test.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/intern/atomic/tests/atomic_test.cc b/intern/atomic/tests/atomic_test.cc
index 6178b5074a7..661c130c65d 100644
--- a/intern/atomic/tests/atomic_test.cc
+++ b/intern/atomic/tests/atomic_test.cc
@@ -559,6 +559,39 @@ TEST(atomic, atomic_fetch_and_and_int32)
/** \} */
+/** \name 16 bit signed int atomics
+ * \{ */
+
+TEST(atomic, atomic_fetch_and_or_int16)
+{
+ {
+ int16_t value = 12;
+ EXPECT_EQ(atomic_fetch_and_or_int16(&value, 5), 12);
+ EXPECT_EQ(value, 13);
+ }
+
+ {
+ int16_t value = 0x1234;
+ EXPECT_EQ(atomic_fetch_and_or_int16(&value, -0x5678), 0x1234);
+ EXPECT_EQ(value, -0x4444);
+ }
+}
+
+TEST(atomic, atomic_fetch_and_and_int16)
+{
+ {
+ int16_t value = 12;
+ EXPECT_EQ(atomic_fetch_and_and_int16(&value, 5), 12);
+ EXPECT_EQ(value, 4);
+ }
+
+ {
+ int16_t value = 0x1234;
+ EXPECT_EQ(atomic_fetch_and_and_int16(&value, -0x789A), 0x1234);
+ EXPECT_EQ(value, 0x224);
+ }
+}
+
/** \name 8 bit unsigned int atomics
* \{ */