Burrows–Wheeler transform: Difference between revisions

Line 809:
 
NB. demonstrate the transform
> A=: <@bwt ;._2 ] 0 :0
tests[0] = "banana";
tests[1] = "appellee";
Line 854:
tail=. {:
mark=. STX , ,&ETX
forwardtransform=. tail Rank 1 @: sort @: rotations @: mark @: verify
EXPECT=. ETX , 'ANNB' , STX , 'AA'
assert. EXPECT -: forwardtransform 'BANANA'
 
unscramble=. (,Rank 0 1 sort)^:(#@[)&(i.0)
Line 864:
curtail=. }:
erase_mark =. behead @: curtail
reverserestore=. erase_mark @: (from~ find) @: unscramble
assert. 'BANANA' -: reverserestore EXPECT
 
obverse=. :.
fixed=. f.
bwt=: forwardtransform obverse reverserestore fixed
 
assert (-: ]&.:bwt)'same under transformation'
Anonymous user