//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test size_t count() const;
#include<bitset>#include<cstdlib>#include<cassert>template<std::size_tN>std::bitset<N>make_bitset(){std::bitset<N>v;for(std::size_ti=0;i<N;++i)v[i]=static_cast<bool>(std::rand()&1);returnv;}template<std::size_tN>voidtest_count(){conststd::bitset<N>v=make_bitset<N>();std::size_tc1=v.count();std::size_tc2=0;for(std::size_ti=0;i<N;++i)if(v[i])++c2;assert(c1==c2);}intmain(){test_count<0>();test_count<1>();test_count<31>();test_count<32>();test_count<33>();test_count<63>();test_count<64>();test_count<65>();test_count<1000>();}