Commit 53fdb339 by Paolo Carlini Committed by Paolo Carlini

random.tcc (subtract_with_carry_01<>:: seed(_Gen&, false_type)): Fix _M_carry initialization.

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.

From-SVN: r116334
parent a25ce4db
2006-08-22 Paolo Carlini <pcarlini@suse.de> 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 (class subtract_with_carry_01<>): Add.
* include/tr1/random.tcc (subtract_with_carry_01<>:: * include/tr1/random.tcc (subtract_with_carry_01<>::
seed(unsigned long), subtract_with_carry_01<>:: seed(unsigned long), subtract_with_carry_01<>::
......
...@@ -484,7 +484,15 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -484,7 +484,15 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
_M_x[__i][__n - 1] = __mod<_UInt32Type, 1, 0, _M_x[__i][__n - 1] = __mod<_UInt32Type, 1, 0,
_Shift<_UInt32Type, __w % 32>::__value>(__gen()); _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; _M_p = 0;
// Initialize the array holding the negative powers of 2. // Initialize the array holding the negative powers of 2.
......
...@@ -32,7 +32,7 @@ test01() ...@@ -32,7 +32,7 @@ test01()
subtract_with_carry<unsigned long, (1UL << 24), 10, 24> x; subtract_with_carry<unsigned long, (1UL << 24), 10, 24> x;
VERIFY( x.min() == 0 ); VERIFY( x.min() == 0 );
VERIFY( x.max() == ((1<<24)-1) ); VERIFY( x.max() == ((1UL << 24) - 1) );
VERIFY( x() == 15039276 ); VERIFY( x() == 15039276 );
} }
......
...@@ -40,7 +40,7 @@ test01() ...@@ -40,7 +40,7 @@ test01()
subtract_with_carry<unsigned long, (1UL << 24), 10, 24> x(gen); subtract_with_carry<unsigned long, (1UL << 24), 10, 24> x(gen);
VERIFY( x.min() == 0 ); VERIFY( x.min() == 0 );
VERIFY( x.max() == ((1 << 24) - 1) ); VERIFY( x.max() == ((1UL << 24) - 1) );
} }
int main() int main()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment