diff options
Diffstat (limited to 'test/std/numerics/complex.number/complex.special/long_double_float_explicit.pass.cpp')
-rw-r--r-- | test/std/numerics/complex.number/complex.special/long_double_float_explicit.pass.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/std/numerics/complex.number/complex.special/long_double_float_explicit.pass.cpp b/test/std/numerics/complex.number/complex.special/long_double_float_explicit.pass.cpp new file mode 100644 index 000000000000..a5f5101c4dc8 --- /dev/null +++ b/test/std/numerics/complex.number/complex.special/long_double_float_explicit.pass.cpp @@ -0,0 +1,37 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <complex> + +// template<> class complex<long double> +// { +// public: +// constexpr complex(const complex<float>&); +// }; + +#include <complex> +#include <cassert> + +int main() +{ + { + const std::complex<float> cd(2.5, 3.5); + std::complex<long double> cf(cd); + assert(cf.real() == cd.real()); + assert(cf.imag() == cd.imag()); + } +#ifndef _LIBCPP_HAS_NO_CONSTEXPR + { + constexpr std::complex<float> cd(2.5, 3.5); + constexpr std::complex<long double> cf(cd); + static_assert(cf.real() == cd.real(), ""); + static_assert(cf.imag() == cd.imag(), ""); + } +#endif +} |