2006-08-22 Paolo Carlini <pcarlini@suse.de>
+ * include/tr1/random.tcc (subtract_with_carry_01<>::
+ seed(_Gen&, false_type)): Fix _M_carry initialization.
+
+ * testsuite/tr1/5_numerical_facilities/random/
+ subtract_with_carry/cons/default.cc: Qualify 1 as 1UL.
+ * testsuite/tr1/5_numerical_facilities/random/
+ subtract_with_carry/cons/gen1.cc: Likewise.
+
+2006-08-22 Paolo Carlini <pcarlini@suse.de>
+
* include/tr1/random (class subtract_with_carry_01<>): Add.
* include/tr1/random.tcc (subtract_with_carry_01<>::
seed(unsigned long), subtract_with_carry_01<>::
_M_x[__i][__n - 1] = __mod<_UInt32Type, 1, 0,
_Shift<_UInt32Type, __w % 32>::__value>(__gen());
}
- _M_carry = (_M_x[long_lag - 1][0] == 0) ? 1 : 0;
+
+ _M_carry = 1;
+ for (int __j = 0; __j < __n; ++__j)
+ if (_M_x[long_lag - 1][__j] != 0)
+ {
+ _M_carry = 0;
+ break;
+ }
+
_M_p = 0;
// Initialize the array holding the negative powers of 2.