17 lines
352 B
Groovy
17 lines
352 B
Groovy
final RADIX = 7
|
|
final MASK = 2**RADIX - 1
|
|
|
|
def octetify = { n ->
|
|
def octets = []
|
|
for (def i = n; i != 0; i >>>= RADIX) {
|
|
octets << ((byte)((i & MASK) + (octets.empty ? 0 : MASK + 1)))
|
|
}
|
|
octets.reverse()
|
|
}
|
|
|
|
def deoctetify = { octets ->
|
|
octets.inject(0) { long n, octet ->
|
|
(n << RADIX) + ((int)(octet) & MASK)
|
|
}
|
|
}
|