0001 function DS=DSpace(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 switch nargin
0015 case 1
0016 if isa(varargin{1},'DSpace')
0017 DS=varargin{1};
0018 else
0019 if isa(varargin{1},'double')
0020 DS.max=varargin{1};
0021
0022 DS.values=cell(1,DS.max);
0023 for i=1:DS.max
0024 DS.values{i}=i;
0025 end
0026 DS=class(DS,'DSpace');
0027 else
0028 if isa(varargin{1},'cell')
0029 DS.max=size(varargin{1},2);
0030 DS.values=varargin{1};
0031 DS=class(DS,'DSpace');
0032 else
0033 error('Wrong type of parameters in DSpace constructor');
0034 end
0035 end
0036 end
0037 case 2
0038 if isa(varargin{1},'double') && isa(varargin{2},'cell')
0039 DS.max=varargin{1};
0040 DS.values=varargin{2};
0041 if size(DS.values,2)~=DS.max
0042 error('Size missmatch in DSpace constructor');
0043 end
0044 DS=class(DS,'DSpace');
0045 else
0046 error('Wrong type of parameters in DSpace constructor');
0047 end
0048 otherwise
0049 error('Wrong number of parameters in DSpace constructor');
0050 end
0051