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 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 20 void test1()21test1() 22 { 23 std::ranlux24_base e; 24 assert(e() == 15039276u); 25 assert(e() == 16323925u); 26 assert(e() == 14283486u); 27 } 28 29 void test2()30test2() 31 { 32 std::ranlux48_base e; 33 assert(e() == 23459059301164ull); 34 assert(e() == 28639057539807ull); 35 assert(e() == 276846226770426ull); 36 } 37 main()38int main() 39 { 40 test1(); 41 test2(); 42 } 43