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// piecewise_linear_distribution(initializer_list<double> wl); 165430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant 175430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant#include <random> 185430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant#include <cassert> 195430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant 205430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnantint main() 215430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant{ 22e3e3291f3ab4af96b0403cf6e255c833143ae3f1Howard Hinnant#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS 235430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant { 245430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant typedef std::piecewise_linear_distribution<> D; 255430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant D d; 265430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant std::vector<double> iv = d.intervals(); 275430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant assert(iv.size() == 2); 285430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant assert(iv[0] == 0); 295430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant assert(iv[1] == 1); 305430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant std::vector<double> dn = d.densities(); 315430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant assert(dn.size() == 2); 325430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant assert(dn[0] == 1); 335430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant assert(dn[1] == 1); 345430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant } 35e3e3291f3ab4af96b0403cf6e255c833143ae3f1Howard Hinnant#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS 365430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant} 37