(perm uint64)
| 78 | } |
| 79 | |
| 80 | func codebit(perm uint64) int { |
| 81 | r := 0 |
| 82 | for min, mask := range masks { |
| 83 | filtered := perm ^ mask |
| 84 | filtered &= filtered >> 2 |
| 85 | filtered &= filtered >> 1 |
| 86 | filtered &= maskstarts |
| 87 | z := byte(bits.TrailingZeros64(filtered)) |
| 88 | upper := (perm >> (z + 4)) << z |
| 89 | lower := perm &^ (fullmask << z) |
| 90 | perm = upper | lower |
| 91 | r += int(z/4) * fact[min] |
| 92 | } |
| 93 | return r |
| 94 | } |
| 95 | |
| 96 | func CodeCount(perm [base]byte) int { |
| 97 | r := 0 |
no outgoing calls
no test coverage detected