summaryrefslogtreecommitdiff
path: root/libc/test/include/complex_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libc/test/include/complex_test.cpp')
-rw-r--r--libc/test/include/complex_test.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/libc/test/include/complex_test.cpp b/libc/test/include/complex_test.cpp
index da833fb52738..6f900aa4fb67 100644
--- a/libc/test/include/complex_test.cpp
+++ b/libc/test/include/complex_test.cpp
@@ -17,3 +17,22 @@ TEST(LlvmLibcComplexTest, VersionMacro) {
TEST(LlvmLibcComplexTest, IMacro) { EXPECT_CFP_EQ(1.0fi, I); }
TEST(LlvmLibcComplexTest, _Complex_IMacro) { EXPECT_CFP_EQ(1.0fi, _Complex_I); }
+
+TEST(LlvmLibcComplexTest, CMPLXMacro) {
+ EXPECT_CFP_EQ(CMPLX(0, 1.0), I);
+ EXPECT_CFP_EQ(CMPLX(1.0, 0), 1.0);
+ EXPECT_CFP_EQ(CMPLXF(0, 1.0f), I);
+ EXPECT_CFP_EQ(CMPLXF(1.0f, 0), 1.0f);
+ EXPECT_CFP_EQ(CMPLXL(0, 1.0l), I);
+ EXPECT_CFP_EQ(CMPLXL(1.0l, 0), 1.0l);
+
+#ifdef LIBC_TYPES_HAS_CFLOAT16
+ EXPECT_CFP_EQ(CMPLXF16(0, 1.0), I);
+ EXPECT_CFP_EQ(CMPLXF16(1.0, 0), 1.0);
+#endif // LIBC_TYPES_HAS_CFLOAT16
+
+#ifdef LIBC_TYPES_HAS_CFLOAT128
+ EXPECT_CFP_EQ(CMPLXF128(0, 1.0), I);
+ EXPECT_CFP_EQ(CMPLXF128(1.0, 0), 1.0);
+#endif // LIBC_TYPES_HAS_CFLOAT128
+}