2017-08-30 15:32:44 +02:00
|
|
|
/*
|
|
|
|
* Created by Martin on 30/08/2017.
|
|
|
|
*
|
|
|
|
* Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
|
|
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "catch_random_number_generator.h"
|
|
|
|
#include "catch_context.h"
|
|
|
|
#include "catch_interfaces_config.h"
|
|
|
|
|
|
|
|
namespace Catch {
|
|
|
|
|
2018-06-15 15:35:47 +02:00
|
|
|
std::mt19937& rng() {
|
|
|
|
static std::mt19937 s_rng;
|
|
|
|
return s_rng;
|
|
|
|
}
|
|
|
|
|
2017-08-30 15:32:44 +02:00
|
|
|
void seedRng( IConfig const& config ) {
|
2018-06-15 15:35:47 +02:00
|
|
|
if( config.rngSeed() != 0 ) {
|
2017-08-30 15:32:44 +02:00
|
|
|
std::srand( config.rngSeed() );
|
2018-06-15 15:35:47 +02:00
|
|
|
rng().seed( config.rngSeed() );
|
|
|
|
}
|
2017-08-30 15:32:44 +02:00
|
|
|
}
|
2018-06-15 15:35:47 +02:00
|
|
|
|
2017-08-30 15:32:44 +02:00
|
|
|
unsigned int rngSeed() {
|
|
|
|
return getCurrentContext().getConfig()->rngSeed();
|
|
|
|
}
|
|
|
|
}
|