Sources for Coset Solver and Two-Phase Solver

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.

ModuleDescriptionSource 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.wcubepos.pdf
kocsymm Kocsymm provides the definitions of the H subgroup and cosets. kocsymm.wkocsymm.pdf
phase1prune Phase1prune manages the phase 1 pruning table (on the coset graph). phase1prune.wphase1prune.pdf
phase2prune Phase2prune manages the phsae 2 pruning table (on the subgroup). phase2prune.wphase2prune.pdf
twophase Twophase is a batch-mode two-phase solver, requiring all of the previous routines. twophase.wtwophase.pdf
hcoset Hcoset is the coset solver itself, requiring all of the previous routines except phase2prune and twophase. hcoset.whcoset.pdf

Also provided are the necessary files makefile, bestsol.h, and corner_order.h.

Instructions on running twophase.
Instructions on running hcoset.