1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <random>
11
12// template<class Engine, size_t p, size_t r>
13// class discard_block_engine
14
15// result_type operator()();
16
17#include <random>
18#include <cassert>
19
20void
21test1()
22{
23    std::ranlux24 e;
24    assert(e() == 15039276u);
25    assert(e() == 16323925u);
26    assert(e() == 14283486u);
27}
28
29void
30test2()
31{
32    std::ranlux48 e;
33    assert(e() == 23459059301164ull);
34    assert(e() == 28639057539807ull);
35    assert(e() == 276846226770426ull);
36}
37
38int main()
39{
40    test1();
41    test2();
42}
43