@@ -142,26 +142,34 @@ TEST_CASE("[multi arch support]")
142142 {
143143 using batch4f = xsimd::make_sized_batch_t <float , 4 >;
144144 using batch2d = xsimd::make_sized_batch_t <double , 2 >;
145+ using batch4c = xsimd::make_sized_batch_t <std::complex <float >, 4 >;
146+ using batch2z = xsimd::make_sized_batch_t <std::complex <double >, 2 >;
145147 using batch4i32 = xsimd::make_sized_batch_t <int32_t , 4 >;
146148 using batch4u32 = xsimd::make_sized_batch_t <uint32_t , 4 >;
147149
148150 using batch8f = xsimd::make_sized_batch_t <float , 8 >;
149151 using batch4d = xsimd::make_sized_batch_t <double , 4 >;
152+ using batch8c = xsimd::make_sized_batch_t <std::complex <float >, 8 >;
153+ using batch4z = xsimd::make_sized_batch_t <std::complex <double >, 4 >;
150154 using batch8i32 = xsimd::make_sized_batch_t <int32_t , 8 >;
151155 using batch8u32 = xsimd::make_sized_batch_t <uint32_t , 8 >;
152156
153157#if XSIMD_WITH_SSE2 || XSIMD_WITH_NEON || XSIMD_WITH_NEON64 || XSIMD_WITH_SVE || (XSIMD_WITH_RVV && XSIMD_RVV_BITS == 128)
154158 CHECK_EQ (4 , size_t (batch4f::size));
159+ CHECK_EQ (4 , size_t (batch4c::size));
155160 CHECK_EQ (4 , size_t (batch4i32::size));
156161 CHECK_EQ (4 , size_t (batch4u32::size));
157162
158163 CHECK_UNARY (bool (std::is_same<float , batch4f::value_type>::value));
164+ CHECK_UNARY (bool (std::is_same<std::complex <float >, batch4c::value_type>::value));
159165 CHECK_UNARY (bool (std::is_same<int32_t , batch4i32::value_type>::value));
160166 CHECK_UNARY (bool (std::is_same<uint32_t , batch4u32::value_type>::value));
161167
162168#if XSIMD_WITH_SSE2 || XSIMD_WITH_NEON64 || XSIMD_WITH_SVE || XSIMD_WITH_RVV
163169 CHECK_EQ (2 , size_t (batch2d::size));
170+ CHECK_EQ (2 , size_t (batch2z::size));
164171 CHECK_UNARY (bool (std::is_same<double , batch2d::value_type>::value));
172+ CHECK_UNARY (bool (std::is_same<std::complex <double >, batch2z::value_type>::value));
165173#else
166174 CHECK_UNARY (bool (std::is_same<void , batch2d>::value));
167175#endif
@@ -170,6 +178,8 @@ TEST_CASE("[multi arch support]")
170178#if !XSIMD_WITH_AVX && !XSIMD_WITH_FMA3 && !(XSIMD_WITH_SVE && XSIMD_SVE_BITS == 256) && !(XSIMD_WITH_RVV && XSIMD_RVV_BITS == 256)
171179 CHECK_UNARY (bool (std::is_same<void , batch8f>::value));
172180 CHECK_UNARY (bool (std::is_same<void , batch4d>::value));
181+ CHECK_UNARY (bool (std::is_same<void , batch8c>::value));
182+ CHECK_UNARY (bool (std::is_same<void , batch4z>::value));
173183 CHECK_UNARY (bool (std::is_same<void , batch8i32>::value));
174184 CHECK_UNARY (bool (std::is_same<void , batch8u32>::value));
175185#else
@@ -178,10 +188,15 @@ TEST_CASE("[multi arch support]")
178188 CHECK_EQ (8 , size_t (batch8u32::size));
179189 CHECK_EQ (4 , size_t (batch4d::size));
180190
191+ CHECK_EQ (8 , size_t (batch8c::size));
192+ CHECK_EQ (4 , size_t (batch4z::size));
193+
181194 CHECK_UNARY (bool (std::is_same<float , batch8f::value_type>::value));
182195 CHECK_UNARY (bool (std::is_same<double , batch4d::value_type>::value));
183196 CHECK_UNARY (bool (std::is_same<int32_t , batch8i32::value_type>::value));
184197 CHECK_UNARY (bool (std::is_same<uint32_t , batch8u32::value_type>::value));
198+ CHECK_UNARY (bool (std::is_same<std::complex <float >, batch8c::value_type>::value));
199+ CHECK_UNARY (bool (std::is_same<std::complex <double >, batch4z::value_type>::value));
185200#endif
186201 }
187202
0 commit comments