1f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant//===----------------------------------------------------------------------===// 2f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// 3f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// The LLVM Compiler Infrastructure 4f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward 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. 7f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// 8f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant//===----------------------------------------------------------------------===// 9f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant 10f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// <random> 11f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant 12f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// template<class IntType = int> 13f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// class negative_binomial_distribution 14f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant 15f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// template <class charT, class traits> 16f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// basic_ostream<charT, traits>& 17f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// operator<<(basic_ostream<charT, traits>& os, 18f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// const negative_binomial_distribution& x); 190e20cae1a5be18fba591cd884aa2a389b66a3f49Howard Hinnant// 20f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// template <class charT, class traits> 21f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// basic_istream<charT, traits>& 22f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// operator>>(basic_istream<charT, traits>& is, 23f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant// negative_binomial_distribution& x); 24f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant 25f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant#include <random> 26f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant#include <sstream> 27f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant#include <cassert> 28f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant 29f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnantint main() 30f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant{ 31f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant { 32f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant typedef std::negative_binomial_distribution<> D; 33f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant D d1(7, .25); 34f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant std::ostringstream os; 35f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant os << d1; 36f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant std::istringstream is(os.str()); 37f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant D d2; 38f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant is >> d2; 39f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant assert(d1 == d2); 40f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant } 41f2fe5d5a61d1f5842068793620aaff1e88173f7fHoward Hinnant} 42