Sux is an umbrella nickname for the results of my fiddling with the implementation of basic succinct data strucures.

The resulting code is rather sparse. The main highlights are:

Sux is free software distributed under the GNU Lesser General Public License.

Why C++?

C++ sucks. No, that's not the reason. The problem is that if you want to compare experimentally your rank/select implementations you need a language that puts you in control—every single computational aspect, including cache misses, perturbs the result.

The C++ code in Sux just uses C++ for namespace handling. No object-oriented or otherwise bizarre feature of the language is used.

Why Java?

Writing in Java code that (essentially) has to roll bits over and over may seem a Bad Thing™. However, one should take into consideration the following points:


You can grab Sux4J from Maven Central. Otherwise, you have to install the .jar file coming with the distribution and the dependencies, which are gathered for your convenience in a tarball.