30 #ifndef RANDOM_PROVIDER_BASE_IMPLEMENTATION_GUARD
31 #define RANDOM_PROVIDER_BASE_IMPLEMENTATION_GUARD
41 template <
typename T_Impl>
52 template <
typename T_Impl>
56 T_Impl::GetRandomInteger(output, *
this, numberOfBits);
66 template <
typename T_Impl>
70 T_Impl::GetRandomInteger(output, *
this, maximumValue);
80 template <
typename T_Impl>
84 T_Impl::GetMaxLengthRandomPrime(output, *
this, numberOfBits);
92 template <
typename T_Impl>
94 T_Impl::Initialize(*
this);
100 template <
typename T_Impl>
102 T_Impl::Destroy(*
this);
108 #endif//RANDOM_PROVIDER_BASE_IMPLEMENTATION_GUARD
BigInteger GetMaxLengthRandomPrime(const size_t &numberOfBits)
Generates a random prime, guaranteed to have numberOfBits length.
BigInteger GetRandomInteger(const size_t numberOfBits)
Generates a random integer having at most numberOfBits bits.
Template class which masks various RandomProvider implementations and provides a common interface tha...
~RandomProviderBase()
Destructor (private, Singleton Pattern)
static RandomProviderBase< T_Impl > & GetInstance()
Returns a reference to the singleton.