Renoved MD5 MT-test
authorkhizmax <libcds.dev@gmail.com>
Sun, 8 Nov 2015 14:29:49 +0000 (17:29 +0300)
committerkhizmax <libcds.dev@gmail.com>
Sun, 8 Nov 2015 14:29:49 +0000 (17:29 +0300)
16 files changed:
projects/Win/vc14/unit-prerequisites.vcxproj
projects/source.test-common.mk
tests/CMakeLists.txt
tests/hashing/hash_func.h
tests/hashing/md5.cpp [deleted file]
tests/hashing/md5.h [deleted file]
tests/unit/map2/map_defs.h
tests/unit/map2/map_find_string.h
tests/unit/map2/map_find_string_feldmanhashmap.cpp
tests/unit/map2/map_insdel_item_string.h
tests/unit/map2/map_insdel_item_string_feldmanhashmap.cpp
tests/unit/map2/map_type_feldman_hashmap.h
tests/unit/set2/set_defs.h
tests/unit/set2/set_insdel_string.h
tests/unit/set2/set_insdel_string_feldmanhashset.cpp
tests/unit/set2/set_type_feldman_hashset.h

index 6668940f6e27dd0b26a25d572ed56179d1429578..d91f90d236d88feee27604811fb18d89a845a005 100644 (file)
     <ClInclude Include="..\..\..\tests\cppunit\file_reporter.h" />\r
     <ClInclude Include="..\..\..\tests\hashing\city.h" />\r
     <ClInclude Include="..\..\..\tests\hashing\hash_func.h" />\r
-    <ClInclude Include="..\..\..\tests\hashing\md5.h" />\r
     <ClInclude Include="..\..\..\tests\unit\ellen_bintree_update_desc_pool.h" />\r
     <ClInclude Include="..\..\..\tests\unit\michael_alloc.h" />\r
     <ClInclude Include="..\..\..\tests\cppunit\test_beans.h" />\r
       <WarningLevel Condition="'$(Configuration)|$(Platform)'=='ICL-Debug|x64'">Level2</WarningLevel>\r
       <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level2</WarningLevel>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\tests\hashing\md5.cpp" />\r
     <ClCompile Include="..\..\..\tests\unit\ellen_bintree_update_desc_pool.cpp" />\r
     <ClCompile Include="..\..\..\tests\unit\michael_alloc.cpp" />\r
     <ClCompile Include="..\..\..\tests\cppunit\test_main.cpp">\r
index b478e7401f5d8b50273ac478a7f86e40a0fa00ef..5b845ae010ab95c02ee3213415c6b0a2f10fe31f 100644 (file)
@@ -4,7 +4,6 @@ CDS_TESTCOMMON_SOURCES := \
     tests/cppunit/thread.cpp \
     tests/unit/michael_alloc.cpp \
     tests/unit/ellen_bintree_update_desc_pool.cpp \
-    tests/hashing/city.cpp \
-    tests/hashing/md5.cpp
+    tests/hashing/city.cpp
 
 
index 2769e19fc3e0cd59889a5041b331de3a375d4264..edec379078e7d63598b2912b8410aefb300f99cb 100644 (file)
@@ -6,8 +6,7 @@ set(SOURCES cppunit/test_main.cpp
             cppunit/thread.cpp
             unit/michael_alloc.cpp
             unit/ellen_bintree_update_desc_pool.cpp
-            hashing/city.cpp
-            hashing/md5.cpp)
+            hashing/city.cpp)
 
 add_library(${TEST_COMMON} OBJECT ${SOURCES})
 
index 0cb77168ab1045abb05b613b47e23bd0d197b0bf..abbc7802dae24bca0b3e51df556e3328505f36dd 100644 (file)
@@ -5,45 +5,12 @@
 
 #include <cds/details/defs.h>
 
