2006-07-14 Paolo Carlini <pcarlini@suse.de>
+ * include/tr1/random (minstd_rand0, minstd_rand, ranlux3, ranlux4):
+ Use unsigned long as implementation-defined type.
+
+2006-07-14 Paolo Carlini <pcarlini@suse.de>
+
* include/tr1/random.tcc (struct _To_Unsigned_Type): Add.
(subtract_with_carry<>::seed(_Gen&, false_type)): Use an
unsigned type in the loop, fix factor multiplier, take g
/**
* The classic Minimum Standard rand0 of Lewis, Goodman, and Miller.
*/
- typedef linear_congruential<unsigned int, 16807, 0, 2147483647> minstd_rand0;
+ typedef linear_congruential<unsigned long, 16807, 0, 2147483647> minstd_rand0;
/**
* An alternative LCR (Lehmer Generator function) .
*/
- typedef linear_congruential<unsigned int, 48271, 0, 2147483647> minstd_rand;
+ typedef linear_congruential<unsigned long, 48271, 0, 2147483647> minstd_rand;
/**
* James's luxury-level-3 integer adaptation of Luescher's generator.
*/
typedef discard_block<
- subtract_with_carry<int, (1 << 24), 10, 24>,
+ subtract_with_carry<unsigned long, (1 << 24), 10, 24>,
223,
24
> ranlux3;
* James's luxury-level-4 integer adaptation of Luescher's generator.
*/
typedef discard_block<
- subtract_with_carry<int, (1 << 24), 10, 24>,
+ subtract_with_carry<unsigned long, (1 << 24), 10, 24>,
389,
24
> ranlux4;