|
17 | 17 |
|
18 | 18 | package chip.onboardingpayload
|
19 | 19 |
|
20 |
| -class Verhoeff { |
21 |
| - companion object { |
22 |
| - fun dihedralMultiply(x: Int, y: Int, n: Int): Int { |
23 |
| - val n2 = n * 2 |
24 |
| - var newX = x % n2 |
25 |
| - var newY = y % n2 |
26 |
| - if (newX < n) { |
27 |
| - if (newY < n) return (newX + newY) % n |
28 |
| - return ((newX + (newY - n)) % n) + n |
29 |
| - } |
30 |
| - if (newY < n) return ((n + (newX - n) - newY) % n) + n |
31 |
| - return (n + (newX - n) - (newY - n)) % n |
| 20 | +object Verhoeff { |
| 21 | + fun dihedralMultiply(x: Int, y: Int, n: Int): Int { |
| 22 | + val n2 = n * 2 |
| 23 | + var newX = x % n2 |
| 24 | + var newY = y % n2 |
| 25 | + if (newX < n) { |
| 26 | + if (newY < n) return (newX + newY) % n |
| 27 | + return ((newX + (newY - n)) % n) + n |
32 | 28 | }
|
| 29 | + if (newY < n) return ((n + (newX - n) - newY) % n) + n |
| 30 | + return (n + (newX - n) - (newY - n)) % n |
| 31 | + } |
33 | 32 |
|
34 |
| - fun dihedralInvert(value: Int, n: Int): Int { |
35 |
| - if (value > 0 && value < n) return n - value |
36 |
| - return value |
37 |
| - } |
| 33 | + fun dihedralInvert(value: Int, n: Int): Int { |
| 34 | + if (value > 0 && value < n) return n - value |
| 35 | + return value |
| 36 | + } |
38 | 37 |
|
39 |
| - fun permute(value: Int, permTable: ByteArray, permTableLen: Int, iterCount: Int): Int { |
40 |
| - var newValue = value % permTableLen |
41 |
| - if (iterCount == 0) return newValue |
42 |
| - return permute(permTable[newValue].toInt(), permTable, permTableLen, iterCount - 1) |
43 |
| - } |
| 38 | + fun permute(value: Int, permTable: ByteArray, permTableLen: Int, iterCount: Int): Int { |
| 39 | + var newValue = value % permTableLen |
| 40 | + if (iterCount == 0) return newValue |
| 41 | + return permute(permTable[newValue].toInt(), permTable, permTableLen, iterCount - 1) |
44 | 42 | }
|
45 | 43 | }
|
0 commit comments