1 ! Haar wavelet transform -- http://dmr.ath.cx/gfx/haar/
2 USING: sequences math kernel splitting ;
5 : averages ( seq -- seq )
8 : differences ( seq averages -- differences )
9 >r 0 <column> r> [ - ] 2map ;
11 : haar-step ( seq -- differences averages )
12 2 group dup averages [ differences ] keep ;
15 dup length 1 <= [ haar-step haar swap append ] unless ;