comparison scripts/miscellaneous/getfield.m @ 12931:cefd568ea073

Replace function handles with function names in cellfun calls for 15% speedup. * accumarray.m arrayfun.m, blkdiag.m, cell2mat.m, common_size.m, interp3.m, interpn.m, __isequal__.m, structfun.m, voronoi.m, strread.m, fullfile.m, getfield.m, __xzip__.m, setfield.m, what.m, pkg.m, axis.m, pareto.m, __ghostscript__.m, __go_draw_axes__.m, __patch__.m, refreshdata.m, whitebg.m, lcm.m, index.m, strcat.m, strmatch.m, validatestring.m: Replace function handles in calls to cellfun with double quoted function names.
author Rik <octave@nomad.inbox5.com>
date Sat, 06 Aug 2011 18:03:18 -0700
parents c792872f8942
children 72c96de7a403
comparison
equal deleted inserted replaced
12930:7bd29d875af1 12931:cefd568ea073
48 function obj = getfield (s, varargin) 48 function obj = getfield (s, varargin)
49 if (nargin < 2) 49 if (nargin < 2)
50 print_usage (); 50 print_usage ();
51 endif 51 endif
52 subs = varargin; 52 subs = varargin;
53 flds = cellfun (@ischar, subs); 53 flds = cellfun ("isclass", subs, "char");
54 idxs = cellfun (@iscell, subs); 54 idxs = cellfun ("isclass", subs, "cell");
55 if (all (flds | idxs)) 55 if (all (flds | idxs))
56 typs = merge (flds, {"."}, {"()"}); 56 typs = merge (flds, {"."}, {"()"});
57 obj = subsref (s, struct ("type", typs, "subs", subs)); 57 obj = subsref (s, struct ("type", typs, "subs", subs));
58 else 58 else
59 error ("getfield: invalid index"); 59 error ("getfield: invalid index");