]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/serialize.cc
re PR testsuite/39696 (gcc.dg/tree-ssa/ssa-ccp-25.c scan-tree-dump doesn't work on...
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 26_numerics / random / independent_bits_engine / operators / serialize.cc
CommitLineData
8e79468d
BK
1// { dg-options "-std=c++0x" }
2//
3// 2008-11-24 Edward M. Smith-Rowland <3dw4rd@verizon.net>
4//
42a73304 5// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
8e79468d
BK
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 2, 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 COPYING. If not, write to the Free
20// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
21// USA.
22
23// 26.4.4.1 class template discard_block_engine [rand.adapt.disc]
24// 26.4.2.3 concept RandomNumberEngineAdaptor [rand.concept.adapt]
25
26#include <random>
27#include <sstream>
28#include <testsuite_hooks.h>
29
30void
31test01()
32{
33 bool test __attribute__((unused)) = true;
34
35 std::stringstream str;
36 std::independent_bits_engine
37 <std::subtract_with_carry_engine<uint_fast64_t, 48, 5, 12>,
42a73304 38 48, uint_fast64_t> u, v;
8e79468d
BK
39
40 u(); // advance
41 str << u;
42
43 VERIFY( !(u == v) );
44
45 str >> v;
46 VERIFY( u == v );
47}
48
49int main()
50{
51 test01();
52 return 0;
53}