eval_param.pass.cpp revision bc8d3f97eb5c958007f2713238472e0c1c8fe02
1bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//===----------------------------------------------------------------------===// 2bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// 3bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// ��������������������The LLVM Compiler Infrastructure 4bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// 5bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// This file is distributed under the University of Illinois Open Source 6bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// License. See LICENSE.TXT for details. 7bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// 8bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant//===----------------------------------------------------------------------===// 9bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 10bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// <random> 11bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 12bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// template<class _IntType = int> 13bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// class uniform_int_distribution 14bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 15bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant// template<class _URNG> result_type operator()(_URNG& g, const param_type& parm); 16bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 17bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include <random> 18bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant#include <cassert> 19bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant 20bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnantint main() 21bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant{ 22bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 23bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant typedef std::uniform_int_distribution<> D; 24bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant typedef D::param_type P; 25bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant typedef std::minstd_rand0 G; 26bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant G g; 27bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant D d(-6, 106); 28bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant P p(-10, 20); 29bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant for (int i = 0; i < 10000; ++i) 30bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant { 31bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant int u = d(g, p); 32bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant assert(-10 <= u && u <= 20); 33bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 34bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant } 35bc8d3f97eb5c958007f2713238472e0c1c8fe02Howard Hinnant} 36