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