1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2025-02-04 21:33:56 +00:00

fix CXX14_CONSTEXPR config

This commit is contained in:
bolero-MURAKAMI 2015-04-06 00:21:34 +09:00
parent bf3cc47c15
commit befe29adf0
2 changed files with 15 additions and 2 deletions

View file

@ -60,7 +60,12 @@
# define SPROUT_HAS_CONSTEXPR_BIT_OPERATION
#endif
#define SPROUT_NO_CXX14_CONSTEXPR
#define SPROUT_NO_CXX14_VARIABLE_TEMPLATES
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
# define SPROUT_NO_CXX14_CONSTEXPR
#endif
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
# define SPROUT_NO_CXX14_VARIABLE_TEMPLATES
#endif
#endif // #ifndef SPROUT_CONFIG_COMPILER_GCC_HPP

View file

@ -464,12 +464,20 @@ namespace sprout {
z ^= (z >> l);
return z;
}
#ifndef SPROUT_CONFIG_DISABLE_CXX14_CONSTEXPR
SPROUT_CXX14_CONSTEXPR sprout::random::random_result<mersenne_twister_engine> const operator()() const {
mersenne_twister_engine eng(*this);
result_type value = eng();
return sprout::random::random_result<mersenne_twister_engine>(value, eng);
}
#else // #ifndef SPROUT_CONFIG_DISABLE_CXX14_CONSTEXPR
SPROUT_CONSTEXPR sprout::random::random_result<mersenne_twister_engine> const operator()() const {
return i_ == n
? twist().generate()
: generate()
;
}
#endif // #ifndef SPROUT_CONFIG_DISABLE_CXX14_CONSTEXPR
#ifndef SPROUT_CONFIG_DISABLE_CXX14_CONSTEXPR
friend SPROUT_CXX14_CONSTEXPR bool operator==(mersenne_twister_engine const& lhs, mersenne_twister_engine const& rhs) SPROUT_NOEXCEPT {
return lhs.i_ < rhs.i_