blob: 786887ed7e1f1613e3f561e5c050b75f792ba7dc [file] [log] [blame]
Howard Hinnant3e519522010-05-11 19:42:16 +00001//===----------------------------------------------------------------------===//
2//
Howard Hinnant5b08a8a2010-05-11 21:36:01 +00003// The LLVM Compiler Infrastructure
Howard Hinnant3e519522010-05-11 19:42:16 +00004//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <random>
11
12// template<class UIntType, size_t w, size_t s, size_t r>
13// class subtract_with_carry_engine;
14
15// result_type operator()();
16
17#include <random>
18#include <cassert>
19
20void
21test1()
22{
23 std::ranlux24_base e;
24 assert(e() == 15039276u);
25 assert(e() == 16323925u);
26 assert(e() == 14283486u);
27}
28
29void
30test2()
31{
32 std::ranlux48_base e;
33 assert(e() == 23459059301164ull);
34 assert(e() == 28639057539807ull);
35 assert(e() == 276846226770426ull);
36}
37
38int main()
39{
40 test1();
41 test2();
42}