12bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant//===----------------------------------------------------------------------===// 22bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// 32bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// The LLVM Compiler Infrastructure 42bc36fcff3de1ace5c74bb7c1459def41a67e862Howard 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. 72bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// 82bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant//===----------------------------------------------------------------------===// 92bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant 102bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// <random> 112bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant 122bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// template<class RealType = double> 132bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// class lognormal_distribution 142bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant 152bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// template <class CharT, class Traits, class RealType> 162bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// basic_ostream<CharT, Traits>& 172bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// operator<<(basic_ostream<CharT, Traits>& os, 182bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// const lognormal_distribution<RealType>& x); 192bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant 202bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// template <class CharT, class Traits, class RealType> 212bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// basic_istream<CharT, Traits>& 222bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// operator>>(basic_istream<CharT, Traits>& is, 232bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant// lognormal_distribution<RealType>& x); 242bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant 252bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant#include <random> 262bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant#include <sstream> 272bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant#include <cassert> 282bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant 292bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnantint main() 302bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant{ 312bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant { 322bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant typedef std::lognormal_distribution<> D; 332bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant D d1(7, 5); 342bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant std::ostringstream os; 352bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant os << d1; 362bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant std::istringstream is(os.str()); 372bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant D d2; 382bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant is >> d2; 392bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant assert(d1 == d2); 402bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant } 412bc36fcff3de1ace5c74bb7c1459def41a67e862Howard Hinnant} 42