     }
   }
 };
-VariableUnitTest<TestRadixSortByKeyVariableBits, IntegralTypes> TestRadixSortByKeyVariableBitsInstance;
+VariableUnitTest<TestRadixSortByKeyVariableBits, unittest::type_list<unsigned int> > TestRadixSortByKeyVariableBitsInstance;
 
 
 //void TestRadixSortMemoryLeak(void)

{
  void operator()(const size_t n)
  {
#if defined(__GNUC__) && (__GNUC__ <= 4) && (__GNUC_MINOR__ <= 1)
    // some bizzare problem with VariableUnitTest in this particular case
    // on GCC 4.1.2 (SUSE Linux)
    KNOWN_FAILURE;
#else
    for(size_t num_bits = 0; num_bits < 8 * sizeof(T); num_bits += 7){
        thrust::host_vector<T>  h_keys = unittest::random_integers<T>(n);
   

  {
    thrust::host_vector<T>   h_keys = unittest::random_integers<T>(n);
    thrust::device_vector<T> d_keys = h_keys;

    thrust::host_vector<unsigned int>   h_values(n);
    thrust::device_vector<unsigned int> d_values(n);
    thrust::sequence(h_values.begin(), h_values.end());
