This algorithm and source code is released to the public domain.