view examples/code/@polynomial/set.m @ 21070:fd97ed44f2da

doc: Use more coding conventions in Object Oriented reference example code. * examples/code/@FIRfilter/FIRfilter.m, examples/code/@FIRfilter/FIRfilter_aggregation.m, examples/code/@FIRfilter/subsasgn.m, examples/code/@FIRfilter/subsref.m, examples/code/@polynomial/display.m, examples/code/@polynomial/double.m, examples/code/@polynomial/get.m, examples/code/@polynomial/mtimes.m, examples/code/@polynomial/numel.m, examples/code/@polynomial/polynomial.m, examples/code/@polynomial/polynomial_superiorto.m, examples/code/@polynomial/polyval.m, examples/code/@polynomial/roots.m, examples/code/@polynomial/set.m, examples/code/@polynomial/subsasgn.m, examples/code/@polynomial/subsref.m: Remove "Function File" from deftypefn. Use names of variables in error messages. Surround invalid items in error messages with single quotes. Use meaningful variable names.
author Rik <rik@octave.org>
date Thu, 14 Jan 2016 09:59:07 -0800
parents 73ab962bc52d
children
line wrap: on
line source

function pout = set (p, varargin)

  if (numel (varargin) < 2 || rem (numel (varargin), 2) != 0)
    error ("@polynomial/set: expecting PROPERTY/VALUE pairs");
  endif

  pout = p;
  while (numel (varargin) > 1)
    prop = varargin{1};
    val  = varargin{2};
    varargin(1:2) = [];
    if (! ischar (prop) || ! strcmp (prop, "poly"))
      error ("@polynomial/set: invalid PROPERTY for polynomial class");
    elseif (! (isreal (val) && isvector (val)))
      error ("@polynomial/set: VALUE must be a real vector");
    endif

    pout.poly = val(:).';  # force row vector
  endwhile

endfunction