Skip to content

Commit 84e7c7b

Browse files
Address @ldionne's review comments
- `return 0;` for freestanding environments. - drop constexpr coverage
1 parent b3c2eea commit 84e7c7b

File tree

1 file changed

+15
-39
lines changed

1 file changed

+15
-39
lines changed

libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp

Lines changed: 15 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -26,29 +26,26 @@ namespace usr {
2626
struct usr_tag {};
2727

2828
template <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

3736
template <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

4644
template <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

Comments
 (0)