samer@0: % adct - arrow for DCT samer@0: % samer@0: % adct :: M:natural -> arrow({[[N]]}, {[[M]]}, empty). samer@42: % samer@42: % Produces only the first M DCT coefficients samer@0: function o=adct(M) samer@42: I=1:M; samer@0: o=arrf(@mkdct,1,1); samer@0: samer@0: function f=mkdct(sizes_in) samer@0: % take DCT size from size(1) of first input samer@42: %W=row(dct(eye(sizes_in{1}(1))),M); samer@42: f=@(x)row(dct(x),I); samer@0: end samer@0: end samer@0: