-//$$CDS-header$$
+/*
+ This file is a part of libcds - Concurrent Data Structures library
+
+ (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+
+ Source code repo: http://github.com/khizmax/libcds/
+ Download: http://sourceforge.net/projects/libcds/files/
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
#define CDSUNIT_DECLARE_StdSet \
TEST_CASE( tag_StdSet, StdSet_Spin) \
//***********************************************
-// MultiLevelHashSet
+// FeldmanHashSet
-#undef CDSUNIT_DECLARE_MultiLevelHashSet64
-#undef CDSUNIT_DECLARE_MultiLevelHashSet64_RCU_signal
-#undef CDSUNIT_DECLARE_MultiLevelHashSet_RCU_signal
+// For fixed-sized key - no hash function is needed
-#if CDS_BUILD_BITS == 64
-# define CDSUNIT_DECLARE_MultiLevelHashSet64 \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_city64) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_city64_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_city64) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_city64_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_city128) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_city128_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_city128) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_city128_stat)
-
-# ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-# define CDSUNIT_DECLARE_MultiLevelHashSet64_RCU_signal \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_city64) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_city64_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_city64) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_city64_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_city128) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_city128_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_city128) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_city128_stat)
-# else
-# define CDSUNIT_DECLARE_MultiLevelHashSet64_RCU_signal
-# endif
-#else
-# define CDSUNIT_DECLARE_MultiLevelHashSet64
-# define CDSUNIT_DECLARE_MultiLevelHashSet64_RCU_signal
-#endif
+#undef CDSUNIT_DECLARE_FeldmanHashSet_fixed
+#undef CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
+#undef CDSUNIT_TEST_FeldmanHashSet_fixed
+#undef CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-# define CDSUNIT_DECLARE_MultiLevelHashSet_RCU_signal \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_stdhash) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_stdhash_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_stdhash) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_stdhash_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_md5) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_md5_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_md5) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_md5_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_sha256) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_shb_sha256_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_sha256) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_sht_sha256_stat)
+# define CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed_stat) \
+
+# define CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed_stat) \
+
#else
-# define CDSUNIT_DECLARE_MultiLevelHashSet_RCU_signal
+# define CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
+# define CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
#endif
+#define CDSUNIT_DECLARE_FeldmanHashSet_fixed \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_fixed) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_fixed_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_fixed) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_fixed_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_fixed) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_fixed_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_fixed) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_fixed_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_fixed) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_fixed_stat) \
+ CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
+
+#define CDSUNIT_TEST_FeldmanHashSet_fixed \
+ CPPUNIT_TEST(FeldmanHashSet_hp_fixed) \
+ CPPUNIT_TEST(FeldmanHashSet_hp_fixed_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_dhp_fixed) \
+ CPPUNIT_TEST(FeldmanHashSet_dhp_fixed_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_fixed) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_fixed_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_fixed) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_fixed_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_fixed) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_fixed_stat) \
+ CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
+
+// std::hash
+#undef CDSUNIT_DECLARE_FeldmanHashSet_stdhash
+#undef CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
+#undef CDSUNIT_TEST_FeldmanHashSet_stdhash
+#undef CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
+#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+# define CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash_stat) \
+
+# define CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash_stat) \
+
+#else
+# define CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
+# define CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
+#endif
-#undef CDSUNIT_DECLARE_MultiLevelHashSet
-#define CDSUNIT_DECLARE_MultiLevelHashSet \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_stdhash) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_stdhash_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_stdhash) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_stdhash_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_stdhash) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_stdhash_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_stdhash) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_stdhash_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_stdhash) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_stdhash_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_md5) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_md5_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_md5) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_md5_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_md5) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_md5_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_md5) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_md5_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_md5) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_md5_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_sha256) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_hp_sha256_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_sha256) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_dhp_sha256_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_sha256) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpi_sha256_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_sha256) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpb_sha256_stat) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_sha256) \
- TEST_CASE(tag_MultiLevelHashSet, MultiLevelHashSet_rcu_gpt_sha256_stat) \
- CDSUNIT_DECLARE_MultiLevelHashSet_RCU_signal \
- CDSUNIT_DECLARE_MultiLevelHashSet64 \
- CDSUNIT_DECLARE_MultiLevelHashSet64_RCU_signal \
-
-
-#undef CDSUNIT_TEST_MultiLevelHashSet64
-#undef CDSUNIT_TEST_MultiLevelHashSet64_RCU_signal
-#undef CDSUNIT_TEST_MultiLevelHashSet_RCU_signal
+#define CDSUNIT_DECLARE_FeldmanHashSet_stdhash \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_stdhash) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_stdhash_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_stdhash) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_stdhash_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_stdhash) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_stdhash_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_stdhash) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_stdhash_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_stdhash) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_stdhash_stat) \
+ CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
+
+#define CDSUNIT_TEST_FeldmanHashSet_stdhash \
+ CPPUNIT_TEST(FeldmanHashSet_hp_stdhash) \
+ CPPUNIT_TEST(FeldmanHashSet_hp_stdhash_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_dhp_stdhash) \
+ CPPUNIT_TEST(FeldmanHashSet_dhp_stdhash_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_stdhash) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_stdhash_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_stdhash) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_stdhash_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_stdhash) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_stdhash_stat) \
+ CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
+
+
+// CityHash -only for 64bit
+
+#undef CDSUNIT_DECLARE_FeldmanHashSet_city
+#undef CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
+#undef CDSUNIT_TEST_FeldmanHashSet_city
+#undef CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
#if CDS_BUILD_BITS == 64
-# define CDSUNIT_TEST_MultiLevelHashSet64 \
- CPPUNIT_TEST(MultiLevelHashSet_hp_city64) \
- CPPUNIT_TEST(MultiLevelHashSet_hp_city64_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_dhp_city64) \
- CPPUNIT_TEST(MultiLevelHashSet_dhp_city64_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_hp_city128) \
- CPPUNIT_TEST(MultiLevelHashSet_hp_city128_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_dhp_city128) \
- CPPUNIT_TEST(MultiLevelHashSet_dhp_city128_stat)
-
-# ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-# define CDSUNIT_TEST_MultiLevelHashSet64_RCU_signal \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_city64) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_city64_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_city64) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_city64_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_city128) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_city128_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_city128) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_city128_stat)
-# else
-# define CDSUNIT_TEST_MultiLevelHashSet64_RCU_signal
-# endif
+
+#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+# define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128_stat) \
+
+# define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128_stat) \
#else
-# define CDSUNIT_TEST_MultiLevelHashSet64
-# define CDSUNIT_TEST_MultiLevelHashSet64_RCU_signal
+# define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
+# define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
#endif
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-# define CDSUNIT_TEST_MultiLevelHashSet_RCU_signal \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_stdhash) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_stdhash_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_stdhash) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_stdhash_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_md5) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_md5_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_md5) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_md5_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_sha256) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_shb_sha256_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_sha256) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_sht_sha256_stat)
+#define CDSUNIT_DECLARE_FeldmanHashSet_city \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city64) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city64_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city64) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city64_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city64) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city64_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city64) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city64_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city64) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city64_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city128) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city128_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city128) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city128_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city128) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city128_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city128) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city128_stat) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city128) \
+ TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city128_stat) \
+ CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
+
+#define CDSUNIT_TEST_FeldmanHashSet_city \
+ CPPUNIT_TEST(FeldmanHashSet_hp_city64) \
+ CPPUNIT_TEST(FeldmanHashSet_hp_city64_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_dhp_city64) \
+ CPPUNIT_TEST(FeldmanHashSet_dhp_city64_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city64) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city64_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city64) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city64_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city64) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city64_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_hp_city128) \
+ CPPUNIT_TEST(FeldmanHashSet_hp_city128_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_dhp_city128) \
+ CPPUNIT_TEST(FeldmanHashSet_dhp_city128_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city128) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city128_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city128) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city128_stat) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city128) \
+ CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city128_stat) \
+ CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
+
#else
-# define CDSUNIT_TEST_MultiLevelHashSet_RCU_signal
-#endif
+# define CDSUNIT_DECLARE_FeldmanHashSet_city
+# define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
+# define CDSUNIT_TEST_FeldmanHashSet_city
+# define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
+#endif // CDS_BUILD_BITS == 64
+
+
+// All
+
+#define CDSUNIT_DECLARE_FeldmanHashSet \
+ CDSUNIT_DECLARE_FeldmanHashSet_fixed \
+ CDSUNIT_DECLARE_FeldmanHashSet_stdhash \
+ CDSUNIT_DECLARE_FeldmanHashSet_city
-#undef CDSUNIT_TEST_MultiLevelHashSet
-#define CDSUNIT_TEST_MultiLevelHashSet \
- CPPUNIT_TEST(MultiLevelHashSet_hp_stdhash) \
- CPPUNIT_TEST(MultiLevelHashSet_hp_stdhash_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_dhp_stdhash) \
- CPPUNIT_TEST(MultiLevelHashSet_dhp_stdhash_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_stdhash) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_stdhash_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_stdhash) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_stdhash_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_stdhash) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_stdhash_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_hp_md5) \
- CPPUNIT_TEST(MultiLevelHashSet_hp_md5_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_dhp_md5) \
- CPPUNIT_TEST(MultiLevelHashSet_dhp_md5_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_md5) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_md5_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_md5) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_md5_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_md5) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_md5_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_hp_sha256) \
- CPPUNIT_TEST(MultiLevelHashSet_hp_sha256_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_dhp_sha256) \
- CPPUNIT_TEST(MultiLevelHashSet_dhp_sha256_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_sha256) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpi_sha256_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_sha256) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpb_sha256_stat) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_sha256) \
- CPPUNIT_TEST(MultiLevelHashSet_rcu_gpt_sha256_stat) \
- CDSUNIT_TEST_MultiLevelHashSet_RCU_signal \
- CDSUNIT_TEST_MultiLevelHashSet64 \
- CDSUNIT_TEST_MultiLevelHashSet64_RCU_signal
+#define CDSUNIT_TEST_FeldmanHashSet \
+ CDSUNIT_TEST_FeldmanHashSet_fixed \
+ CDSUNIT_TEST_FeldmanHashSet_stdhash \
+ CDSUNIT_TEST_FeldmanHashSet_city