1320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow//===----------------------------------------------------------------------===// 2320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow// 3320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow// The LLVM Compiler Infrastructure 4320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow// 5320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow// This file is dual licensed under the MIT and the University of Illinois Open 6320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow// Source Licenses. See LICENSE.TXT for details. 7320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow// 8320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow//===----------------------------------------------------------------------===// 9320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow 10320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow// <chrono> 11320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow 12320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow#include <complex> 13320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow#include <type_traits> 14320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow#include <cassert> 15320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow 16320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clowint main() 17320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow{ 18320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow#if _LIBCPP_STD_VER > 11 19320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow using namespace std; 20320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow 21320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow { 22320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow std::complex<long double> c1 = 3.0il; 23320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow assert ( c1 == std::complex<long double>(0, 3.0)); 24320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow auto c2 = 3il; 25320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow assert ( c1 == c2 ); 26320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow } 27320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow 28320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow { 29320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow std::complex<double> c1 = 3.0i; 30320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow assert ( c1 == std::complex<double>(0, 3.0)); 31320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow auto c2 = 3i; 32320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow assert ( c1 == c2 ); 33320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow } 34320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow 35320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow { 36320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow std::complex<float> c1 = 3.0if; 37320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow assert ( c1 == std::complex<float>(0, 3.0)); 38320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow auto c2 = 3if; 39320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow assert ( c1 == c2 ); 40320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow } 41320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow 42320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow#endif 43320c80fecf6b50cbc89840189b90a972baf4d6fcMarshall Clow} 44