-#include "hashing/md5.h"
 #if CDS_BUILD_BITS == 64
 #   include "hashing/city.h"
 #endif
 
 namespace hashing {
 
-    template <class Hasher>
-    class hasher {
-        typedef Hasher hasher_type;
-        hasher_type m_hasher;
-    public:
-        struct hash_type {
-            uint8_t h[hasher_type::HashBytes];
-        };
-
-        hash_type operator()( void const * pBuf, size_t len )
-        {
-            m_hasher.reset();
-            m_hasher.add(pBuf, len);
-            hash_type result;
-            m_hasher.getHash( result.h );
-            return result;
-        }
-
-        hash_type operator()( std::string const& s )
-        {
-            return operator()( reinterpret_cast<void const *>(s.c_str()), s.length());
-        }
-
-        template <typename T>
-        hash_type operator()( T const& s )
-        {
-            return operator()( reinterpret_cast<void const *>(&s), sizeof(s));
-        }
-    };
-
-    typedef hasher<MD5> md5;
-
 #if CDS_BUILD_BITS == 64
     class city32 {
     public:
diff --git a/tests/hashing/md5.cpp b/tests/hashing/md5.cpp
deleted file mode 100644 (file)
index 2743319..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-// //////////////////////////////////////////////////////////
-// md5.cpp
-// Copyright (c) 2014,2015 Stephan Brumme. All rights reserved.
-// see http://create.stephan-brumme.com/disclaimer.html
-//
-
-#include "md5.h"
-
-#ifndef _MSC_VER
-#include <endian.h>
-#endif
-
-
-/// same as reset()
-MD5::MD5()
-{
-  reset();
-}
-
-
-/// restart
-void MD5::reset()
-{
-  m_numBytes   = 0;
-  m_bufferSize = 0;
-
-  // according to RFC 1321
-  m_hash[0] = 0x67452301;
-  m_hash[1] = 0xefcdab89;
-  m_hash[2] = 0x98badcfe;
-  m_hash[3] = 0x10325476;
-}
-
-
-namespace
-{
-  // mix functions for processBlock()
-  inline uint32_t f1(uint32_t b, uint32_t c, uint32_t d)
-  {
-    return d ^ (b & (c ^ d)); // original: f = (b & c) | ((~b) & d);
-  }
-
-  inline uint32_t f2(uint32_t b, uint32_t c, uint32_t d)
-  {
-    return c ^ (d & (b ^ c)); // original: f = (b & d) | (c & (~d));
-  }
-
-  inline uint32_t f3(uint32_t b, uint32_t c, uint32_t d)
-  {
-    return b ^ c ^ d;
-  }
-
-  inline uint32_t f4(uint32_t b, uint32_t c, uint32_t d)
-  {
-    return c ^ (b | ~d);
-  }
-
-  inline uint32_t rotate(uint32_t a, uint32_t c)
-  {
-    return (a << c) | (a >> (32 - c));
-  }
-
-#if defined(__BYTE_ORDER) && (__BYTE_ORDER != 0) && (__BYTE_ORDER == __BIG_ENDIAN)
-  inline uint32_t swap(uint32_t x)
-  {
-#if defined(__GNUC__) || defined(__clang__)
-    return __builtin_bswap32(x);
-#endif
-#ifdef MSC_VER
-    return _byteswap_ulong(x);
-#endif
-
-    return (x >> 24) |
-          ((x >>  8) & 0x0000FF00) |
-          ((x <<  8) & 0x00FF0000) |
-           (x << 24);
-  }
-#endif
-}
-
-
-/// process 64 bytes
-void MD5::processBlock(const void* data)
-{
-  // get last hash
-  uint32_t a = m_hash[0];
-  uint32_t b = m_hash[1];
-  uint32_t c = m_hash[2];
-  uint32_t d = m_hash[3];
-
-  // data represented as 16x 32-bit words
-  const uint32_t* words = (uint32_t*) data;
-
-  // computations are little endian, swap data if necessary
-#if defined(__BYTE_ORDER) && (__BYTE_ORDER != 0) && (__BYTE_ORDER == __BIG_ENDIAN)
-#define LITTLEENDIAN(x) swap(x)
-#else
-#define LITTLEENDIAN(x) (x)
-#endif
-
-  // first round
-  uint32_t word0  = LITTLEENDIAN(words[ 0]);
-  a = rotate(a + f1(b,c,d) + word0  + 0xd76aa478,  7) + b;
-  uint32_t word1  = LITTLEENDIAN(words[ 1]);
-  d = rotate(d + f1(a,b,c) + word1  + 0xe8c7b756, 12) + a;
-  uint32_t word2  = LITTLEENDIAN(words[ 2]);
-  c = rotate(c + f1(d,a,b) + word2  + 0x242070db, 17) + d;
-  uint32_t word3  = LITTLEENDIAN(words[ 3]);
-  b = rotate(b + f1(c,d,a) + word3  + 0xc1bdceee, 22) + c;
-
-  uint32_t word4  = LITTLEENDIAN(words[ 4]);
-  a = rotate(a + f1(b,c,d) + word4  + 0xf57c0faf,  7) + b;
-  uint32_t word5  = LITTLEENDIAN(words[ 5]);
-  d = rotate(d + f1(a,b,c) + word5  + 0x4787c62a, 12) + a;
-  uint32_t word6  = LITTLEENDIAN(words[ 6]);
-  c = rotate(c + f1(d,a,b) + word6  + 0xa8304613, 17) + d;
-  uint32_t word7  = LITTLEENDIAN(words[ 7]);
-  b = rotate(b + f1(c,d,a) + word7  + 0xfd469501, 22) + c;
-
-  uint32_t word8  = LITTLEENDIAN(words[ 8]);
-  a = rotate(a + f1(b,c,d) + word8  + 0x698098d8,  7) + b;
-  uint32_t word9  = LITTLEENDIAN(words[ 9]);
-  d = rotate(d + f1(a,b,c) + word9  + 0x8b44f7af, 12) + a;
-  uint32_t word10 = LITTLEENDIAN(words[10]);
-  c = rotate(c + f1(d,a,b) + word10 + 0xffff5bb1, 17) + d;
-  uint32_t word11 = LITTLEENDIAN(words[11]);
-  b = rotate(b + f1(c,d,a) + word11 + 0x895cd7be, 22) + c;
-
-  uint32_t word12 = LITTLEENDIAN(words[12]);
-  a = rotate(a + f1(b,c,d) + word12 + 0x6b901122,  7) + b;
-  uint32_t word13 = LITTLEENDIAN(words[13]);
-  d = rotate(d + f1(a,b,c) + word13 + 0xfd987193, 12) + a;
-  uint32_t word14 = LITTLEENDIAN(words[14]);
-  c = rotate(c + f1(d,a,b) + word14 + 0xa679438e, 17) + d;
-  uint32_t word15 = LITTLEENDIAN(words[15]);
-  b = rotate(b + f1(c,d,a) + word15 + 0x49b40821, 22) + c;
-
-  // second round
-  a = rotate(a + f2(b,c,d) + word1  + 0xf61e2562,  5) + b;
-  d = rotate(d + f2(a,b,c) + word6  + 0xc040b340,  9) + a;
-  c = rotate(c + f2(d,a,b) + word11 + 0x265e5a51, 14) + d;
-  b = rotate(b + f2(c,d,a) + word0  + 0xe9b6c7aa, 20) + c;
-
-  a = rotate(a + f2(b,c,d) + word5  + 0xd62f105d,  5) + b;
-  d = rotate(d + f2(a,b,c) + word10 + 0x02441453,  9) + a;
-  c = rotate(c + f2(d,a,b) + word15 + 0xd8a1e681, 14) + d;
-  b = rotate(b + f2(c,d,a) + word4  + 0xe7d3fbc8, 20) + c;
-
-  a = rotate(a + f2(b,c,d) + word9  + 0x21e1cde6,  5) + b;
-  d = rotate(d + f2(a,b,c) + word14 + 0xc33707d6,  9) + a;
-  c = rotate(c + f2(d,a,b) + word3  + 0xf4d50d87, 14) + d;
-  b = rotate(b + f2(c,d,a) + word8  + 0x455a14ed, 20) + c;
-
-  a = rotate(a + f2(b,c,d) + word13 + 0xa9e3e905,  5) + b;
-  d = rotate(d + f2(a,b,c) + word2  + 0xfcefa3f8,  9) + a;
-  c = rotate(c + f2(d,a,b) + word7  + 0x676f02d9, 14) + d;
-  b = rotate(b + f2(c,d,a) + word12 + 0x8d2a4c8a, 20) + c;
-
-  // third round
-  a = rotate(a + f3(b,c,d) + word5  + 0xfffa3942,  4) + b;
-  d = rotate(d + f3(a,b,c) + word8  + 0x8771f681, 11) + a;
-  c = rotate(c + f3(d,a,b) + word11 + 0x6d9d6122, 16) + d;
-  b = rotate(b + f3(c,d,a) + word14 + 0xfde5380c, 23) + c;
-
-  a = rotate(a + f3(b,c,d) + word1  + 0xa4beea44,  4) + b;
-  d = rotate(d + f3(a,b,c) + word4  + 0x4bdecfa9, 11) + a;
-  c = rotate(c + f3(d,a,b) + word7  + 0xf6bb4b60, 16) + d;
-  b = rotate(b + f3(c,d,a) + word10 + 0xbebfbc70, 23) + c;
-
-  a = rotate(a + f3(b,c,d) + word13 + 0x289b7ec6,  4) + b;
-  d = rotate(d + f3(a,b,c) + word0  + 0xeaa127fa, 11) + a;
-  c = rotate(c + f3(d,a,b) + word3  + 0xd4ef3085, 16) + d;
-  b = rotate(b + f3(c,d,a) + word6  + 0x04881d05, 23) + c;
-
-  a = rotate(a + f3(b,c,d) + word9  + 0xd9d4d039,  4) + b;
-  d = rotate(d + f3(a,b,c) + word12 + 0xe6db99e5, 11) + a;
-  c = rotate(c + f3(d,a,b) + word15 + 0x1fa27cf8, 16) + d;
-  b = rotate(b + f3(c,d,a) + word2  + 0xc4ac5665, 23) + c;
-
-  // fourth round
-  a = rotate(a + f4(b,c,d) + word0  + 0xf4292244,  6) + b;
-  d = rotate(d + f4(a,b,c) + word7  + 0x432aff97, 10) + a;
-  c = rotate(c + f4(d,a,b) + word14 + 0xab9423a7, 15) + d;
-  b = rotate(b + f4(c,d,a) + word5  + 0xfc93a039, 21) + c;
-
-  a = rotate(a + f4(b,c,d) + word12 + 0x655b59c3,  6) + b;
-  d = rotate(d + f4(a,b,c) + word3  + 0x8f0ccc92, 10) + a;
-  c = rotate(c + f4(d,a,b) + word10 + 0xffeff47d, 15) + d;
-  b = rotate(b + f4(c,d,a) + word1  + 0x85845dd1, 21) + c;
-
-  a = rotate(a + f4(b,c,d) + word8  + 0x6fa87e4f,  6) + b;
-  d = rotate(d + f4(a,b,c) + word15 + 0xfe2ce6e0, 10) + a;
-  c = rotate(c + f4(d,a,b) + word6  + 0xa3014314, 15) + d;
-  b = rotate(b + f4(c,d,a) + word13 + 0x4e0811a1, 21) + c;
-
-  a = rotate(a + f4(b,c,d) + word4  + 0xf7537e82,  6) + b;
-  d = rotate(d + f4(a,b,c) + word11 + 0xbd3af235, 10) + a;
-  c = rotate(c + f4(d,a,b) + word2  + 0x2ad7d2bb, 15) + d;
-  b = rotate(b + f4(c,d,a) + word9  + 0xeb86d391, 21) + c;
-
-  // update hash
-  m_hash[0] += a;
-  m_hash[1] += b;
-  m_hash[2] += c;
-  m_hash[3] += d;
-}
-
-
-/// add arbitrary number of bytes
-void MD5::add(const void* data, size_t numBytes)
-{
-  const uint8_t* current = (const uint8_t*) data;
-
-  if (m_bufferSize > 0)
-  {
-    while (numBytes > 0 && m_bufferSize < BlockSize)
-    {
-      m_buffer[m_bufferSize++] = *current++;
-      numBytes--;
-    }
-  }
-
-  // full buffer
-  if (m_bufferSize == BlockSize)
-  {
-    processBlock(m_buffer);
-    m_numBytes  += BlockSize;
-    m_bufferSize = 0;
-  }
-
-  // no more data ?
-  if (numBytes == 0)
-    return;
-
-  // process full blocks
-  while (numBytes >= BlockSize)
-  {
-    processBlock(current);
-    current    += BlockSize;
-    m_numBytes += BlockSize;
-    numBytes   -= BlockSize;
-  }
-
-  // keep remaining bytes in buffer
-  while (numBytes > 0)
-  {
-    m_buffer[m_bufferSize++] = *current++;
-    numBytes--;
-  }
-}
-
-
-/// process final block, less than 64 bytes
-void MD5::processBuffer()
-{
-  // the input bytes are considered as bits strings, where the first bit is the most significant bit of the byte
-
-  // - append "1" bit to message
-  // - append "0" bits until message length in bit mod 512 is 448
-  // - append length as 64 bit integer
-
-  // number of bits
-  size_t paddedLength = m_bufferSize * 8;
-
-  // plus one bit set to 1 (always appended)
-  paddedLength++;
-
-  // number of bits must be (numBits % 512) = 448
-  size_t lower11Bits = paddedLength & 511;
-  if (lower11Bits <= 448)
-    paddedLength +=       448 - lower11Bits;
-  else
-    paddedLength += 512 + 448 - lower11Bits;
-  // convert from bits to bytes
-  paddedLength /= 8;
-
-  // only needed if additional data flows over into a second block
-  unsigned char extra[BlockSize];
-
-  // append a "1" bit, 128 => binary 10000000
-  if (m_bufferSize < BlockSize)
-    m_buffer[m_bufferSize] = 128;
-  else
-    extra[0] = 128;
-
-  size_t i;
-  for (i = m_bufferSize + 1; i < BlockSize; i++)
-    m_buffer[i] = 0;
-  for (; i < paddedLength; i++)
-    extra[i - BlockSize] = 0;
-
-  // add message length in bits as 64 bit number
-  uint64_t msgBits = 8 * (m_numBytes + m_bufferSize);
-  // find right position
-  unsigned char* addLength;
-  if (paddedLength < BlockSize)
-    addLength = m_buffer + paddedLength;
-  else
-    addLength = extra + paddedLength - BlockSize;
-
-  // must be little endian
-  *addLength++ = msgBits & 0xFF; msgBits >>= 8;
-  *addLength++ = msgBits & 0xFF; msgBits >>= 8;
-  *addLength++ = msgBits & 0xFF; msgBits >>= 8;
-  *addLength++ = msgBits & 0xFF; msgBits >>= 8;
-  *addLength++ = msgBits & 0xFF; msgBits >>= 8;
-  *addLength++ = msgBits & 0xFF; msgBits >>= 8;
-  *addLength++ = msgBits & 0xFF; msgBits >>= 8;
-  *addLength++ = msgBits & 0xFF;
-
-  // process blocks
-  processBlock(m_buffer);
-  // flowed over into a second block ?
-  if (paddedLength > BlockSize)
-    processBlock(extra);
-}
-
-
-/// return latest hash as 32 hex characters
-std::string MD5::getHash()
-{
-  // compute hash (as raw bytes)
-  unsigned char rawHash[HashBytes];
-  getHash(rawHash);
-
-  // convert to hex string
-  std::string result;
-  result.reserve(2 * HashBytes);
-  for (int i = 0; i < HashBytes; i++)
-  {
-    static const char dec2hex[16+1] = "0123456789abcdef";
-    result += dec2hex[(rawHash[i] >> 4) & 15];
-    result += dec2hex[ rawHash[i]       & 15];
-  }
-
-  return result;
-}
-
-
-/// return latest hash as bytes
-void MD5::getHash(unsigned char buffer[MD5::HashBytes])
-{
-  // save old hash if buffer is partially filled
-  uint32_t oldHash[HashValues];
-  for (int i = 0; i < HashValues; i++)
-    oldHash[i] = m_hash[i];
-
-  // process remaining bytes
-  processBuffer();
-
-  unsigned char* current = buffer;
-  for (int i = 0; i < HashValues; i++)
-  {
-    *current++ =  m_hash[i]        & 0xFF;
-    *current++ = (m_hash[i] >>  8) & 0xFF;
-    *current++ = (m_hash[i] >> 16) & 0xFF;
-    *current++ = (m_hash[i] >> 24) & 0xFF;
-
-    // restore old hash
-    m_hash[i] = oldHash[i];
-  }
-}
-
-
-/// compute MD5 of a memory block
-std::string MD5::operator()(const void* data, size_t numBytes)
-{
-  reset();
-  add(data, numBytes);
-  return getHash();
-}
-
-
-/// compute MD5 of a string, excluding final zero
-std::string MD5::operator()(const std::string& text)
-{
-  reset();
-  add(text.c_str(), text.size());
-  return getHash();
-}
diff --git a/tests/hashing/md5.h b/tests/hashing/md5.h
deleted file mode 100644 (file)
index f53e2d9..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-// //////////////////////////////////////////////////////////
-// md5.h
-// Copyright (c) 2014 Stephan Brumme. All rights reserved.
-// see http://create.stephan-brumme.com/disclaimer.html
-//
-
-#pragma once
-
-//#include "hash.h"
-#include <string>
-
-// define fixed size integer types
-#ifdef _MSC_VER
-// Windows
-typedef unsigned __int8  uint8_t;
-typedef unsigned __int32 uint32_t;
-typedef unsigned __int64 uint64_t;
-#else
-// GCC
-#include <stdint.h>
-#endif
-
-
-/// compute MD5 hash
-/** Usage:
-    MD5 md5;
-    std::string myHash  = md5("Hello World");     // std::string
-    std::string myHash2 = md5("How are you", 11); // arbitrary data, 11 bytes
-
-    // or in a streaming fashion:
-
-    MD5 md5;
-    while (more data available)
-      md5.add(pointer to fresh data, number of new bytes);
-    std::string myHash3 = md5.getHash();
-  */
-class MD5 //: public Hash
-{
-public:
-  /// split into 64 byte blocks (=> 512 bits), hash is 16 bytes long
-  enum { BlockSize = 512 / 8, HashBytes = 16 };
-
-  /// same as reset()
-  MD5();
-
-  /// compute MD5 of a memory block
-  std::string operator()(const void* data, size_t numBytes);
-  /// compute MD5 of a string, excluding final zero
-  std::string operator()(const std::string& text);
-
-  /// add arbitrary number of bytes
-  void add(const void* data, size_t numBytes);
-
-  /// return latest hash as 32 hex characters
-  std::string getHash();
-  /// return latest hash as bytes
-  void        getHash(unsigned char buffer[HashBytes]);
-
-  /// restart
-  void reset();
-
-private:
-  /// process 64 bytes
-  void processBlock(const void* data);
-  /// process everything left in the internal buffer
-  void processBuffer();
-
-  /// size of processed data in bytes
-  uint64_t m_numBytes;
-  /// valid bytes in m_buffer
-  size_t   m_bufferSize;
-  /// bytes not processed yet
-  uint8_t  m_buffer[BlockSize];
-
-  enum { HashValues = HashBytes / 4 };
-  /// hash, stored as integers
-  uint32_t m_hash[HashValues];
-};
index 3c398160ad95348a61de149da586c2adc88d8e5e..6d7bdf43040c62ac8b044505842bd32e0be16a49 100644 (file)
     CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_stdhash_stat) \
     CDSUNIT_TEST_FeldmanHashMap_stdhash_RCU_Signal
 
-// MD5
-
-#undef CDSUNIT_DECLARE_FeldmanHashMap_md5
-#undef CDSUNIT_DECLARE_FeldmanHashMap_md5_RCU_Signal
-#undef CDSUNIT_TEST_FeldmanHashMap_md5
-#undef CDSUNIT_TEST_FeldmanHashMap_md5_RCU_Signal
-
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-#   define CDSUNIT_DECLARE_FeldmanHashMap_md5_RCU_Signal \
-        TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_md5) \
-        TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_md5_stat) \
-        TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_md5) \
-        TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_md5_stat) \
-
-#   define CDSUNIT_TEST_FeldmanHashMap_md5_RCU_Signal \
-        CPPUNIT_TEST(FeldmanHashMap_rcu_shb_md5) \
-        CPPUNIT_TEST(FeldmanHashMap_rcu_shb_md5_stat) \
-        CPPUNIT_TEST(FeldmanHashMap_rcu_sht_md5) \
-        CPPUNIT_TEST(FeldmanHashMap_rcu_sht_md5_stat) \
-
-#else
-#   define CDSUNIT_DECLARE_FeldmanHashMap_md5_RCU_Signal
-#   define CDSUNIT_TEST_FeldmanHashMap_md5_RCU_Signal
-#endif
-
-
-#define CDSUNIT_DECLARE_FeldmanHashMap_md5 \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_md5) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_md5_stat) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_md5) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_md5_stat) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_md5) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_md5_stat) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_md5) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_md5_stat) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_md5) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_md5_stat) \
-    CDSUNIT_DECLARE_FeldmanHashMap_md5_RCU_Signal
-
-#define CDSUNIT_TEST_FeldmanHashMap_md5 \
-    CPPUNIT_TEST(FeldmanHashMap_hp_md5) \
-    CPPUNIT_TEST(FeldmanHashMap_hp_md5_stat) \
-    CPPUNIT_TEST(FeldmanHashMap_dhp_md5) \
-    CPPUNIT_TEST(FeldmanHashMap_dhp_md5_stat) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_md5) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_md5_stat) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_md5) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_md5_stat) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_md5) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_md5_stat) \
-    CDSUNIT_TEST_FeldmanHashMap_md5_RCU_Signal
-
-
 // CityHash - only for 64bit
 
 #undef CDSUNIT_DECLARE_FeldmanHashMap_city128_RCU_Signal
 #define CDSUNIT_DECLARE_FeldmanHashMap \
     CDSUNIT_DECLARE_FeldmanHashMap_fixed \
     CDSUNIT_DECLARE_FeldmanHashMap_stdhash \
