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 // bool operator=(const discrete_distribution& x, 15*eb1c5037SNikolas Klauser // const discrete_distribution& y); 16*eb1c5037SNikolas Klauser // bool operator!(const discrete_distribution& x, 17*eb1c5037SNikolas Klauser // const discrete_distribution& y); 18*eb1c5037SNikolas Klauser 19*eb1c5037SNikolas Klauser #include <random> 20*eb1c5037SNikolas Klauser #include <cassert> 21*eb1c5037SNikolas Klauser 22*eb1c5037SNikolas Klauser #include "test_macros.h" 23*eb1c5037SNikolas Klauser main(int,char **)24*eb1c5037SNikolas Klauserint main(int, char**) 25*eb1c5037SNikolas Klauser { 26*eb1c5037SNikolas Klauser { 27*eb1c5037SNikolas Klauser typedef std::discrete_distribution<> D; 28*eb1c5037SNikolas Klauser D d1; 29*eb1c5037SNikolas Klauser D d2; 30*eb1c5037SNikolas Klauser assert(d1 == d2); 31*eb1c5037SNikolas Klauser } 32*eb1c5037SNikolas Klauser { 33*eb1c5037SNikolas Klauser typedef std::discrete_distribution<> D; 34*eb1c5037SNikolas Klauser double p0[] = {1}; 35*eb1c5037SNikolas Klauser D d1(p0, p0+1); 36*eb1c5037SNikolas Klauser D d2; 37*eb1c5037SNikolas Klauser assert(d1 == d2); 38*eb1c5037SNikolas Klauser } 39*eb1c5037SNikolas Klauser { 40*eb1c5037SNikolas Klauser typedef std::discrete_distribution<> D; 41*eb1c5037SNikolas Klauser double p0[] = {10, 30}; 42*eb1c5037SNikolas Klauser D d1(p0, p0+2); 43*eb1c5037SNikolas Klauser D d2; 44*eb1c5037SNikolas Klauser assert(d1 != d2); 45*eb1c5037SNikolas Klauser } 46*eb1c5037SNikolas Klauser 47*eb1c5037SNikolas Klauser return 0; 48*eb1c5037SNikolas Klauser } 49