1// { dg-options "-std=gnu++11" } 2// { dg-require-cstdint "" } 3 4// Copyright (C) 2008-2015 Free Software Foundation, Inc. 5// 6// This file is part of the GNU ISO C++ Library. This library is free 7// software; you can redistribute it and/or modify it under the 8// terms of the GNU General Public License as published by the 9// Free Software Foundation; either version 3, or (at your option) 10// any later version. 11 12// This library is distributed in the hope that it will be useful, 13// but WITHOUT ANY WARRANTY; without even the implied warranty of 14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15// GNU General Public License for more details. 16 17// You should have received a copy of the GNU General Public License along 18// with this library; see the file COPYING3. If not see 19// <http://www.gnu.org/licenses/>. 20 21// 20.8.3 Class template duration [time.duration] 22 23#include <chrono> 24#include <testsuite_hooks.h> 25 26// 20.8.3.5 duration non-member arithmetic [time.duration.nonmember] 27void 28test01() 29{ 30 bool test __attribute__((unused)) = true; 31 using namespace std::chrono; 32 33 duration<int> d0(12); 34 duration<int> d1(3); 35 int i = 3; 36 37 duration<int> d2 = d0 + d1; 38 VERIFY(d2.count() == 15); 39 40 duration<int> d3 = d0 - d1; 41 VERIFY(d3.count() == 9); 42 43 duration<int> d4 = d0 * i; 44 VERIFY(d4.count() == 36); 45 46 duration<int> d5 = i * d0; 47 VERIFY(d5.count() == 36); 48 49 duration<int> d6 = d0 / i; 50 VERIFY(d6.count() == 4); 51 52 int j = d0 / d1; 53 VERIFY(j == 4); 54} 55 56int 57main() 58{ 59 test01(); 60 return 0; 61} 62