1d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant//===----------------------------------------------------------------------===//
2d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant//
3d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant//                     The LLVM Compiler Infrastructure
4d7d01132954e05ba41137195f26a265e7e255e6aHoward 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.
7d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant//
8d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant//===----------------------------------------------------------------------===//
9d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant
10d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant// <random>
11d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant
12d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant// template<class RealType = double>
13d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant// class cauchy_distribution
14d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant
15d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant// explicit cauchy_distribution(result_type a = 0, result_type b = 1);
16d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant
17d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant#include <random>
18d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant#include <cassert>
19d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant
20d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnantint main()
21d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant{
22d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant    {
23d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        typedef std::cauchy_distribution<> D;
24d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        D d;
25d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        assert(d.a() == 0);
26d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        assert(d.b() == 1);
27d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant    }
28d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant    {
29d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        typedef std::cauchy_distribution<> D;
30d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        D d(14.5);
31d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        assert(d.a() == 14.5);
32d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        assert(d.b() == 1);
33d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant    }
34d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant    {
35d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        typedef std::cauchy_distribution<> D;
36d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        D d(14.5, 5.25);
37d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        assert(d.a() == 14.5);
38d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant        assert(d.b() == 5.25);
39d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant    }
40d7d01132954e05ba41137195f26a265e7e255e6aHoward Hinnant}
41