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