Two classes are implemented and tested in this code. This is my first attempt of using Colt extensively. SlowLCP is a simple but slow implementation for LCP bookkeeping. In class SlowLCP, the index set C and N are implemented by BooleanArrayList. I don’t know a good way to solve LDL’ yet, so I just use a more generic but less efficient LUDecompositionQuick. It is very obvious that solveLCPBasic directly translates the pseudo-code from Baraff.
Update: the complete source code can be viewed from SourceForge directly.