//===----------------------------------------------------------------------===// // // 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<double> // { // public: // constexpr complex(const complex<float>&); // }; #include <complex> #include <cassert> int main() { { const std::complex<float> cd(2.5, 3.5); std::complex<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<double> cf(cd); static_assert(cf.real() == cd.real(), ""); static_assert(cf.imag() == cd.imag(), ""); } #endif }