mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-07-14 15:04:09 +00:00
add random::result, random::next
This commit is contained in:
parent
3879666b02
commit
769e18178a
23 changed files with 191 additions and 136 deletions
|
@ -14,7 +14,7 @@
|
|||
#include <sprout/config.hpp>
|
||||
#include <sprout/random/detail/signed_unsigned_tools.hpp>
|
||||
#include <sprout/random/random_result.hpp>
|
||||
#include <sprout/generator/functions.hpp>
|
||||
#include <sprout/random/result.hpp>
|
||||
#include <sprout/assert.hpp>
|
||||
|
||||
namespace sprout {
|
||||
|
@ -149,10 +149,10 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::random::detail::generate_uniform_real_false_2<D + 1>(
|
||||
sprout::generators::next_generator(rnd),
|
||||
sprout::random::next(rnd),
|
||||
min_value, max_value,
|
||||
static_cast<T>(sprout::generators::generated_value(rnd) - sprout::generators::next_generator(rnd).min()),
|
||||
static_cast<T>(sprout::generators::next_generator(rnd).max() - sprout::generators::next_generator(rnd).min())
|
||||
static_cast<T>(sprout::random::result(rnd) - sprout::random::next(rnd).min()),
|
||||
static_cast<T>(sprout::random::next(rnd).max() - sprout::random::next(rnd).min())
|
||||
);
|
||||
}
|
||||
template<int D, typename EngineResult, typename T, SPROUT_RECURSIVE_FUNCTION_TEMPLATE_BREAK_DECL(D)>
|
||||
|
@ -234,10 +234,10 @@ namespace sprout {
|
|||
{
|
||||
typedef typename EngineResult::result_type base_result;
|
||||
return sprout::random::detail::generate_uniform_real_true_2<D + 1>(
|
||||
sprout::generators::next_generator(rnd),
|
||||
sprout::random::next(rnd),
|
||||
min_value, max_value,
|
||||
static_cast<T>(sprout::random::detail::subtract<base_result>()(sprout::generators::generated_value(rnd), sprout::generators::next_generator(rnd).min())),
|
||||
static_cast<T>(sprout::random::detail::subtract<base_result>()(sprout::generators::next_generator(rnd).max(), sprout::generators::next_generator(rnd).min())) + 1
|
||||
static_cast<T>(sprout::random::detail::subtract<base_result>()(sprout::random::result(rnd), sprout::random::next(rnd).min())),
|
||||
static_cast<T>(sprout::random::detail::subtract<base_result>()(sprout::random::next(rnd).max(), sprout::random::next(rnd).min())) + 1
|
||||
);
|
||||
}
|
||||
template<int D, typename EngineResult, typename T, SPROUT_RECURSIVE_FUNCTION_TEMPLATE_BREAK_DECL(D)>
|
||||
|
@ -293,10 +293,10 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::random::detail::generate_uniform_real_false_2(
|
||||
sprout::generators::next_generator(rnd),
|
||||
sprout::random::next(rnd),
|
||||
min_value, max_value,
|
||||
static_cast<T>(sprout::generators::generated_value(rnd) - sprout::generators::next_generator(rnd).min()),
|
||||
static_cast<T>(sprout::generators::next_generator(rnd).max() - sprout::generators::next_generator(rnd).min())
|
||||
static_cast<T>(sprout::random::result(rnd) - sprout::random::next(rnd).min()),
|
||||
static_cast<T>(sprout::random::next(rnd).max() - sprout::random::next(rnd).min())
|
||||
);
|
||||
}
|
||||
template<typename EngineResult, typename T>
|
||||
|
@ -343,10 +343,10 @@ namespace sprout {
|
|||
{
|
||||
typedef typename EngineResult::result_type base_result;
|
||||
return sprout::random::detail::generate_uniform_real_true_2(
|
||||
sprout::generators::next_generator(rnd),
|
||||
sprout::random::next(rnd),
|
||||
min_value, max_value,
|
||||
static_cast<T>(sprout::random::detail::subtract<base_result>()(sprout::generators::generated_value(rnd), sprout::generators::next_generator(rnd).min())),
|
||||
static_cast<T>(sprout::random::detail::subtract<base_result>()(sprout::generators::next_generator(rnd).max(), sprout::generators::next_generator(rnd).min())) + 1
|
||||
static_cast<T>(sprout::random::detail::subtract<base_result>()(sprout::random::result(rnd), sprout::random::next(rnd).min())),
|
||||
static_cast<T>(sprout::random::detail::subtract<base_result>()(sprout::random::next(rnd).max(), sprout::random::next(rnd).min())) + 1
|
||||
);
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue