Add display method for dynDate and dynDates classes

time-shift
Sébastien Villemot 2013-02-05 14:49:30 +01:00
parent 3a599aee84
commit cfa28a58d3
2 changed files with 85 additions and 0 deletions

36
matlab/@dynDate/display.m Normal file
View File

@ -0,0 +1,36 @@
function display(d)
% Copyright (C) 2013 Dynare Team
%
% This file is part of Dynare.
%
% Dynare is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% Dynare is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
fprintf('%s = <dynDate: %d', inputname(1), d.time(1));
switch d.freq
case 1
case 4
fprintf('Q')
case 12
fprintf('M')
case 52
fprintf('W')
otherwise
error('Unknown frequency %d', d.freq)
end
if d.freq ~= 1
fprintf('%d', d.time(2))
end
fprintf('>\n')
end

View File

@ -0,0 +1,49 @@
function display(dd)
% Copyright (C) 2013 Dynare Team
%
% This file is part of Dynare.
%
% Dynare is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% Dynare is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
max_displayed = 5;
fprintf('%s = <dynDates: ', inputname(1));
for i = 1:min(max_displayed, dd.ndat)
fprintf('%d', dd.time(i,1))
switch dd.freq
case 1
case 4
fprintf('Q')
case 12
fprintf('M')
case 52
fprintf('W')
otherwise
error('Unknown frequency %d', dd.freq)
end
if dd.freq ~= 1
fprintf('%d', dd.time(i,2))
end
if i ~= min(dd.ndat, max_displayed)
fprintf(', ')
end
end
if dd.ndat > max_displayed
fprintf(', ...')
end
fprintf('>\n')
end