aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/ext/random
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/ext/random')
-rw-r--r--libstdc++-v3/include/ext/random37
1 files changed, 18 insertions, 19 deletions
diff --git a/libstdc++-v3/include/ext/random b/libstdc++-v3/include/ext/random
index e532040..08b7f3e 100644
--- a/libstdc++-v3/include/ext/random
+++ b/libstdc++-v3/include/ext/random
@@ -121,24 +121,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return _M_stateT[_M_pos++];
}
-#ifdef __SSE2__
- friend bool
- operator==(const simd_fast_mersenne_twister_engine& __lhs,
- const simd_fast_mersenne_twister_engine& __rhs)
- { __m128i __res = _mm_cmpeq_epi8(__lhs._M_state[0], __rhs._M_state[0]);
- for (size_t __i = 1; __i < __lhs._M_nstate; ++__i)
- __res = _mm_and_si128(__res, _mm_cmpeq_epi8(__lhs._M_state[__i],
- __rhs._M_state[__i]));
- return (_mm_movemask_epi8(__res) == 0xffff
- && __lhs._M_pos == __rhs._M_pos); }
-#else
- friend bool
- operator==(const simd_fast_mersenne_twister_engine& __lhs,
- const simd_fast_mersenne_twister_engine& __rhs)
- { return (std::equal(__lhs._M_stateT, __lhs._M_stateT + state_size,
- __rhs._M_stateT)
- && __lhs._M_pos == __rhs._M_pos); }
-#endif
+ template<typename _UIntType_2, size_t __m_2,
+ size_t __pos1_2, size_t __sl1_2, size_t __sl2_2,
+ size_t __sr1_2, size_t __sr2_2,
+ uint32_t __msk1_2, uint32_t __msk2_2,
+ uint32_t __msk3_2, uint32_t __msk4_2,
+ uint32_t __parity1_2, uint32_t __parity2_2,
+ uint32_t __parity3_2, uint32_t __parity4_2>
+ friend bool
+ operator==(const simd_fast_mersenne_twister_engine<_UIntType_2,
+ __m_2, __pos1_2, __sl1_2, __sl2_2, __sr1_2, __sr2_2,
+ __msk1_2, __msk2_2, __msk3_2, __msk4_2,
+ __parity1_2, __parity2_2, __parity3_2, __parity4_2>& __lhs,
+ const simd_fast_mersenne_twister_engine<_UIntType_2,
+ __m_2, __pos1_2, __sl1_2, __sl2_2, __sr1_2, __sr2_2,
+ __msk1_2, __msk2_2, __msk3_2, __msk4_2,
+ __parity1_2, __parity2_2, __parity3_2, __parity4_2>& __rhs);
template<typename _UIntType_2, size_t __m_2,
size_t __pos1_2, size_t __sl1_2, size_t __sl2_2,
@@ -1142,8 +1140,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ return !(__d1 == __d2); }
_GLIBCXX_END_NAMESPACE_VERSION
-} // namespace std
+} // namespace __gnu_cxx
+#include "opt_random.h"
#include "random.tcc"
#endif /* _EXT_RANDOM */