Algorithms for finite shift-rank processes