15f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant//===----------------------------------------------------------------------===// 25f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// 35f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// The LLVM Compiler Infrastructure 45f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// 5b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 6b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// Source Licenses. See LICENSE.TXT for details. 75f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// 85f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant//===----------------------------------------------------------------------===// 95f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant 105f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// <random> 115f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant 125f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// template<class IntType = int> 135f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// class binomial_distribution 145f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant 155f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// template <class charT, class traits> 165f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// basic_ostream<charT, traits>& 175f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// operator<<(basic_ostream<charT, traits>& os, 185f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// const binomial_distribution& x); 190e20cae1a5be18fba591cd884aa2a389b66a3f49Howard Hinnant// 205f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// template <class charT, class traits> 215f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// basic_istream<charT, traits>& 225f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// operator>>(basic_istream<charT, traits>& is, 235f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant// binomial_distribution& x); 245f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant 255f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant#include <random> 265f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant#include <sstream> 275f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant#include <cassert> 285f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant 295f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnantint main() 305f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant{ 315f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant { 325f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant typedef std::binomial_distribution<> D; 335f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant D d1(7, .25); 345f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant std::ostringstream os; 355f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant os << d1; 365f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant std::istringstream is(os.str()); 375f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant D d2; 385f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant is >> d2; 395f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant assert(d1 == d2); 405f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant } 415f9b133e2cd3b000056bdda641b94ebb611d4653Howard Hinnant} 42