#include #include #include #include #include template void TestComplexAlignment() { static_assert(sizeof(thrust::complex) == sizeof(VectorT)); static_assert(alignof(thrust::complex) == alignof(VectorT)); static_assert(sizeof(thrust::complex) == sizeof(VectorT)); static_assert(alignof(thrust::complex) == alignof(VectorT)); } DECLARE_UNITTEST_WITH_NAME(THRUST_PP_EXPAND_ARGS(TestComplexAlignment), TestComplexCharAlignment); DECLARE_UNITTEST_WITH_NAME(THRUST_PP_EXPAND_ARGS(TestComplexAlignment), TestComplexShortAlignment); DECLARE_UNITTEST_WITH_NAME(THRUST_PP_EXPAND_ARGS(TestComplexAlignment), TestComplexIntAlignment); DECLARE_UNITTEST_WITH_NAME(THRUST_PP_EXPAND_ARGS(TestComplexAlignment), TestComplexLongAlignment); DECLARE_UNITTEST_WITH_NAME(THRUST_PP_EXPAND_ARGS(TestComplexAlignment<__half, __half2>), TestComplexHalfAlignment); DECLARE_UNITTEST_WITH_NAME(THRUST_PP_EXPAND_ARGS(TestComplexAlignment), TestComplexFloatAlignment); DECLARE_UNITTEST_WITH_NAME(THRUST_PP_EXPAND_ARGS(TestComplexAlignment), TestComplexDoubleAlignment);