// output of ./demo/comb/ruler-func-demo.cc:
// Description:
//% Ruler function (zero-based), 2-valuations of n:
//%   0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 ...
//% Loopless algorithm (specialization of Knuth's method
//%   for mixed radix Gray code).
//% Cf. OEIS sequence A007814.

arg 1: 5 == n  [Stop when n is encountered (==>2**n elements).]  default=5
 0    [ 1 1 2 3 4 ]
 1    [ 0 2 2 3 4 ]
 0    [ 2 1 2 3 4 ]
 2    [ 0 1 3 3 4 ]
 0    [ 1 1 3 3 4 ]
 1    [ 0 3 2 3 4 ]
 0    [ 3 1 2 3 4 ]
 3    [ 0 1 2 4 4 ]
 0    [ 1 1 2 4 4 ]
 1    [ 0 2 2 4 4 ]
 0    [ 2 1 2 4 4 ]
 2    [ 0 1 4 3 4 ]
 0    [ 1 1 4 3 4 ]
 1    [ 0 4 2 3 4 ]
 0    [ 4 1 2 3 4 ]
 4    [ 0 1 2 3 5 ]
 0    [ 1 1 2 3 5 ]
 1    [ 0 2 2 3 5 ]
 0    [ 2 1 2 3 5 ]
 2    [ 0 1 3 3 5 ]
 0    [ 1 1 3 3 5 ]
 1    [ 0 3 2 3 5 ]
 0    [ 3 1 2 3 5 ]
 3    [ 0 1 2 5 4 ]
 0    [ 1 1 2 5 4 ]
 1    [ 0 2 2 5 4 ]
 0    [ 2 1 2 5 4 ]
 2    [ 0 1 5 3 4 ]
 0    [ 1 1 5 3 4 ]
 1    [ 0 5 2 3 4 ]
 0    [ 5 1 2 3 4 ]
 5    [ 0 1 2 3 4 ]
 ct=32
