1a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant//===----------------------------------------------------------------------===//
2a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant//
3a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant//                     The LLVM Compiler Infrastructure
4a64111c95ac2e7bc337def0426d512c81307c166Howard 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.
7a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant//
8a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant//===----------------------------------------------------------------------===//
9a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant
10a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant// <random>
11a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant
12a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant// template<class RealType = double>
13a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant// class normal_distribution
14a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant// {
15a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant//     class param_type;
16a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant
17a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant#include <random>
18a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant#include <limits>
19a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant#include <cassert>
20a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant
21a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnantint main()
22a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant{
23a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant    {
24a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant        typedef std::normal_distribution<> D;
25a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant        typedef D::param_type param_type;
26a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant        param_type p1(0.75, .5);
27a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant        param_type p2(0.75, .5);
28a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant        assert(p1 == p2);
29a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant    }
30a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant    {
31a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant        typedef std::normal_distribution<> D;
32a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant        typedef D::param_type param_type;
33a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant        param_type p1(0.75, .5);
34a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant        param_type p2(0.5, .5);
35a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant        assert(p1 != p2);
36a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant    }
37a64111c95ac2e7bc337def0426d512c81307c166Howard Hinnant}
38