[PowerPC] Collect some CallLowering arguments into a struct. [NFC]
[llvm-project.git] / libcxx / test / std / numerics / complex.number / complex.ops / complex_not_equals_scalar.pass.cpp
blob35074e5772dcb4221477d18653e95eb8ce69de69
1 //===----------------------------------------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
9 // <complex>
11 // template<class T>
12 // bool
13 // operator!=(const complex<T>& lhs, const T& rhs);
15 #include <complex>
16 #include <cassert>
18 #include "test_macros.h"
20 template <class T>
21 void
22 test_constexpr()
24 #if TEST_STD_VER > 11
26 constexpr std::complex<T> lhs(1.5, 2.5);
27 constexpr T rhs(-2.5);
28 static_assert(lhs != rhs, "");
31 constexpr std::complex<T> lhs(1.5, 0);
32 constexpr T rhs(-2.5);
33 static_assert(lhs != rhs, "");
36 constexpr std::complex<T> lhs(1.5, 2.5);
37 constexpr T rhs(1.5);
38 static_assert(lhs != rhs, "");
41 constexpr std::complex<T> lhs(1.5, 0);
42 constexpr T rhs(1.5);
43 static_assert( !(lhs != rhs), "");
45 #endif
48 template <class T>
49 void
50 test()
53 std::complex<T> lhs(1.5, 2.5);
54 T rhs(-2.5);
55 assert(lhs != rhs);
58 std::complex<T> lhs(1.5, 0);
59 T rhs(-2.5);
60 assert(lhs != rhs);
63 std::complex<T> lhs(1.5, 2.5);
64 T rhs(1.5);
65 assert(lhs != rhs);
68 std::complex<T> lhs(1.5, 0);
69 T rhs(1.5);
70 assert( !(lhs != rhs));
73 test_constexpr<T> ();
76 int main(int, char**)
78 test<float>();
79 test<double>();
80 test<long double>();
81 // test_constexpr<int> ();
83 return 0;