134e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant//===----------------------------------------------------------------------===// 234e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant// 334e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant// The LLVM Compiler Infrastructure 434e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant// 5b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 6b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// Source Licenses. See LICENSE.TXT for details. 734e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant// 834e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant//===----------------------------------------------------------------------===// 934e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant 1034e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant// <random> 1134e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant 1234e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant// template<class IntType = int> 1334e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant// class geometric_distribution 1434e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant// { 1534e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant// class param_type; 1634e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant 1734e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant#include <random> 1834e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant#include <limits> 1934e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant#include <cassert> 2034e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant 2134e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnantint main() 2234e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant{ 2334e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant { 2434e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant typedef std::geometric_distribution<> D; 2534e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant typedef D::param_type param_type; 2634e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant param_type p0(.7); 2734e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant param_type p; 2834e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant p = p0; 2934e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant assert(p.p() == .7); 3034e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant } 3134e8a57b76d3340fd0402becc7d7806612c9691fHoward Hinnant} 32