static final long [ ] compactCachePart ( final long [ ] srcCache , final int lgArrLongs , final int curCount , final long thetaLong , final boolean dstOrdered ) { if ( curCount == 0 ) { return new long [ 0 ] ; } final long [ ] cacheOut = new long [ curCount ] ; final int len = 1 << lgArrLongs ; int j = 0 ; for ( int i = 0 ; i < len ; i ++ ) { final long v = srcCache [ i ] ; if ( ( v <= 0L ) || ( v >= thetaLong ) ) { continue ; } cacheOut [ j ++ ] = v ; } assert curCount == j ; if ( dstOrdered ) { Arrays . sort ( cacheOut ) ; } return cacheOut ; }
Compact first 2^lgArrLongs of given array