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