xref: /llvm-project/libcxx/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/io.pass.cpp (revision a7f9895cc18995549c7facb96e72718da282a864)
1eb1c5037SNikolas Klauser //===----------------------------------------------------------------------===//
2eb1c5037SNikolas Klauser //
3eb1c5037SNikolas Klauser // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4eb1c5037SNikolas Klauser // See https://llvm.org/LICENSE.txt for license information.
5eb1c5037SNikolas Klauser // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6eb1c5037SNikolas Klauser //
7eb1c5037SNikolas Klauser //===----------------------------------------------------------------------===//
8eb1c5037SNikolas Klauser 
9*a7f9895cSLouis Dionne // UNSUPPORTED: no-localization
10eb1c5037SNikolas Klauser 
11eb1c5037SNikolas Klauser // <random>
12eb1c5037SNikolas Klauser 
13eb1c5037SNikolas Klauser // template<class IntType = int>
14eb1c5037SNikolas Klauser // class binomial_distribution
15eb1c5037SNikolas Klauser 
16eb1c5037SNikolas Klauser // template <class charT, class traits>
17eb1c5037SNikolas Klauser // basic_ostream<charT, traits>&
18eb1c5037SNikolas Klauser // operator<<(basic_ostream<charT, traits>& os,
19eb1c5037SNikolas Klauser //            const binomial_distribution& x);
20eb1c5037SNikolas Klauser //
21eb1c5037SNikolas Klauser // template <class charT, class traits>
22eb1c5037SNikolas Klauser // basic_istream<charT, traits>&
23eb1c5037SNikolas Klauser // operator>>(basic_istream<charT, traits>& is,
24eb1c5037SNikolas Klauser //            binomial_distribution& x);
25eb1c5037SNikolas Klauser 
26eb1c5037SNikolas Klauser #include <random>
27eb1c5037SNikolas Klauser #include <sstream>
28eb1c5037SNikolas Klauser #include <cassert>
29eb1c5037SNikolas Klauser 
30eb1c5037SNikolas Klauser #include "test_macros.h"
31eb1c5037SNikolas Klauser 
main(int,char **)32eb1c5037SNikolas Klauser int main(int, char**)
33eb1c5037SNikolas Klauser {
34eb1c5037SNikolas Klauser     {
35eb1c5037SNikolas Klauser         typedef std::binomial_distribution<> D;
36eb1c5037SNikolas Klauser         D d1(7, .25);
37eb1c5037SNikolas Klauser         std::ostringstream os;
38eb1c5037SNikolas Klauser         os << d1;
39eb1c5037SNikolas Klauser         std::istringstream is(os.str());
40eb1c5037SNikolas Klauser         D d2;
41eb1c5037SNikolas Klauser         is >> d2;
42eb1c5037SNikolas Klauser         assert(d1 == d2);
43eb1c5037SNikolas Klauser     }
44eb1c5037SNikolas Klauser 
45eb1c5037SNikolas Klauser   return 0;
46eb1c5037SNikolas Klauser }
47