1321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant//===----------------------------------------------------------------------===// 2321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// 3321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// The LLVM Compiler Infrastructure 4321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward 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. 7321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// 8321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant//===----------------------------------------------------------------------===// 9321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant 10321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// <random> 11321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant 12321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// template<class RealType = double> 13321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// class student_t_distribution 14321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant 15321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// template <class CharT, class Traits, class RealType> 16321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// basic_ostream<CharT, Traits>& 17321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// operator<<(basic_ostream<CharT, Traits>& os, 18321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// const student_t_distribution<RealType>& x); 19321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant 20321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// template <class CharT, class Traits, class RealType> 21321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// basic_istream<CharT, Traits>& 22321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// operator>>(basic_istream<CharT, Traits>& is, 23321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant// student_t_distribution<RealType>& x); 24321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant 25321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant#include <random> 26321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant#include <sstream> 27321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant#include <cassert> 28321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant 29321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnantint main() 30321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant{ 31321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant { 32321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant typedef std::student_t_distribution<> D; 33321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant D d1(7); 34321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant std::ostringstream os; 35321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant os << d1; 36321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant std::istringstream is(os.str()); 37321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant D d2; 38321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant is >> d2; 39321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant assert(d1 == d2); 40321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant } 41321b4bb7ae50ef318c51ec58db550d7846c3edaeHoward Hinnant} 42