//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test:
// bool operator==(const bitset<N>& rhs) const;
// bool operator!=(const bitset<N>& rhs) 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_equality(){conststd::bitset<N>v1=make_bitset<N>();std::bitset<N>v2=v1;assert(v1==v2);if(N>0){v2[N/2].flip();assert(v1!=v2);}}intmain(){test_equality<0>();test_equality<1>();test_equality<31>();test_equality<32>();test_equality<33>();test_equality<63>();test_equality<64>();test_equality<65>();test_equality<1000>();}