14ff556cf6266463174770171a41cd270798b72b3Howard Hinnant//===----------------------------------------------------------------------===//
24ff556cf6266463174770171a41cd270798b72b3Howard Hinnant//
34ff556cf6266463174770171a41cd270798b72b3Howard Hinnant//                     The LLVM Compiler Infrastructure
44ff556cf6266463174770171a41cd270798b72b3Howard 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.
74ff556cf6266463174770171a41cd270798b72b3Howard Hinnant//
84ff556cf6266463174770171a41cd270798b72b3Howard Hinnant//===----------------------------------------------------------------------===//
94ff556cf6266463174770171a41cd270798b72b3Howard Hinnant
104ff556cf6266463174770171a41cd270798b72b3Howard Hinnant// <random>
114ff556cf6266463174770171a41cd270798b72b3Howard Hinnant
124ff556cf6266463174770171a41cd270798b72b3Howard Hinnant// template<class IntType = int>
134ff556cf6266463174770171a41cd270798b72b3Howard Hinnant// class poisson_distribution
144ff556cf6266463174770171a41cd270798b72b3Howard Hinnant// {
154ff556cf6266463174770171a41cd270798b72b3Howard Hinnant//     class param_type;
164ff556cf6266463174770171a41cd270798b72b3Howard Hinnant
174ff556cf6266463174770171a41cd270798b72b3Howard Hinnant#include <random>
184ff556cf6266463174770171a41cd270798b72b3Howard Hinnant#include <limits>
194ff556cf6266463174770171a41cd270798b72b3Howard Hinnant#include <cassert>
204ff556cf6266463174770171a41cd270798b72b3Howard Hinnant
214ff556cf6266463174770171a41cd270798b72b3Howard Hinnantint main()
224ff556cf6266463174770171a41cd270798b72b3Howard Hinnant{
234ff556cf6266463174770171a41cd270798b72b3Howard Hinnant    {
244ff556cf6266463174770171a41cd270798b72b3Howard Hinnant        typedef std::poisson_distribution<> D;
254ff556cf6266463174770171a41cd270798b72b3Howard Hinnant        typedef D::param_type param_type;
264ff556cf6266463174770171a41cd270798b72b3Howard Hinnant        param_type p1(0.75);
274ff556cf6266463174770171a41cd270798b72b3Howard Hinnant        param_type p2(0.75);
284ff556cf6266463174770171a41cd270798b72b3Howard Hinnant        assert(p1 == p2);
294ff556cf6266463174770171a41cd270798b72b3Howard Hinnant    }
304ff556cf6266463174770171a41cd270798b72b3Howard Hinnant    {
314ff556cf6266463174770171a41cd270798b72b3Howard Hinnant        typedef std::poisson_distribution<> D;
324ff556cf6266463174770171a41cd270798b72b3Howard Hinnant        typedef D::param_type param_type;
334ff556cf6266463174770171a41cd270798b72b3Howard Hinnant        param_type p1(0.75);
344ff556cf6266463174770171a41cd270798b72b3Howard Hinnant        param_type p2(0.5);
354ff556cf6266463174770171a41cd270798b72b3Howard Hinnant        assert(p1 != p2);
364ff556cf6266463174770171a41cd270798b72b3Howard Hinnant    }
374ff556cf6266463174770171a41cd270798b72b3Howard Hinnant}
38