Mercurial > octave-nkf
view examples/@polynomial/subsasgn.m @ 18846:492c56149535 stable rc-3-8-2-1
3.8.2 release candidate 1
* configure.ac (OCTAVE_VERSION): Bump to 3.8.2-rc1.
(OCTAVE_MINOR_VERSION): Bump to 2-rc1.
(OCTAVE_RELEASE_DATE): Set to 2014-06-06.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 06 Jun 2014 11:43:17 -0400 |
parents | bf6da2fbfa4e |
children | 446c46af4b42 |
line wrap: on
line source
function p = subsasgn (p, s, val) if (length (s) < 1) error ("polynomial: needs index"); endif switch (s(1).type) case "{}" ind = s(1).subs; if (numel (ind) != 1) error ("polynomial: need exactly one index"); else if (length (s) == 1) if (isnumeric (ind{1})) p.poly(ind{1}+1) = val; else p.poly(ind{1}) = val; endif else error ("polynomial: chained subscripts not allowed for {}"); endif endif case "." fld = s(1).subs; if (strcmp (fld, "poly")) if (length (s) == 1) p.poly = val; else p.poly = subsasgn (p.poly, s(2:end), val); endif else error ("@polynomial/subsref: invalid property \"%s\"", fld); endif otherwise error ("invalid subscript type"); endswitch endfunction