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