Burrows–Wheeler transform: Difference between revisions
→{{header|Wren}}: Now uses Wren-sort module.
(Added Wren) |
(→{{header|Wren}}: Now uses Wren-sort module.) |
||
Line 1,758:
=={{header|Wren}}==
{{trans|Go}}
{{libheader|Wren-sort}}
<lang ecmascript>import "/
var stx = "\x02"
var etx = "\x03"
var bwt = Fn.new { |s|
if (s.indexOf(stx) >= 0 || s.indexOf(etx) >= 0) return null
Line 1,804 ⟶ 1,771:
table[0] = s
for (i in 1...len) table[i] = s[i..-1] + s[0...i]
var lastChars = [""] * len
for (i in 0...len) lastChars[i] = table[i][len-1]
return lastChars.join()
}
var ibwt = Fn.new { |r|
var len = r.count
Line 1,815 ⟶ 1,782:
for (i in 0...len) {
for (j in 0...len) table[j] = r[j] + table[j]
}
for (row in table) {
Line 1,822 ⟶ 1,789:
return ""
}
var makePrintable = Fn.new { |s|
// substitute ^ for STX and | for ETX to print results
Line 1,828 ⟶ 1,795:
return s.replace(etx, "|")
}
var tests = [
"banana",
Line 1,877 ⟶ 1,844:
-->
</pre>
=={{header|zkl}}==
|