]>
git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/testsuite/20_util/duration/literals/values.cc
1 // { dg-do run { target c++14 } }
3 // Copyright (C) 2013-2019 Free Software Foundation, Inc.
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 3, or (at your option)
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING3. If not see
18 // <http://www.gnu.org/licenses/>.
21 #include <testsuite_hooks.h>
26 using namespace std::literals::chrono_literals
;
29 VERIFY( jiffy
== std::chrono::nanoseconds(23) );
31 VERIFY( (fjiffy
== std::chrono::duration
<long double, std::nano
>(23.0L)) );
33 VERIFY( blip
== std::chrono::microseconds(14) );
35 VERIFY( (fblip
== std::chrono::duration
<long double, std::micro
>(14.0L)) );
37 VERIFY( bit
== std::chrono::milliseconds(77) );
39 VERIFY( (fbit
== std::chrono::duration
<long double, std::milli
>(77.0L)) );
41 VERIFY( warmup
== std::chrono::seconds(33) );
43 VERIFY( (fwarmup
== std::chrono::duration
<long double, std::ratio
<1,1>>(33.0L)) );
44 auto classtime
= 50min
;
45 VERIFY( classtime
== std::chrono::minutes(50) );
46 auto fclasstime
= 50.0min
;
47 VERIFY( (fclasstime
== std::chrono::duration
<long double, std::ratio
<60,1>>(50.0L)) );
48 auto longtime
= 1h
+ 30min
;
49 VERIFY( longtime
== std::chrono::minutes(90) );
50 auto flongtime
= 1.0h
+ 30.0min
;
51 VERIFY( (flongtime
== std::chrono::duration
<long double, std::ratio
<3600,1>>(1.0L)
52 + std::chrono::duration
<long double, std::ratio
<60,1>>(30.0L)) );
53 VERIFY( (flongtime
== std::chrono::duration
<long double, std::ratio
<60,1>>(90.0L)) );
55 VERIFY( workday
== std::chrono::hours(8) );
57 VERIFY( (fworkday
== std::chrono::duration
<long double, std::ratio
<3600,1>>(8.0L)) );
59 VERIFY( immediate
== std::chrono::seconds(0) );
60 auto minute_ago
= -1min
;
61 VERIFY( minute_ago
== std::chrono::minutes(-1) );
62 auto separated
= 1'000'000s
;
63 VERIFY( separated
== std::chrono::seconds(1'000'000) );