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// param_type();
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        P pa;
265430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant        std::vector<double> iv = pa.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 = pa.densities();
315430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant        assert(dn.size() == 2);
325430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant        assert(dn[0] == 1);
335430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant        assert(dn[1] == 1);
345430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant    }
355430540d57b86c7dcc4a29e4ceb4b24c01a23b34Howard Hinnant}
36