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 //===----------------------------------------------------------------------===// 8 9 // <complex> 10 11 // template<> class complex<double> 12 // { 13 // public: 14 // constexpr complex(const complex<float>&); 15 // }; 16 17 #include <complex> 18 #include <cassert> 19 20 #include "test_macros.h" 21 main(int,char **)22int main(int, char**) 23 { 24 { 25 const std::complex<float> cd(2.5, 3.5); 26 std::complex<double> cf = cd; 27 assert(cf.real() == cd.real()); 28 assert(cf.imag() == cd.imag()); 29 } 30 #if TEST_STD_VER >= 11 31 { 32 constexpr std::complex<float> cd(2.5, 3.5); 33 constexpr std::complex<double> cf = cd; 34 static_assert(cf.real() == cd.real(), ""); 35 static_assert(cf.imag() == cd.imag(), ""); 36 } 37 #endif 38 39 return 0; 40 } 41