1*eb1c5037SNikolas Klauser //===----------------------------------------------------------------------===//
2*eb1c5037SNikolas Klauser //
3*eb1c5037SNikolas Klauser // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*eb1c5037SNikolas Klauser // See https://llvm.org/LICENSE.txt for license information.
5*eb1c5037SNikolas Klauser // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*eb1c5037SNikolas Klauser //
7*eb1c5037SNikolas Klauser //===----------------------------------------------------------------------===//
8*eb1c5037SNikolas Klauser 
9*eb1c5037SNikolas Klauser // <random>
10*eb1c5037SNikolas Klauser 
11*eb1c5037SNikolas Klauser // template<class RealType = double>
12*eb1c5037SNikolas Klauser // class piecewise_constant_distribution
13*eb1c5037SNikolas Klauser 
14*eb1c5037SNikolas Klauser // piecewise_constant_distribution& operator=(const piecewise_constant_distribution&);
15*eb1c5037SNikolas Klauser 
16*eb1c5037SNikolas Klauser #include <random>
17*eb1c5037SNikolas Klauser #include <cassert>
18*eb1c5037SNikolas Klauser 
19*eb1c5037SNikolas Klauser #include "test_macros.h"
20*eb1c5037SNikolas Klauser 
21*eb1c5037SNikolas Klauser void
test1()22*eb1c5037SNikolas Klauser test1()
23*eb1c5037SNikolas Klauser {
24*eb1c5037SNikolas Klauser     typedef std::piecewise_constant_distribution<> D;
25*eb1c5037SNikolas Klauser     double p[] = {2, 4, 1, 8};
26*eb1c5037SNikolas Klauser     double b[] = {2, 4, 5, 8, 9};
27*eb1c5037SNikolas Klauser     D d1(b, b+5, p);
28*eb1c5037SNikolas Klauser     D d2;
29*eb1c5037SNikolas Klauser     assert(d1 != d2);
30*eb1c5037SNikolas Klauser     d2 = d1;
31*eb1c5037SNikolas Klauser     assert(d1 == d2);
32*eb1c5037SNikolas Klauser }
33*eb1c5037SNikolas Klauser 
main(int,char **)34*eb1c5037SNikolas Klauser int main(int, char**)
35*eb1c5037SNikolas Klauser {
36*eb1c5037SNikolas Klauser     test1();
37*eb1c5037SNikolas Klauser 
38*eb1c5037SNikolas Klauser   return 0;
39*eb1c5037SNikolas Klauser }
40