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 IntType = int>
12*eb1c5037SNikolas Klauser // class discrete_distribution
13*eb1c5037SNikolas Klauser
14*eb1c5037SNikolas Klauser // result_type max() const;
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
main(int,char **)21*eb1c5037SNikolas Klauser int main(int, char**)
22*eb1c5037SNikolas Klauser {
23*eb1c5037SNikolas Klauser {
24*eb1c5037SNikolas Klauser typedef std::discrete_distribution<> D;
25*eb1c5037SNikolas Klauser double p0[] = {.3, .1, .6};
26*eb1c5037SNikolas Klauser D d(p0, p0+3);
27*eb1c5037SNikolas Klauser assert(d.max() == 2);
28*eb1c5037SNikolas Klauser }
29*eb1c5037SNikolas Klauser {
30*eb1c5037SNikolas Klauser typedef std::discrete_distribution<> D;
31*eb1c5037SNikolas Klauser double p0[] = {.3, .1, .6, .2};
32*eb1c5037SNikolas Klauser D d(p0, p0+4);
33*eb1c5037SNikolas Klauser assert(d.max() == 3);
34*eb1c5037SNikolas Klauser }
35*eb1c5037SNikolas Klauser
36*eb1c5037SNikolas Klauser return 0;
37*eb1c5037SNikolas Klauser }
38