   return mask;
 }
 
-__device__ __forceinline__ int inclusive_segscan_block64(
+__device__ __forceinline__ int inclusive_segscan_warp(
     int *shmem, const int packed_value, int &dist_block, int &nseg)
 {
   const int  flag = packed_value < 0;

  dist_block = __clz(__brev(flags));

  const int distance = __clz(flags & lanemask_le()) + laneId - 31;
  shmem[laneId] = inclusive_segscan_warp<WARP_SIZE2>(value, distance);
  const int val = shmem[WARP_SIZE - 1];
  return val;
}

  return partial;
}
  template<const int SIZE2>
__device__ __forceinline__ int inclusive_segscan_warp_step(int value, const int distance)
{

#if 0
