@@ -26,29 +26,26 @@ namespace usr {
2626struct usr_tag {};
2727
2828template <class T , class U >
29- TEST_CONSTEXPR
30- typename std::enable_if<(std::is_same<T, usr_tag>::value && std::is_floating_point<U>::value) ||
31- (std::is_floating_point<T>::value && std::is_same<U, usr_tag>::value),
32- int >::type
33- pow (const T&, const std::complex <U>&) {
29+ typename std::enable_if<(std::is_same<T, usr_tag>::value && std::is_floating_point<U>::value) ||
30+ (std::is_floating_point<T>::value && std::is_same<U, usr_tag>::value),
31+ int >::type
32+ pow (const T&, const std::complex <U>&) {
3433 return std::is_same<T, usr_tag>::value ? 0 : 1 ;
3534}
3635
3736template <class T , class U >
38- TEST_CONSTEXPR
39- typename std::enable_if<(std::is_same<T, usr_tag>::value && std::is_floating_point<U>::value) ||
40- (std::is_floating_point<T>::value && std::is_same<U, usr_tag>::value),
41- int >::type
42- pow (const std::complex <T>&, const U&) {
37+ typename std::enable_if<(std::is_same<T, usr_tag>::value && std::is_floating_point<U>::value) ||
38+ (std::is_floating_point<T>::value && std::is_same<U, usr_tag>::value),
39+ int >::type
40+ pow (const std::complex <T>&, const U&) {
4341 return std::is_same<U, usr_tag>::value ? 2 : 3 ;
4442}
4543
4644template <class T , class U >
47- TEST_CONSTEXPR
48- typename std::enable_if<(std::is_same<T, usr_tag>::value && std::is_floating_point<U>::value) ||
49- (std::is_floating_point<T>::value && std::is_same<U, usr_tag>::value),
50- int >::type
51- pow (const std::complex <T>&, const std::complex <U>&) {
45+ typename std::enable_if<(std::is_same<T, usr_tag>::value && std::is_floating_point<U>::value) ||
46+ (std::is_floating_point<T>::value && std::is_same<U, usr_tag>::value),
47+ int >::type
48+ pow (const std::complex <T>&, const std::complex <U>&) {
5249 return std::is_same<T, usr_tag>::value ? 4 : 5 ;
5350}
5451} // namespace usr
@@ -57,8 +54,8 @@ int main(int, char**) {
5754 using std::pow;
5855 using usr::pow;
5956
60- TEST_CONSTEXPR usr::usr_tag tag;
61- TEST_CONSTEXPR_CXX14 const std::complex <usr::usr_tag> ctag;
57+ usr::usr_tag tag;
58+ const std::complex <usr::usr_tag> ctag;
6259
6360 assert (pow (tag, std::complex <float >(1 .0f )) == 0 );
6461 assert (pow (std::complex <float >(1 .0f ), tag) == 2 );
@@ -81,26 +78,5 @@ int main(int, char**) {
8178 assert (pow (ctag, std::complex <long double >(1 .0l )) == 4 );
8279 assert (pow (std::complex <long double >(1 .0l ), ctag) == 5 );
8380
84- #if TEST_STD_VER >= 11
85- static_assert (pow (tag, std::complex <float >(1 .0f )) == 0 , " " );
86- static_assert (pow (std::complex <float >(1 .0f ), tag) == 2 , " " );
87- static_assert (pow (tag, std::complex <double >(1.0 )) == 0 , " " );
88- static_assert (pow (std::complex <double >(1.0 ), tag) == 2 , " " );
89- static_assert (pow (tag, std::complex <long double >(1 .0l )) == 0 , " " );
90- static_assert (pow (std::complex <long double >(1 .0l ), tag) == 2 , " " );
91-
92- static_assert (pow (1 .0f , ctag) == 1 , " " );
93- static_assert (pow (ctag, 1 .0f ) == 3 , " " );
94- static_assert (pow (1.0 , ctag) == 1 , " " );
95- static_assert (pow (ctag, 1.0 ) == 3 , " " );
96- static_assert (pow (1 .0l , ctag) == 1 , " " );
97- static_assert (pow (ctag, 1 .0l ) == 3 , " " );
98-
99- static_assert (pow (ctag, std::complex <float >(1 .0f )) == 4 , " " );
100- static_assert (pow (std::complex <float >(1 .0f ), ctag) == 5 , " " );
101- static_assert (pow (ctag, std::complex <double >(1.0 )) == 4 , " " );
102- static_assert (pow (std::complex <double >(1.0 ), ctag) == 5 , " " );
103- static_assert (pow (ctag, std::complex <long double >(1 .0l )) == 4 , " " );
104- static_assert (pow (std::complex <long double >(1 .0l ), ctag) == 5 , " " );
105- #endif
81+ return 0 ;
10682}
0 commit comments