15430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant//===----------------------------------------------------------------------===// 25430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant// 35430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant// The LLVM Compiler Infrastructure 45430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard 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. 75430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant// 85430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant//===----------------------------------------------------------------------===// 95430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant 105430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant// <random> 115430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant 125430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant// template<class RealType = double> 135430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant// class piecewise_linear_distribution 145430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant 155430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant// void param(const param_type& parm); 165430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant 175430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant#include <random> 185430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant#include <cassert> 195430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant 205430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnantint main() 215430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant{ 225430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant { 235430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant typedef std::piecewise_linear_distribution<> D; 245430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant typedef D::param_type P; 255430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant double b[] = {10, 14, 16, 17}; 265430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant double p[] = {25, 62.5, 12.5, 0}; 275430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant P pa(b, b+4, p); 285430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant D d; 295430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant d.param(pa); 305430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant assert(d.param() == pa); 315430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant } 325430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant} 33