Added several bit reversal algo
[libcds.git] / test / unit / map / split_michael_dhp.cpp
index 4d7f6f2979c40afcfadb69100f3e50ec565c7eb1..e2841bb8340a34f6cb9c4c9af36325914cb4b025 100644 (file)
@@ -251,4 +251,61 @@ namespace {
         test( m );
     }
 
+    TEST_F( SplitListMichaelMap_DHP, bit_reversal_swar )
+    {
+        typedef cc::SplitListMap< gc_type, key_type, value_type,
+            typename cc::split_list::make_traits<
+                cc::split_list::ordered_list< cc::michael_list_tag >
+                ,cc::split_list::bit_reversal< cds::algo::bit_reversal::swar >
+                , cds::opt::hash< hash1 >
+                , cc::split_list::ordered_list_traits<
+                    typename cc::michael_list::make_traits<
+                        cds::opt::compare< cmp >
+                    >::type
+                >
+            >::type
+        > map_type;
+
+        map_type m( kSize, 2 );
+        test( m );
+    }
+
+    TEST_F( SplitListMichaelMap_DHP, bit_reversal_lookup )
+    {
+        typedef cc::SplitListMap< gc_type, key_type, value_type,
+            typename cc::split_list::make_traits<
+                cc::split_list::ordered_list< cc::michael_list_tag >
+                ,cc::split_list::bit_reversal< cds::algo::bit_reversal::lookup >
+                , cds::opt::hash< hash1 >
+                , cc::split_list::ordered_list_traits<
+                    typename cc::michael_list::make_traits<
+                        cds::opt::compare< cmp >
+                    >::type
+                >
+            >::type
+        > map_type;
+
+        map_type m( kSize, 2 );
+        test( m );
+    }
+
+    TEST_F( SplitListMichaelMap_DHP, bit_reversal_muldiv )
+    {
+        typedef cc::SplitListMap< gc_type, key_type, value_type,
+            typename cc::split_list::make_traits<
+                cc::split_list::ordered_list< cc::michael_list_tag >
+                ,cc::split_list::bit_reversal< cds::algo::bit_reversal::muldiv >
+                , cds::opt::hash< hash1 >
+                , cc::split_list::ordered_list_traits<
+                    typename cc::michael_list::make_traits<
+                        cds::opt::compare< cmp >
+                    >::type
+                >
+            >::type
+        > map_type;
+
+        map_type m( kSize, 2 );
+        test( m );
+    }
+
 } // namespace