             if ((sizeof(SampleT) == 1) && (max_bins == 256) && (min_bins == 256))
             {
                 // Dispatch privatized approach for the common scenario (8-bit samples with 256 bins in every channel) using efficient scale-free transformer
-                ScaleFreeTransform<SampleT> transform_op[NUM_ACTIVE_CHANNELS];
+                ScaleFreeTransform transform_op[NUM_ACTIVE_CHANNELS];
 
                 if (CubDebug(error = PrivatizedDispatch(
                     d_temp_storage,


#include <stdio.h>
#include <iterator>

#include "../../block_sweep/block_histogram_sweep.cuh"
#include "../device_radix_sort.cuh"

    };


    // Scale-free sample transform (simply returns the sample as the bin id)
    struct ScaleFreeTransform
    {
        // Method for converting samples to bin-ids
        template <CacheLoadModifier LOAD_MODIFIER>
        __host__ __device__ __forceinline__ void BinSelect(SampleT sample, unsigned int &bin, bool &valid)
        {
            bin = (unsigned int) sample;
            if (std::numeric_limits<SampleT>::is_integer && std::numeric_limits<SampleT>::is_signed)
            {
                bin += ((unsigned int) std::numeric_limits<SampleT>::max) + 1;
            }
        }
    };

