mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
random 修正
This commit is contained in:
parent
7ae0072f2e
commit
9255ad6808
4 changed files with 63 additions and 19 deletions
|
@ -331,7 +331,7 @@ namespace sprout {
|
|||
;
|
||||
}
|
||||
friend SPROUT_CONSTEXPR bool operator==(mersenne_twister_engine const& lhs, mersenne_twister_engine const& rhs) {
|
||||
return lhs.i_ < lhs.i_
|
||||
return lhs.i_ < rhs.i_
|
||||
? lhs.equal_impl(rhs)
|
||||
: rhs.equal_impl(lhs)
|
||||
;
|
||||
|
@ -342,6 +342,18 @@ namespace sprout {
|
|||
template<typename Elem, typename Traits>
|
||||
friend std::basic_istream<Elem, Traits>& operator>>(
|
||||
std::basic_istream<Elem, Traits>& lhs,
|
||||
mersenne_twister_engine& rhs
|
||||
)
|
||||
{
|
||||
for (std::size_t i = 0; i < state_size; ++i) {
|
||||
lhs >> rhs.x_[i] >> std::ws;
|
||||
}
|
||||
rhs.i_ = state_size;
|
||||
return lhs;
|
||||
}
|
||||
template<typename Elem, typename Traits>
|
||||
friend std::basic_ostream<Elem, Traits>& operator<<(
|
||||
std::basic_ostream<Elem, Traits>& lhs,
|
||||
mersenne_twister_engine const& rhs
|
||||
)
|
||||
{
|
||||
|
@ -358,18 +370,6 @@ namespace sprout {
|
|||
}
|
||||
return lhs;
|
||||
}
|
||||
template<typename Elem, typename Traits>
|
||||
friend std::basic_ostream<Elem, Traits>& operator<<(
|
||||
std::basic_ostream<Elem, Traits>& lhs,
|
||||
mersenne_twister_engine const& rhs
|
||||
)
|
||||
{
|
||||
for (std::size_t i = 0; i < state_size; ++i) {
|
||||
lhs >> rhs.x_[i] >> std::ws;
|
||||
}
|
||||
rhs.i_ = state_size;
|
||||
return lhs;
|
||||
}
|
||||
};
|
||||
template<typename UIntType, std::size_t w, std::size_t n, std::size_t m, std::size_t r, UIntType a, std::size_t u, UIntType d, std::size_t s, UIntType b, std::size_t t, UIntType c, std::size_t l, UIntType f>
|
||||
SPROUT_CONSTEXPR std::size_t sprout::random::mersenne_twister_engine<UIntType, w, n, m, r, a, u, d, s, b, t, c, l, f>::word_size;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue