197dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant//===----------------------------------------------------------------------===// 297dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// 397dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// The LLVM Compiler Infrastructure 497dc2f35c3d0d797ece43f5598023c6952144f37Howard 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. 797dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// 897dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant//===----------------------------------------------------------------------===// 997dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant 1097dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// <random> 1197dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant 1297dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// template<class RealType = double> 1397dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// class chi_squared_distribution 1497dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant 1597dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// template <class CharT, class Traits, class RealType> 1697dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// basic_ostream<CharT, Traits>& 1797dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// operator<<(basic_ostream<CharT, Traits>& os, 1897dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// const chi_squared_distribution<RealType>& x); 1997dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant 2097dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// template <class CharT, class Traits, class RealType> 2197dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// basic_istream<CharT, Traits>& 2297dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// operator>>(basic_istream<CharT, Traits>& is, 2397dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant// chi_squared_distribution<RealType>& x); 2497dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant 2597dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant#include <random> 2697dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant#include <sstream> 2797dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant#include <cassert> 2897dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant 2997dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnantint main() 3097dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant{ 3197dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant { 3297dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant typedef std::chi_squared_distribution<> D; 3397dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant D d1(7); 3497dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant std::ostringstream os; 3597dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant os << d1; 3697dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant std::istringstream is(os.str()); 3797dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant D d2; 3897dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant is >> d2; 3997dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant assert(d1 == d2); 4097dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant } 4197dc2f35c3d0d797ece43f5598023c6952144f37Howard Hinnant} 42