eq.pass.cpp revision 551d8e4ddb087da09eeb315d5d072c37412544b4
1551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant//===----------------------------------------------------------------------===//
2551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant//
3551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant//                     The LLVM Compiler Infrastructure
4551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant//
5551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant// This file is distributed under the University of Illinois Open Source
6551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant// License. See LICENSE.TXT for details.
7551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant//
8551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant//===----------------------------------------------------------------------===//
9551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant
10551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant// <random>
11551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant
12551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant// template<class IntType = int>
13551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant// class discrete_distribution
14551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant
15551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant// bool operator=(const discrete_distribution& x,
16551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant//                const discrete_distribution& y);
17551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant// bool operator!(const discrete_distribution& x,
18551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant//                const discrete_distribution& y);
19551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant
20551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant#include <random>
21551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant#include <cassert>
22551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant
23551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnantint main()
24551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant{
25551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant    {
26551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        typedef std::discrete_distribution<> D;
27551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        D d1;
28551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        D d2;
29551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        assert(d1 == d2);
30551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant    }
31551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant    {
32551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        typedef std::discrete_distribution<> D;
33551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        double p0[] = {1};
34551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        D d1(p0, p0+1);
35551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        D d2;
36551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        assert(d1 == d2);
37551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant    }
38551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant    {
39551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        typedef std::discrete_distribution<> D;
40551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        double p0[] = {10, 30};
41551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        D d1(p0, p0+2);
42551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        D d2;
43551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant        assert(d1 != d2);
44551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant    }
45551d8e4ddb087da09eeb315d5d072c37412544b4Howard Hinnant}
46