OSDN Git Service

2006-08-22 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Aug 2006 22:57:53 +0000 (22:57 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Aug 2006 22:57:53 +0000 (22:57 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116334 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/tr1/random.tcc
libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/default.cc
libstdc++-v3/testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/gen1.cc

index 8fcab06..9883347 100644 (file)
@@ -1,5 +1,15 @@
 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<>::
index 2880aad..cbeb57d 100644 (file)
@@ -484,7 +484,15 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
            _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.
index 4663541..b87871d 100644 (file)
@@ -32,7 +32,7 @@ test01()
 
   subtract_with_carry<unsigned long, (1UL << 24), 10, 24> x;
   VERIFY( x.min() == 0 );
-  VERIFY( x.max() == ((1<<24)-1) );
+  VERIFY( x.max() == ((1UL << 24) - 1) );
   VERIFY( x() == 15039276 );
 }
 
index cacde1b..5091445 100644 (file)
@@ -40,7 +40,7 @@ test01()
 
   subtract_with_carry<unsigned long, (1UL << 24), 10, 24> x(gen);
   VERIFY( x.min() == 0 );
-  VERIFY( x.max() == ((1 << 24) - 1) );
+  VERIFY( x.max() == ((1UL << 24) - 1) );
 }
 
 int main()