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