/usr/share/freemat/toolbox/signal/conv.m is in freemat-data 4.0-5build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | % CONV CONV Convolution Function
%
% Usage
%
% The conv function performs a one-dimensional convolution of two
% vector arguments. The syntax for its use is
%
% z = conv(x,y)
%
% where x and y are vectors. The output is of length nx + ny -1.
% The conv function calls conv2 to do the calculation. See its
% help for more details.
% Copyright (c) 2002-2007 Samit Basu
% Licensed under the GPL
function z = conv(x,y)
% is x a column vector
% col * scalar = col
% col * row = row
% ndim * row = row
% col * row = col
xiscol = size(x,1) > size(x,2);
yiscol = size(y,1) > size(y,2);
if (xiscol | yiscol)
z = conv2(x(:),y(:));
else
z = conv2(x(:).',y(:).');
end
if (numel(x) > numel(y))
maxdims = maxdim(x);
else
maxdims = maxdim(y);
end
if (maxdims > 1)
z = reshape(z,[ones(1,maxdims-1),numel(z)]);
end
|