]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/26_numerics/random/linear_congruential_engine/operators/51795.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 26_numerics / random / linear_congruential_engine / operators / 51795.cc
CommitLineData
be58e01d 1// { dg-do run { target c++11 } }
1a5394ea 2// { dg-require-cstdint "" }
3//
fbd26352 4// Copyright (C) 2012-2019 Free Software Foundation, Inc.
1a5394ea 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// 26.5.3.1 class template linear_congruential_engine [rand.eng.lcong]
22
23#include <random>
24#include <testsuite_hooks.h>
25
26void test01()
27{
1a5394ea 28 typedef std::linear_congruential_engine<std::uint64_t, 1103515245ULL,
29 12345, 2147483648ULL> engine;
30 engine eng(1103527590ULL);
31
32 for (unsigned it = 0; it < 1000; ++it)
33 {
34 std::uint64_t num = eng();
35 VERIFY( (num >= eng.min() && num <= eng.max()) );
36 }
37}
38
39int main()
40{
41 test01();
42 return 0;
43}