Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,35 @@
|
|||
import "/fmt" for Fmt, Conv
|
||||
import "/str" for Str
|
||||
|
||||
var toOctets = Fn.new { |n|
|
||||
var s = Conv.itoa(n, 2)
|
||||
var le = s.count
|
||||
var r = le % 7
|
||||
var d = (le/7).floor
|
||||
if (r > 0) {
|
||||
d = d + 1
|
||||
s = Fmt.zfill(7 * d, s)
|
||||
}
|
||||
var chunks = Str.chunks(s, 7)
|
||||
var last = "0" + chunks[-1]
|
||||
s = chunks[0..-2].map { |ch| "1" + ch }.join() + last
|
||||
return Str.chunks(s, 8).map { |ch| Conv.atoi(ch, 2) }.toList
|
||||
}
|
||||
|
||||
var fromOctets = Fn.new { |octets|
|
||||
var s = ""
|
||||
for (oct in octets) {
|
||||
var bin = Conv.itoa(oct, 2)
|
||||
bin = Fmt.zfill(7, bin)
|
||||
s = s + bin[-7..-1]
|
||||
}
|
||||
return Conv.atoi(s, 2)
|
||||
}
|
||||
|
||||
var tests = [2097152, 2097151]
|
||||
for (test in tests) {
|
||||
var octets = toOctets.call(test)
|
||||
var display = octets.map { |oct| "Ox" + Fmt.xz(2, oct) }.toList
|
||||
System.write("%(test) -> %(Fmt.v("s", 4, display, 0, " ", "")) -> ")
|
||||
System.print(fromOctets.call(octets))
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue