Replaced rand() with std::rand()
authorkhizmax <libcds.dev@gmail.com>
Tue, 31 May 2016 06:08:01 +0000 (09:08 +0300)
committerkhizmax <libcds.dev@gmail.com>
Tue, 31 May 2016 06:08:01 +0000 (09:08 +0300)
cds/details/bitop_generic.h
cds/opt/options.h
cds/opt/permutation.h
test/stress/queue/random.cpp
test/unit/misc/split_bitstring.cpp

index 833732b..38a1dd4 100644 (file)
@@ -31,7 +31,8 @@
 #ifndef CDSLIB_DETAILS_BITOP_GENERIC_H
 #define CDSLIB_DETAILS_BITOP_GENERIC_H
 
-#include <stdlib.h>     // rand()
+#include <cstdlib>     // rand()
+
 namespace cds {
     namespace bitop { namespace platform {
         // Return true if x = 2 ** k, k >= 0
@@ -277,7 +278,7 @@ namespace cds {
             //static uint32_t xRandom = 2463534242UL    ;    //rand() | 0x0100    ;    // must be nonzero
             //uint32_t x = xRandom;
             if ( !x )
-                x = ((rand() + 1) << 16) + rand() + 1;
+                x = (( std::rand() + 1) << 16 ) + std::rand() + 1;
             x ^= x << 13;
             x ^= x >> 15;
             return x ^= x << 5;
index c2d39f3..82b0a1f 100644 (file)
@@ -38,7 +38,7 @@
         2011.01.23 khizmax  Created
 */
 
-#include <stdlib.h> // rand, srand
+#include <cstdlib> // rand, srand
 
 #include <cds/details/aligned_type.h>
 #include <cds/user_setup/allocator.h>
@@ -869,16 +869,16 @@ namespace cds { namespace opt {
         struct c_rand {
             typedef unsigned int result_type; ///< Result type
 
-            /// Constructor initializes object calling \p srand()
+            /// Constructor initializes object calling \p std::srand()
             c_rand()
             {
-                srand(1);
+                std::srand(1);
             }
 
-            /// Returns next random number calling \p rand()
+            /// Returns next random number calling \p std::rand()
             result_type operator()()
             {
-                return (result_type) rand();
+                return (result_type) std::rand();
             }
         };
 
index 58b2bf7..46a2147 100644 (file)
@@ -31,7 +31,7 @@
 #ifndef CDSLIB_OPT_PERMUTATION_H
 #define CDSLIB_OPT_PERMUTATION_H
 
-#include <stdlib.h> // rand, srand
+#include <cstdlib> // rand, srand
 #include <random>
 #include <algorithm> // std::shuffle
 #include <numeric>   // std::iota
@@ -146,7 +146,7 @@ namespace cds { namespace opt {
             /// Resets the generator to produce new sequence
             void reset()
             {
-                m_nCur = m_nStart = integer_type( rand() ) % m_nMod;
+                m_nCur = m_nStart = integer_type( std::rand() ) % m_nMod;
             }
         };
 
@@ -204,7 +204,7 @@ namespace cds { namespace opt {
             /// Resets the generator to produce new sequence
             void reset()
             {
-                m_nCur = m_nStart = integer_type( rand() ) & m_nMask;
+                m_nCur = m_nStart = integer_type( std::rand() ) & m_nMask;
             }
         };
 
index 65b81a2..f444f63 100644 (file)
@@ -89,7 +89,7 @@ namespace {
                 value_type node;
 
                 while ( m_nPushCount < nTotalPush ) {
-                    if ( (rand() & 3) != 3 ) {
+                    if ( ( std::rand() & 3) != 3 ) {
                         node.nThread = id();
                         node.nNo = ++m_nPushCount;
                         if ( !m_Queue.push( node )) {
index a362a33..d5d58f0 100644 (file)
@@ -108,7 +108,7 @@ namespace {
                     while ( splitter ) {
                         ASSERT_FALSE( splitter.eos() );
                         ASSERT_FALSE( !splitter );
-                        int bits = rand() % 16;
+                        int bits = std::rand() % 16;
                         res = res + ( splitter.safe_cut( bits ) << shift );
                         shift += bits;
                     }
@@ -180,7 +180,7 @@ namespace {
                     while ( splitter ) {
                         ASSERT_FALSE( splitter.eos() );
                         ASSERT_FALSE( !splitter );
-                        int bits = rand() % 16;
+                        int bits = std::rand() % 16;
                         res = (res << bits) + splitter.safe_cut( bits );
                     }
                     ASSERT_TRUE( splitter.eos() );
@@ -234,7 +234,7 @@ namespace {
                     while ( splitter ) {
                         ASSERT_FALSE( splitter.eos() );
                         ASSERT_FALSE( !splitter );
-                        int bits = rand() % 16;
+                        int bits = std::rand() % 16;
                         res = res + ( static_cast<uint64_t>(splitter.safe_cut( bits )) << shift );
                         shift += bits;
                     }
@@ -288,7 +288,7 @@ namespace {
                     while ( splitter ) {
                         ASSERT_FALSE( splitter.eos() );
                         ASSERT_FALSE( !splitter );
-                        int bits = rand() % 16;
+                        int bits = std::rand() % 16;
                         res = (res << bits) + splitter.safe_cut( bits );
                     }
                     ASSERT_TRUE( splitter.eos() );