view general/arrutils/promote.m @ 42:ae596261e75f

Various fixes and development to audio handling
author samer
date Tue, 02 Dec 2014 14:51:13 +0000
parents e44f49929e56
children
line wrap: on
line source
function varargout=promote(varargin)
% promote -  repmats all args to be the same size
%
% promote :: var {I:[N]->[[Size(I)]->A]} ~'variable argument list of arrays'
% -> var {I:[[N]]->[[MSize]->A]} ~'all arrays of same size'.
%
% Target size is the maximum along each dimensions of all the input sizes.

maxdims=max(cellcat(1,cellmap(@numdims,varargin)));
target=max(cellcat(1,cellmap(@(x)pad1s(maxdims,size1(x)),varargin)),[],1);
varargout=cellmap(@(x)repmat_to(x,tosize(target)),varargin);