% adct - arrow for DCT
%
% adct :: M:natural -> arrow({[[N]]}, {[[M]]}, empty).
function o=adct(M)
	o=arrf(@mkdct,1,1);

	function f=mkdct(sizes_in)
		% take DCT size from size(1) of first input
		W=row(dct(eye(sizes_in{1}(1))),M);
		f=@(x)W*x;
	end
end

