18d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow// -*- C++ -*- 28d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow//===----------------------------------------------------------------------===// 38d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow// 48d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow// The LLVM Compiler Infrastructure 58d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow// 68d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow// This file is dual licensed under the MIT and the University of Illinois Open 78d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow// Source Licenses. See LICENSE.TXT for details. 88d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow// 98d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow//===----------------------------------------------------------------------===// 108d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow#include <chrono> 118d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow#include <cassert> 128d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow 138d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clowint main() 148d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow{ 158d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow#if _LIBCPP_STD_VER > 11 168d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow using namespace std::chrono; 178d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow 188d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow hours h = 4h; 198d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( h == hours(4)); 208d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow auto h2 = 4.0h; 218d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( h == h2 ); 228d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow 238d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow minutes min = 36min; 248d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( min == minutes(36)); 258d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow auto min2 = 36.0min; 268d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( min == min2 ); 278d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow 288d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow seconds s = 24s; 298d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( s == seconds(24)); 308d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow auto s2 = 24.0s; 318d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( s == s2 ); 328d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow 338d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow milliseconds ms = 247ms; 348d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( ms == milliseconds(247)); 358d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow auto ms2 = 247.0ms; 368d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( ms == ms2 ); 378d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow 388d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow microseconds us = 867us; 398d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( us == microseconds(867)); 408d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow auto us2 = 867.0us; 418d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( us == us2 ); 428d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow 438d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow nanoseconds ns = 645ns; 448d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( ns == nanoseconds(645)); 458d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow auto ns2 = 645.ns; 468d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow assert ( ns == ns2 ); 478d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow#endif 488d9dd7a968ce810c02c67c94a0eb9fbe5733d70bMarshall Clow} 49