55 unsigned int seed(
void)
const;
57 void seed(
unsigned int s);
59 unsigned int operator ()(
unsigned int n);
61 int operator ()(
int n);
63 unsigned long long int operator ()(
unsigned long long int n);
65 long long int operator ()(
long long int n);
70 void _seed(
unsigned int s);
97 unsigned int seed(
void)
const;
103 unsigned long long int operator ()(
unsigned long long int n);
108 forceinline
unsigned int
109 Rnd::IMP::seed(
void)
const {
111 const_cast<Rnd::IMP&
>(*this).m.acquire();
113 const_cast<Rnd::IMP&
>(*this).m.release();
117 Rnd::IMP::seed(
unsigned int s) {
122 forceinline
unsigned int
123 Rnd::IMP::operator ()(
unsigned int n) {
131 Rnd::IMP::operator ()(
int n) {
138 forceinline
unsigned long long int
139 Rnd::IMP::operator ()(
unsigned long long int n) {
140 unsigned long long int r;
146 forceinline
long long int
147 Rnd::IMP::operator ()(
long long int n) {
155 forceinline
unsigned int
157 const IMP* i =
static_cast<const IMP*
>(
object());
160 forceinline
unsigned int
162 IMP* i =
static_cast<IMP*
>(
object());
167 IMP* i =
static_cast<IMP*
>(
object());
170 forceinline
unsigned long long int
172 IMP* i =
static_cast<IMP*
>(
object());
175 forceinline
long long int
177 IMP* i =
static_cast<IMP*
>(
object());
Rnd(unsigned int s)
Initialize with seed s.
unsigned int seed(void) const
Return current seed.
Rnd & operator=(const Rnd &r)
Assignment operator.
void time(void)
Set current seed based on time (initializes if needed).
unsigned int operator()(unsigned int n)
Returns a random integer from the interval .
Rnd(void)
Default constructor that does not initialize the generator.
void hw(void)
Set current seed to hardware-based random number (initializes if needed).
void seed(unsigned int s)
Set the current seed to s (initializes if needed).
Rnd(const Rnd &r)
Initialize from generator r.
SharedHandle(void)
Create shared handle with no object pointing to.
SharedHandle::Object * object(void) const
Access to the shared object.
void seed(unsigned int s)
Set the current seed to s.
A mutex for mutual exclausion among several threads.
LinearCongruentialGenerator< 2147483647, 48271, 44488, 3399 > RandomGenerator
Default values for linear congruential generator.
#define GECODE_KERNEL_EXPORT
Gecode toplevel namespace