Mercurial > hg > ishara
diff general/arrutils/promote.m @ 4:e44f49929e56
Adding reorganised general toolbox, now in several subdirectories.
author | samer |
---|---|
date | Sat, 12 Jan 2013 19:21:22 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/general/arrutils/promote.m Sat Jan 12 19:21:22 2013 +0000 @@ -0,0 +1,14 @@ +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); + + +