nl_tokens: Returns cardinal point given Hilbert index
pl_tokens: function hilbertIndexInverse ( dim , index , options ) { // :: Int -> Int -> [Int, Int, ..] options = options || { } var entry = options . entry || 0 , direction = options . direction || 0 , m = curvePrecision ( index , dim ) , p = Array . apply ( null , new Array ( dim ) ) . map ( Number . prototype . valueOf , 0 ) for ( var i = m - 1 ; i >= 0 ; i -- ) { var mask = 1 << ( i * dim ) , bits = 0 , code for ( var k = dim - 1 ; k >= 0 ; k -- ) { if ( <mask> & ( mask << k ) ) { bits |= ( 1 << k ) } } code = grayInverseTransform ( entry , direction , grayCode ( bits ) , dim ) for ( var k = 0 ; k < dim ; k ++ ) { if ( code & ( 1 << k ) ) { p [ k ] |= ( 1 << i ) } } entry = entry ^ bitwise . rotateLeft ( entrySequence ( bits ) , dim , 0 , direction + 1 ) direction = ( direction + directionSequence ( bits , dim ) + 1 ) % dim } return p }