-    CDSUNIT_DECLARE_FeldmanHashMap_md5 \
     CDSUNIT_DECLARE_FeldmanHashMap_city \
 
 #define CDSUNIT_TEST_FeldmanHashMap \
     CDSUNIT_TEST_FeldmanHashMap_fixed \
     CDSUNIT_TEST_FeldmanHashMap_stdhash \
-    CDSUNIT_TEST_FeldmanHashMap_md5 \
     CDSUNIT_TEST_FeldmanHashMap_city
 
index ad328bbba269f8fa642bfca63847a694b59f3292..0edfdb06cfebeda30e8acb6aa635df514dd09ceb 100644 (file)
@@ -216,7 +216,6 @@ namespace map2 {
         CDSUNIT_DECLARE_SkipListMap_nogc
         CDSUNIT_DECLARE_EllenBinTreeMap
         CDSUNIT_DECLARE_BronsonAVLTreeMap
-        CDSUNIT_DECLARE_FeldmanHashMap_md5
         CDSUNIT_DECLARE_FeldmanHashMap_city
         CDSUNIT_DECLARE_StripedMap
         CDSUNIT_DECLARE_RefinableMap
@@ -233,7 +232,6 @@ namespace map2 {
             CDSUNIT_TEST_SkipListMap_nogc
             CDSUNIT_TEST_EllenBinTreeMap
             CDSUNIT_TEST_BronsonAVLTreeMap
-            CDSUNIT_TEST_FeldmanHashMap_md5
             CDSUNIT_TEST_FeldmanHashMap_city
             CDSUNIT_TEST_CuckooMap
             CDSUNIT_TEST_StripedMap
index 26a906000e961d0a61937d28f2e2610536fe717d..35a52ac96f72d5054914e84f05f83ceafcf79c53 100644 (file)
@@ -8,6 +8,5 @@
 #include "map2/map_defs.h"
 
 namespace map2 {
-    CDSUNIT_DECLARE_FeldmanHashMap_md5
     CDSUNIT_DECLARE_FeldmanHashMap_city
 } // namespace map2
index 2dfcbaf02c6c4656325ca74bc26fdc6e638904b0..fe29e3bd12fe3149cccc34e0acb463c6d0a4a8e9 100644 (file)
@@ -257,7 +257,6 @@ namespace map2 {
         CDSUNIT_DECLARE_SkipListMap
         CDSUNIT_DECLARE_EllenBinTreeMap
         CDSUNIT_DECLARE_BronsonAVLTreeMap
-        CDSUNIT_DECLARE_FeldmanHashMap_md5
         CDSUNIT_DECLARE_FeldmanHashMap_city
         CDSUNIT_DECLARE_StripedMap
         CDSUNIT_DECLARE_RefinableMap
@@ -270,7 +269,6 @@ namespace map2 {
             CDSUNIT_TEST_SkipListMap
             CDSUNIT_TEST_EllenBinTreeMap
             CDSUNIT_TEST_BronsonAVLTreeMap
-            CDSUNIT_TEST_FeldmanHashMap_md5
             CDSUNIT_TEST_FeldmanHashMap_city
             CDSUNIT_TEST_CuckooMap
             CDSUNIT_TEST_StripedMap
index 4039ae0aa8518956a674d1b3f7fde656dbef7de6..9a947bedf3dc1cce32a17ea66675a39582d341c0 100644 (file)
@@ -8,6 +8,5 @@
 #include "map2/map_defs.h"
 
 namespace map2 {
-    CDSUNIT_DECLARE_FeldmanHashMap_md5
     CDSUNIT_DECLARE_FeldmanHashMap_city
 } // namespace map2
index d23cb3b2d225633aae61ad15215ff30016489ce4..6d6dd47518636ed482254635540b03a990ba61ce 100644 (file)
@@ -69,35 +69,6 @@ namespace map2 {
         typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_stdhash_stat >    FeldmanHashMap_rcu_sht_stdhash_stat;
 #endif
 
-        //MD5
-        struct traits_FeldmanHashMap_md5 : public cc::feldman_hashmap::traits
-        {
-            typedef ::hashing::md5 hash;
-        };
-        typedef FeldmanHashMap< cds::gc::HP,  Key, Value, traits_FeldmanHashMap_md5 >    FeldmanHashMap_hp_md5;
-        typedef FeldmanHashMap< cds::gc::DHP, Key, Value, traits_FeldmanHashMap_md5 >    FeldmanHashMap_dhp_md5;
-        typedef FeldmanHashMap< rcu_gpi, Key, Value, traits_FeldmanHashMap_md5 >    FeldmanHashMap_rcu_gpi_md5;
-        typedef FeldmanHashMap< rcu_gpb, Key, Value, traits_FeldmanHashMap_md5 >    FeldmanHashMap_rcu_gpb_md5;
-        typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_md5 >    FeldmanHashMap_rcu_gpt_md5;
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-        typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_md5 >    FeldmanHashMap_rcu_shb_md5;
-        typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_md5 >    FeldmanHashMap_rcu_sht_md5;
-#endif
-
-        struct traits_FeldmanHashMap_md5_stat : public traits_FeldmanHashMap_md5
-        {
-            typedef cc::feldman_hashmap::stat<> stat;
-        };
-        typedef FeldmanHashMap< cds::gc::HP,  Key, Value, traits_FeldmanHashMap_md5_stat >    FeldmanHashMap_hp_md5_stat;
-        typedef FeldmanHashMap< cds::gc::DHP, Key, Value, traits_FeldmanHashMap_md5_stat >    FeldmanHashMap_dhp_md5_stat;
-        typedef FeldmanHashMap< rcu_gpi, Key, Value, traits_FeldmanHashMap_md5_stat >    FeldmanHashMap_rcu_gpi_md5_stat;
-        typedef FeldmanHashMap< rcu_gpb, Key, Value, traits_FeldmanHashMap_md5_stat >    FeldmanHashMap_rcu_gpb_md5_stat;
-        typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_md5_stat >    FeldmanHashMap_rcu_gpt_md5_stat;
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-        typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_md5_stat >    FeldmanHashMap_rcu_shb_md5_stat;
-        typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_md5_stat >    FeldmanHashMap_rcu_sht_md5_stat;
-#endif
-
         // CityHash
 #if CDS_BUILD_BITS == 64
         struct traits_FeldmanHashMap_city64 : public cc::feldman_hashmap::traits
index f9e07cf2a02ec640d45f352916cf1023f2a1486a..addee6e13405743827a9f236d815dddf3b707b6e 100644 (file)
     CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
 
 
-// MD5
-#undef CDSUNIT_DECLARE_FeldmanHashSet_md5
-#undef CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal
-#undef CDSUNIT_TEST_FeldmanHashSet_md5
-#undef CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal
-
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-#   define CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal  \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5_stat) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5_stat) \
-
-#   define CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5_stat) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5_stat) \
-
-#else
-#   define CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal
-#   define CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal
-#endif
-
-#define CDSUNIT_DECLARE_FeldmanHashSet_md5  \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_md5) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_md5_stat) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_md5) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_md5_stat) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_md5) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_md5_stat) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_md5) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_md5_stat) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_md5) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_md5_stat) \
-    CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal
-
-#define CDSUNIT_TEST_FeldmanHashSet_md5  \
-    CPPUNIT_TEST(FeldmanHashSet_hp_md5) \
-    CPPUNIT_TEST(FeldmanHashSet_hp_md5_stat) \
-    CPPUNIT_TEST(FeldmanHashSet_dhp_md5) \
-    CPPUNIT_TEST(FeldmanHashSet_dhp_md5_stat) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_md5) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_md5_stat) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_md5) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_md5_stat) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_md5) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_md5_stat) \
-    CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal
-
-
 // CityHash -only for 64bit 
 #undef CDSUNIT_DECLARE_FeldmanHashSet_city
 #undef CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
 #define CDSUNIT_DECLARE_FeldmanHashSet \
     CDSUNIT_DECLARE_FeldmanHashSet_fixed \
     CDSUNIT_DECLARE_FeldmanHashSet_stdhash \
