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 // class bernoulli_distribution
14eb1c5037SNikolas Klauser
15eb1c5037SNikolas Klauser // template <class charT, class traits>
16eb1c5037SNikolas Klauser // basic_ostream<charT, traits>&
17eb1c5037SNikolas Klauser // operator<<(basic_ostream<charT, traits>& os,
18eb1c5037SNikolas Klauser // const bernoulli_distribution& x);
19eb1c5037SNikolas Klauser //
20eb1c5037SNikolas Klauser // template <class charT, class traits>
21eb1c5037SNikolas Klauser // basic_istream<charT, traits>&
22eb1c5037SNikolas Klauser // operator>>(basic_istream<charT, traits>& is,
23eb1c5037SNikolas Klauser // bernoulli_distribution& x);
24eb1c5037SNikolas Klauser
25eb1c5037SNikolas Klauser #include <random>
26eb1c5037SNikolas Klauser #include <sstream>
27eb1c5037SNikolas Klauser #include <cassert>
28eb1c5037SNikolas Klauser
29eb1c5037SNikolas Klauser #include "test_macros.h"
30eb1c5037SNikolas Klauser
main(int,char **)31eb1c5037SNikolas Klauser int main(int, char**)
32eb1c5037SNikolas Klauser {
33eb1c5037SNikolas Klauser {
34eb1c5037SNikolas Klauser typedef std::bernoulli_distribution D;
35eb1c5037SNikolas Klauser D d1(.25);
36eb1c5037SNikolas Klauser std::ostringstream os;
37eb1c5037SNikolas Klauser os << d1;
38eb1c5037SNikolas Klauser std::istringstream is(os.str());
39eb1c5037SNikolas Klauser D d2;
40eb1c5037SNikolas Klauser is >> d2;
41eb1c5037SNikolas Klauser assert(d1 == d2);
42eb1c5037SNikolas Klauser }
43eb1c5037SNikolas Klauser
44eb1c5037SNikolas Klauser return 0;
45eb1c5037SNikolas Klauser }
46