1 // { dg-do run { target c++11 } } 2 3 // 2009-12-31 Paolo Carlini <paolo.carlini@oracle.com> 4 5 // Copyright (C) 2009-2021 Free Software Foundation, Inc. 6 // 7 // This file is part of the GNU ISO C++ Library. This library is free 8 // software; you can redistribute it and/or modify it under the 9 // terms of the GNU General Public License as published by the 10 // Free Software Foundation; either version 3, or (at your option) 11 // any later version. 12 13 // This library is distributed in the hope that it will be useful, 14 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 // GNU General Public License for more details. 17 18 // You should have received a copy of the GNU General Public License along 19 // with this library; see the file COPYING3. If not see 20 // <http://www.gnu.org/licenses/>. 21 22 #include <bitset> 23 #include <testsuite_hooks.h> 24 test01()25void test01() 26 { 27 const unsigned long long num0 = 0ULL; 28 std::bitset<0> bs0(num0); 29 VERIFY( bs0.to_ullong() == num0 ); 30 31 const unsigned long long num1 = 215ULL; 32 std::bitset<32> bs1(num1); 33 VERIFY( bs1.to_ullong() == num1 ); 34 35 const unsigned long long num2 = 215ULL; 36 std::bitset<64> bs2(num2); 37 VERIFY( bs2.to_ullong() == num2 ); 38 39 const unsigned long long num3 = 343353215ULL; 40 std::bitset<32> bs3(num3); 41 VERIFY( bs3.to_ullong() == num3 ); 42 43 const unsigned long long num4 = 343353215ULL; 44 std::bitset<64> bs4(num4); 45 VERIFY( bs4.to_ullong() == num4 ); 46 47 const unsigned long long num5 = 13008719539498589283ULL; 48 std::bitset<64> bs5(num5); 49 VERIFY( bs5.to_ullong() == num5 ); 50 51 const unsigned long long num6 = 13008719539498589283ULL; 52 std::bitset<128> bs6(num6); 53 VERIFY( bs6.to_ullong() == num6 ); 54 } 55 main()56int main() 57 { 58 test01(); 59 return 0; 60 } 61