Fixed VC++ 14.2 warnings
authorkhizmax <libcds.dev@gmail.com>
Tue, 5 Apr 2016 18:21:19 +0000 (21:21 +0300)
committerkhizmax <libcds.dev@gmail.com>
Tue, 5 Apr 2016 18:21:19 +0000 (21:21 +0300)
cds/algo/int_algo.h
cds/intrusive/details/michael_set_base.h

index a070ad330b57f6343a093de9bf04f7f817377704..b350936950aa964338fb41743af987e34bf29c2e 100644 (file)
@@ -45,7 +45,7 @@ namespace cds { namespace beans {
     static inline size_t log2ceil( size_t n )
     {
         size_t i = log2floor( n );
-        return size_t( 1 << i ) < n ? i + 1 : i;
+        return ( size_t( 1 ) << i ) < n ? i + 1 : i;
     }
 
     /// Returns largest previous power of 2 for \p n
index 8348369f1d7046654271572f437f99b924182545..2e7eef9b71bc0e5fb74bd2fa6688f4b7d267e008 100644 (file)
@@ -94,10 +94,10 @@ namespace cds { namespace intrusive {
                     nLoadFactor = 1;
                 if ( nMaxItemCount == 0 )
                     nMaxItemCount = 4;
-                const size_t nBucketCount = (size_t)( nMaxItemCount / nLoadFactor );
-                const size_t nLog2 = cds::bitop::MSB( nBucketCount );
+                const size_t nBucketCount = nMaxItemCount / nLoadFactor;
+                const size_t exp2 = size_t( 1 ) << cds::bitop::MSB( nBucketCount );
 
-                return (( size_t( 1 << nLog2 ) < nBucketCount ? size_t( 1 << (nLog2 + 1) ) : size_t( 1 << nLog2 ))) - 1;
+                return ( exp2 < nBucketCount ? exp2 * 2 : exp2 ) - 1;
             }
 
             template <typename OrderedList, bool IsConst>