Home > classes > @zero > set.m

set

PURPOSE ^

SET set a zero property.

SYNOPSIS ^

function p = set(p, varargin)

DESCRIPTION ^

 SET set a zero property.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 DESCRIPTION: SET a history property.

 CALL: z = set(z, 'name',    'name');
       z = set(z, 'f',        f);
       z = set(z, 'q',        q);
       z = set(z, 'ri',       ri);
       z = set(z, 'version', 'plist/set.m,v 1.7...');
       z = set(z, 'created',  time-object);

 VERSION: $Id: set.m,v 1.6 2007/10/16 17:37:21 ingo Exp $

 HISTORY: 30-01-07 M Hewitson
             Creation

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function p = set(p, varargin)
0002 % SET set a zero property.
0003 %
0004 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0005 %
0006 % DESCRIPTION: SET a history property.
0007 %
0008 % CALL: z = set(z, 'name',    'name');
0009 %       z = set(z, 'f',        f);
0010 %       z = set(z, 'q',        q);
0011 %       z = set(z, 'ri',       ri);
0012 %       z = set(z, 'version', 'plist/set.m,v 1.7...');
0013 %       z = set(z, 'created',  time-object);
0014 %
0015 % VERSION: $Id: set.m,v 1.6 2007/10/16 17:37:21 ingo Exp $
0016 %
0017 % HISTORY: 30-01-07 M Hewitson
0018 %             Creation
0019 %
0020 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0021 
0022 VERSION = '$Id: set.m,v 1.6 2007/10/16 17:37:21 ingo Exp $';
0023 
0024 % Check if this is a call for parameters or for the cvs-version number
0025 if nargin == 2
0026   if isa(p, 'zero') && ischar(varargin{1})
0027     in = char(varargin{1});
0028     if strcmp(in, 'Params')
0029       p = plist();
0030       return
0031     elseif strcmp(in, 'Version')
0032       p = VERSION;
0033       return
0034     end
0035   end
0036 end
0037 
0038 if (nargout ~= 0)
0039 
0040   propArgin = varargin;
0041   while length(propArgin) >= 2
0042     prop = varargin{1};
0043     val  = varargin{2};
0044     propArgin = propArgin(3:end);
0045     switch prop
0046       case 'name'
0047         p.name = val;
0048       case 'version'
0049         p.version = val;
0050       case 'created'
0051         p.created = val;
0052       case 'f'
0053         p.f = val;
0054         p.ri = pfq2ri(p.f, p.q);
0055       case 'q'
0056         p.q = val;
0057         p.ri = pfq2ri(p.f, p.q);
0058       case 'ri'
0059         if length(val) == 1
0060           p.ri = [val conj(val)];
0061         else
0062           p.ri = val;
0063         end
0064         [p.f, p.q] = pri2fq(p.ri);
0065       otherwise
0066         error([val, ' is not a property of zero class']);
0067     end
0068   end
0069 
0070 else
0071   if ischar(varargin{2})
0072     error('### please use: %s = set(%s, ''%s'', ''%s'');', ...
0073                         inputname(1), ...
0074                         inputname(1), ...
0075                         varargin{1},  ...
0076                         varargin{2});
0077   elseif isnumeric(varargin{2})
0078     error('### please use: %s = set(%s, ''%s'', %d);', ...
0079                         inputname(1), ...
0080                         inputname(1), ...
0081                         varargin{1},  ...
0082                         varargin{2});
0083   else
0084     error('### please use: %s = set(%s, key, ''value'');', ...
0085                         inputname(1), ...
0086                         inputname(1));
0087   end
0088 end

Generated on Fri 02-Nov-2007 19:39:27 by m2html © 2003