41 lines · cpp
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-exception6//7//===----------------------------------------------------------------------===//8 9// <complex>10 11// template<> class complex<double>12// {13// public:14// explicit constexpr complex(const complex<long double>&);15// };16 17#include <complex>18#include <cassert>19 20#include "test_macros.h"21 22int main(int, char**)23{24 {25 const std::complex<long double> 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 >= 1131 {32 constexpr std::complex<long double> 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#endif38 39 return 0;40}41