 
 
 /**
+ * Simple key-value pairing (specialized for bool types)
+ */
+template <typename ValueT>
+struct Pair<bool, ValueT, false>
+{
+    bool     key;
+    ValueT   value;
+
+    bool operator<(const Pair &b) const
+    {
+        return (!key && b.key);
+    }
+};
+
+
+/**
  * Simple key-value pairing (specialized for floating point types)
  */
 template <typename KeyT, typename ValueT>

    int     *&h_reference_ranks,
    KeyT    *&h_reference_keys)
{
    Pair<KeyT, int> *h_pairs = new Pair<KeyT, int>[num_items];

    int num_bits = end_bit - begin_bit;
    for (int i = 0; i < num_items; ++i)


        if (ptx_version > 120)                          // Don't check doubles on PTX120 or below because they're down-converted
            TestGen<double>           (num_items, num_segments);

    }

#endif

    return 0;
}

