1 // { dg-do run { target c++11 } } 2 // { dg-require-cstdint "" } 3 // 4 // 2008-12-03 Edward M. Smith-Rowland <3dw4rd@verizon.net> 5 // 6 // Copyright (C) 2008-2020 Free Software Foundation, Inc. 7 // 8 // This file is part of the GNU ISO C++ Library. This library is free 9 // software; you can redistribute it and/or modify it under the 10 // terms of the GNU General Public License as published by the 11 // Free Software Foundation; either version 3, or (at your option) 12 // any later version. 13 // 14 // This library is distributed in the hope that it will be useful, 15 // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 // GNU General Public License for more details. 18 // 19 // You should have received a copy of the GNU General Public License along 20 // with this library; see the file COPYING3. If not see 21 // <http://www.gnu.org/licenses/>. 22 23 // C++11 24 // 26.5.8.6.1 Class template discrete_distribution [rand.dist.samp.discrete] 25 // 26.5.1.6 random number distribution requirements [rand.req.dist] 26 27 #include <random> 28 #include <testsuite_hooks.h> 29 #include <testsuite_common_types.h> 30 31 void test01()32test01() 33 { 34 std::discrete_distribution<> u; 35 std::vector<double> probablility = u.probabilities(); 36 VERIFY( probablility.size() == 1 ); 37 VERIFY( probablility[0] == 1.0 ); 38 } 39 40 void test02()41test02() 42 { 43 __gnu_test::implicitly_default_constructible test; 44 test.operator()<std::discrete_distribution<>>(); 45 test.operator()<std::discrete_distribution<>::param_type>(); 46 } 47 main()48int main() 49 { 50 test01(); 51 test02(); 52 } 53