0001 function h = history(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 ALGONAME = mfilename;
0026 VERSION = '$Id: history.html,v 1.1 2007/06/08 14:15:05 hewitson Exp $';
0027
0028
0029 if nargin == 0
0030 h.name = 'None';
0031 h.version = VERSION;
0032 h.plist = plist();
0033 h.inhists = [];
0034 h.invars = {};
0035 h.n = -1;
0036 h.pn = -1;
0037 h.created = sprintf('%s', datestr(now));
0038 h.consver = VERSION;
0039 h = class(h, 'history');
0040 elseif nargin == 1
0041 if isstruct(varargin{1})
0042 hstruct = varargin{1};
0043 h.name = hstruct.name;
0044 h.version = hstruct.version;
0045 pl = hstruct.plist;
0046 if isstruct(pl)
0047 pl = plist(pl);
0048 end
0049 h.plist = pl;
0050 inh = hstruct.inhists;
0051 inhists = [];
0052 for j=1:length(inh)
0053 if isstruct(inh(j))
0054 inhists = [inhists history(inh(j))];
0055 else
0056 inhists = [inhists inh(j)];
0057 end
0058 end
0059 h.inhists = inhists;
0060 h.invars = hstruct.invars;
0061 h.n = hstruct.n;
0062 h.pn = hstruct.pn;
0063 h.created = hstruct.created;
0064 h.consver = hstruct.consver;
0065 h = class(h, 'history');
0066 else
0067 h = varargin{1};
0068 h.consver = VERSION;
0069 end
0070 elseif nargin == 2
0071 h.name = varargin{1};
0072 h.version = varargin{2};
0073 h.plist = plist();
0074 h.inhists = [];
0075 h.invars = {};
0076 h.n = -1;
0077 h.pn = -1;
0078 h.created = sprintf('%s', datestr(now));
0079 h.consver = VERSION;
0080 h = class(h, 'history');
0081 elseif nargin == 3
0082 h.name = varargin{1};
0083 h.version = varargin{2};
0084 h.plist = varargin{3};
0085 h.inhists = [];
0086 h.invars = {};
0087 h.n = -1;
0088 h.pn = -1;
0089 h.created = sprintf('%s', datestr(now));
0090 h.consver = VERSION;
0091 h = class(h, 'history');
0092 elseif nargin == 4
0093 h.name = varargin{1};
0094 h.version = varargin{2};
0095 h.plist = varargin{3};
0096 h.inhists = varargin{4};
0097 h.invars = {};
0098 h.n = -1;
0099 h.pn = -1;
0100 h.created = sprintf('%s', datestr(now));
0101 h.consver = VERSION;
0102 h = class(h, 'history');
0103 else
0104 error('### Unknown number of constructor arguments.');
0105 end
0106