comparison scripts/strings/mat2str.m @ 16994:333243133364

Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance. matrix concatenation is ~80% faster than cstrcat(). * doc/interpreter/strings.txi: Document preference for matrix concatenation as opposed to alternatives. * doc/interpreter/geometryimages.m, doc/interpreter/interpimages.m, doc/interpreter/plotimages.m, doc/interpreter/sparseimages.m, doc/interpreter/splineimages.m, scripts/general/genvarname.m, scripts/general/int2str.m, scripts/general/num2str.m, scripts/help/__makeinfo__.m, scripts/help/help.m, scripts/miscellaneous/copyfile.m, scripts/miscellaneous/dir.m, scripts/miscellaneous/edit.m, scripts/miscellaneous/fact.m, scripts/miscellaneous/fullfile.m, scripts/miscellaneous/mkoctfile.m, scripts/miscellaneous/movefile.m, scripts/miscellaneous/perl.m, scripts/miscellaneous/python.m, scripts/miscellaneous/run.m, scripts/miscellaneous/tempdir.m, scripts/miscellaneous/unpack.m, scripts/pkg/private/configure_make.m, scripts/pkg/private/create_pkgadddel.m, scripts/pkg/private/extract_pkg.m, scripts/pkg/private/get_description.m, scripts/pkg/private/get_forge_pkg.m, scripts/pkg/private/getarch.m, scripts/pkg/private/getarchprefix.m, scripts/pkg/private/install.m, scripts/pkg/private/installed_packages.m, scripts/pkg/private/load_packages_and_dependencies.m, scripts/pkg/private/rebuild.m, scripts/pkg/private/repackage.m, scripts/pkg/private/shell.m, scripts/pkg/private/uninstall.m, scripts/plot/private/__go_draw_axes__.m, scripts/signal/spectral_adf.m, scripts/signal/spectral_xdf.m, scripts/statistics/tests/z_test.m, scripts/statistics/tests/z_test_2.m, scripts/strings/mat2str.m, scripts/strings/strtok.m, scripts/testfun/__run_test_suite__.m, scripts/testfun/assert.m, scripts/testfun/demo.m, scripts/testfun/speed.m, scripts/testfun/test.m, test/eval-catch.tst, test/io.tst, test/try.tst: Replace cstrcat() with matrix concatenation where possible.
author Rik <rik@octave.org>
date Wed, 17 Jul 2013 14:02:32 -0700
parents 5d3a684236b0
children bc924baa2c4e
comparison
equal deleted inserted replaced
16993:78f57b14535c 16994:333243133364
101 else 101 else
102 s = sprintf (fmt, x); 102 s = sprintf (fmt, x);
103 endif 103 endif
104 else 104 else
105 ## Non-scalar X, print brackets 105 ## Non-scalar X, print brackets
106 fmt = cstrcat (fmt, " "); 106 fmt = [fmt " "];
107 if (x_iscomplex) 107 if (x_iscomplex)
108 t = x.'; 108 t = x.';
109 s = sprintf (fmt, [real(t(:))'; imag(t(:))']); 109 s = sprintf (fmt, [real(t(:))'; imag(t(:))']);
110 elseif (x_islogical) 110 elseif (x_islogical)
111 t = v(x+1); 111 t = v(x+1);
112 s = cstrcat (sprintf (fmt, t{:})); 112 s = cstrcat (sprintf (fmt, t{:}));
113 else 113 else
114 s = sprintf (fmt, x.'); 114 s = sprintf (fmt, x.');
115 endif 115 endif
116 116
117 s = cstrcat ("[", s); 117 s = ["[" s];
118 s(end) = "]"; 118 s(end) = "]";
119 idx = strfind (s, " "); 119 idx = strfind (s, " ");
120 nc = columns (x); 120 nc = columns (x);
121 s(idx(nc:nc:end)) = ";"; 121 s(idx(nc:nc:end)) = ";";
122 endif 122 endif
123 123
124 if (strcmp ("class", cls)) 124 if (strcmp ("class", cls))
125 s = cstrcat (class (x), "(", s, ")"); 125 s = [class(x) "(" s ")"];
126 endif 126 endif
127 127
128 endfunction 128 endfunction
129 129
130 130