-    CDSUNIT_DECLARE_FeldmanHashSet_md5 \
     CDSUNIT_DECLARE_FeldmanHashSet_city
 
 #define CDSUNIT_TEST_FeldmanHashSet \
     CDSUNIT_TEST_FeldmanHashSet_fixed \
     CDSUNIT_TEST_FeldmanHashSet_stdhash \
-    CDSUNIT_TEST_FeldmanHashSet_md5 \
     CDSUNIT_TEST_FeldmanHashSet_city
index 36ae9565689cda21f1a2341a110406625d22bb2d..3872ca18a6e4986397f645522b36677cd57d06c4 100644 (file)
@@ -518,7 +518,6 @@ namespace set2 {
         CDSUNIT_DECLARE_SkipListSet
         CDSUNIT_DECLARE_EllenBinTreeSet
         CDSUNIT_DECLARE_FeldmanHashSet_stdhash
-        CDSUNIT_DECLARE_FeldmanHashSet_md5
         CDSUNIT_DECLARE_FeldmanHashSet_city
         CDSUNIT_DECLARE_StdSet
 
@@ -527,7 +526,6 @@ namespace set2 {
             CDSUNIT_TEST_SplitList
             CDSUNIT_TEST_SkipListSet
             CDSUNIT_TEST_FeldmanHashSet_stdhash
-            CDSUNIT_TEST_FeldmanHashSet_md5
             CDSUNIT_TEST_FeldmanHashSet_city
             CDSUNIT_TEST_EllenBinTreeSet
             CDSUNIT_TEST_StripedSet
index 306d8f2b32a08adbeaebbcc02398419ed9c452b7..2cd9edbd336c93edb8e3e61a0c70a2d899ba5149 100644 (file)
@@ -9,6 +9,5 @@
 
 namespace set2 {
     CDSUNIT_DECLARE_FeldmanHashSet_stdhash
-    CDSUNIT_DECLARE_FeldmanHashSet_md5
     CDSUNIT_DECLARE_FeldmanHashSet_city
 } // namespace set2
index 5b82c7547154c442fa047e8962b9d5fdee5c996e..2b2b9d57c19b302c1088bde1a552540234b9bf5e 100644 (file)
@@ -152,31 +152,6 @@ namespace set2 {
         typedef FeldmanHashSet< rcu_sht, key_val<std::hash<key_type>>, traits_FeldmanHashSet_stat >    FeldmanHashSet_rcu_sht_stdhash_stat;
 #endif
 
-        //MD5
-        typedef FeldmanHashSet< cds::gc::HP,  key_val<::hashing::md5>, default_traits >    FeldmanHashSet_hp_md5;
-        typedef FeldmanHashSet< cds::gc::DHP, key_val<::hashing::md5>, default_traits >    FeldmanHashSet_dhp_md5;
-        typedef FeldmanHashSet< rcu_gpi, key_val<::hashing::md5>, default_traits >    FeldmanHashSet_rcu_gpi_md5;
-        typedef FeldmanHashSet< rcu_gpb, key_val<::hashing::md5>, default_traits >    FeldmanHashSet_rcu_gpb_md5;
-        typedef FeldmanHashSet< rcu_gpt, key_val<::hashing::md5>, default_traits >    FeldmanHashSet_rcu_gpt_md5;
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-        typedef FeldmanHashSet< rcu_shb, key_val<::hashing::md5>, default_traits >    FeldmanHashSet_rcu_shb_md5;
-        typedef FeldmanHashSet< rcu_sht, key_val<::hashing::md5>, default_traits >    FeldmanHashSet_rcu_sht_md5;
-#endif
-
-        struct traits_FeldmanHashSet_md5_stat : public default_traits
-        {
-            typedef cc::feldman_hashset::stat<> stat;
-        };
-        typedef FeldmanHashSet< cds::gc::HP,  key_val<::hashing::md5>, traits_FeldmanHashSet_md5_stat >    FeldmanHashSet_hp_md5_stat;
-        typedef FeldmanHashSet< cds::gc::DHP, key_val<::hashing::md5>, traits_FeldmanHashSet_md5_stat >    FeldmanHashSet_dhp_md5_stat;
-        typedef FeldmanHashSet< rcu_gpi, key_val<::hashing::md5>, traits_FeldmanHashSet_md5_stat >    FeldmanHashSet_rcu_gpi_md5_stat;
-        typedef FeldmanHashSet< rcu_gpb, key_val<::hashing::md5>, traits_FeldmanHashSet_md5_stat >    FeldmanHashSet_rcu_gpb_md5_stat;
-        typedef FeldmanHashSet< rcu_gpt, key_val<::hashing::md5>, traits_FeldmanHashSet_md5_stat >    FeldmanHashSet_rcu_gpt_md5_stat;
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-        typedef FeldmanHashSet< rcu_shb, key_val<::hashing::md5>, traits_FeldmanHashSet_md5_stat >    FeldmanHashSet_rcu_shb_md5_stat;
-        typedef FeldmanHashSet< rcu_sht, key_val<::hashing::md5>, traits_FeldmanHashSet_md5_stat >    FeldmanHashSet_rcu_sht_md5_stat;
-#endif
-
         // CityHash
 #if CDS_BUILD_BITS == 64
         struct traits_FeldmanHashSet_city64 : public default_traits