  *       Tero Karras, "Maximizing parallelism in the construction of BVHs, octrees, and k-d trees", 
  *       High Performance Graphics (2012).
  */
-__device__ inline uint2 determineRange(const unsigned int *d_morton_codes,
+__device__ inline uint2 determineRange(const uint32_t *d_morton_codes,
                                        const int min_idx,
                                        const int max_idx,
                                        const int idx)

        return -1;
        }
    
    unsigned int first_code = d_morton_codes[i];
    unsigned int last_code = d_morton_codes[j];
    
    // if codes match, then use index as tie breaker
    if (first_code == last_code)
        {
        return __clz(i ^ j);
        }
    else
        {

 * of the range of Morton codes corresponding to this tree, then it always returns -1. If the Morton codes for i and j
 * are identical, then the longest prefix of i and j is used as a tie breaker.
 */
__device__ inline int delta(const uint32_t *d_morton_codes,
                            unsigned int i,
                            unsigned int j,
                            int min_idx,
