Title :
Converting to and from Dilated Integers
Author :
Raman, Rajeev ; Wise, David S.
Author_Institution :
Univ. of Leicester, Leicester
fDate :
4/1/2008 12:00:00 AM
Abstract :
Dilated integers form an ordered group of the Cartesian indices into a d-dimensional array represented in the Morton order. Efficient implementations of its operations can be found elsewhere. This paper offers efficient casting (type)conversions to and from an ordinary integer representation. As the Morton order representation for 2D and 3D arrays attracts more users because of its excellent block locality, the efficiency of these conversions becomes important. They are essential for programmers who would use Cartesian indexing there. Two algorithms for each casting conversion are presented here, including to-and-from dilated integers for both d = 2 and d = 3. They fall into two families. One family uses newly compact table lookup, so the cache capacity is better preserved. The other generalizes better to all d, using processor-local arithmetic that is newly presented as abstract d-ary and (d - 1)-ary recurrences. Test results for two and three dimensions generally favor the former.
Keywords :
cache storage; computer graphics; systems analysis; Cartesian indices; Morton order representation; cache capacity; compact table lookup; d-dimensional array; dilated integers; ordinary integer representation; Algorithm design and analysis; Arrays; Casting; Computer architecture; Indexes; Program processors; Programming; Table lookup; Three dimensional displays; Analysis of Algorithms; Data Structures: Arrays; Memory Structures: Design Styles; Programming Techniques: General; and Problem Complexity: Numerical algorithms; problems: computations on matrices.;
Journal_Title :
Computers, IEEE Transactions on
DOI :
10.1109/TC.2007.70814