These sources compile and run on linux. They should also compile and run on a sufficiently large Windows machine. They require pthreads.
They are written in a literate programming style using the CWeb system. You will need ctangle to compile the programs.
|Module||Description||Source file||Formatted doc|
|cubepos||Cubepos provides the basic definitions of the cube group and standard utility functions such as reading and writing positions, parsing moves, executing moves, calculating inverses, and more.||cubepos.w||cubepos.pdf|
|kocsymm||Kocsymm provides the definitions of the H subgroup and cosets.||kocsymm.w||kocsymm.pdf|
|phase1prune||Phase1prune manages the phase 1 pruning table (on the coset graph).||phase1prune.w||phase1prune.pdf|
|phase2prune||Phase2prune manages the phsae 2 pruning table (on the subgroup).||phase2prune.w||phase2prune.pdf|
|twophase||Twophase is a batch-mode two-phase solver, requiring all of the previous routines.||twophase.w||twophase.pdf|
|hcoset||Hcoset is the coset solver itself, requiring all of the previous routines except phase2prune and twophase.||hcoset.w||hcoset.pdf|
Also provided are the necessary files makefile, bestsol.h, and corner_order.h.
Instructions on running twophase.
Instructions on running hcoset.