LUCENE-4161 we started to make the PackedInts API more flexible so that codecs could use it whenever they need to (un)pack integers. There are two posting formats in progress (For and PFor, LUCENE-3892) that perform a lot of integer (un)packing but the current API still has limits :
- it only works with long arrays, whereas these codecs need to manipulate int arrays,
- the packed reader iterators work great for unpacking long sequences of integers, but they would probably cause a lot of overhead to decode lots of short integer sequences such as the ones that can be generated by For and PFor.
I've been looking at the For/PFor branch and it has a PackedIntsDecompress class (http://svn.apache.org/repos/asf/lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/pfor/PackedIntsDecompress.java) which is very similar to oal.util.packed.BulkOperation (package-private), so maybe we should find a way to expose this class so that the For/PFor branch can directly use it.