                                                                                         gdf_columns_to_hash.data())};
 
   gdf_error gdf_status{GDF_SUCCESS};
+
   switch(hash)
   {
     case GDF_HASH_MURMUR3:

  thrust::scatter(input_column,
                  input_column + num_rows,
                  row_output_locations,
                  partitioned_output_column);

  CUDA_CHECK_LAST();

  return gdf_status;
}

template <typename size_type>
gdf_error scatter_gdf_table(gdf_table<size_type> const & input_table,
                            size_type const * const row_output_locations,

  }
};

/* --------------------------------------------------------------------------*/
/** 
 * @brief Computes which partition each row of a gdf_table will belong to based
   on hashing each row, and applying a partition function to the hash value. 
   Also computes the number of rows that belong to each partition.
 * 
 * @Param[in] the_table The table whose rows will be partitioned
 * @Param[in] num_rows The number of rows in the table
 * @Param[in] num_partitions The number of partitions to divide the rows into
 * @Param[in] the_partitioner The functor that maps a rows hash value to a partition number
 * @Param[out] row_partition_numbers Array that holds which partition each row belongs to
 * @Param[out] partition_sizes The number of rows in each partition.
 */
/* ----------------------------------------------------------------------------*/
template <template <typename> class hash_function,
          typename partitioner_type,
          typename size_type>
