libcxx

libcxx mirror with random patches
git clone https://git.neptards.moe/neptards/libcxx.git
Log | Files | Refs

convert_int_to_float.pass.cpp (946B)


      1 //===----------------------------------------------------------------------===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is dual licensed under the MIT and the University of Illinois Open
      6 // Source Licenses. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 // <chrono>
     11 
     12 // duration
     13 
     14 // template <class Rep2, class Period2>
     15 //   duration(const duration<Rep2, Period2>& d);
     16 
     17 //  conversions from integral to floating point durations allowed
     18 
     19 #include <chrono>
     20 #include <cassert>
     21 
     22 #include "test_macros.h"
     23 
     24 int main()
     25 {
     26     {
     27     std::chrono::duration<int> i(3);
     28     std::chrono::duration<double, std::milli> d = i;
     29     assert(d.count() == 3000);
     30     }
     31 #if TEST_STD_VER >= 11
     32     {
     33     constexpr std::chrono::duration<int> i(3);
     34     constexpr std::chrono::duration<double, std::milli> d = i;
     35     static_assert(d.count() == 3000, "");
     36     }
     37 #endif
     38 }