Mercurial > hg > octave-lyh
diff scripts/general/repmat.m @ 4964:269c3d6c0569
[project @ 2004-09-04 01:16:28 by jwe]
author | jwe |
---|---|
date | Sat, 04 Sep 2004 01:16:28 +0000 |
parents | 4bd917f8a4a7 |
children | 5208182e2e62 |
line wrap: on
line diff
--- a/scripts/general/repmat.m +++ b/scripts/general/repmat.m @@ -55,7 +55,16 @@ if (isstr (a)) x = setstr (toascii (a) * ones (idx)); else - x = a * ones(idx, class(a)); + if (strcmp (class (a), "double")) + ## This is faster with octave for double/Complex + x = a * ones(idx, class(a)); + else + cidx = cell (1, length (idx)); + for i=1:length(idx) + cidx{i} = ones (1,idx(i)); + endfor + x = a (cidx{:}); + endif endif elseif (ndims (a) == 2 && length (idx) < 3) if (isstr (a))