Skip to content
Snippets Groups Projects
Verified Commit 6414f157 authored by Stéphane Adjemian's avatar Stéphane Adjemian
Browse files

Updated rdouble method.

Also removed reference to weekly frequency.
parent 21e0ecdd
No related branches found
No related tags found
No related merge requests found
......@@ -8,12 +8,12 @@ function [m, f] = double(o) % --*-- Unitary tests --*--
%
% OUTPUTS
% - m [double] o.ndat*1 vector of doubles.
% - f [integer] scalar, the frequency (1, 4, 12 or 52).
% - f [integer] scalar, the frequency (1, 4, or 12).
%
% REMARKS
% Obviously the frequency is lost during the conversion.
% Copyright (C) 2013-2017 Dynare Team
% Copyright © 2013-2020 Dynare Team
%
% This code is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
......@@ -28,48 +28,54 @@ function [m, f] = double(o) % --*-- Unitary tests --*--
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
if o.freq==365
error('This method is not implemented for daily frequency.')
end
m = o.time(:,1)+(o.time(:,2)-1)/o.freq;
if nargout>1
f = o.freq;
end
return
%@test:1
%$ % Define a dates object
%$ B = dates('1950Q1'):dates('1951Q1');
%$
%$ % Call the tested routine.
%$ try
%$ C = double(B);
%$ t(1) = 1;
%$ catch
%$ t(1) = 0;
%$ end
%$
%$ % Define expected results.
%$ E = [ones(4,1)*1950; 1951];
%$ E = E + [(transpose(1:4)-1)/4; 0];
%$ if t(1)
%$ t(2) = dassert(C,E);
%$ end
%$ T = all(t);
% Define a dates object
B = dates('1950Q1'):dates('1951Q1');
% Call the tested routine.
try
C = double(B);
t(1) = 1;
catch
t(1) = 0;
end
% Define expected results.
E = [ones(4,1)*1950; 1951];
E = E + [(transpose(1:4)-1)/4; 0];
if t(1)
t(2) = isequal(C,E);
end
T = all(t);
%@eof:1
%@test:2
%$ % Call the tested routine.
%$ try
%$ C = NaN(2,1);
%$ C(1) = double(dates('1950Q1'));
%$ C(2) = double(dates('1950Q2'));
%$ t(1) = 1;
%$ catch
%$ t(1) = 0;
%$ end
%$
%$ % Define expected results.
%$ E = ones(2,1)*1950;
%$ E = E + [0; .25];
%$ if t(1)
%$ t(2) = dassert(C,E);
%$ end
%$ T = all(t);
% Call the tested routine.
try
C = NaN(2,1);
C(1) = double(dates('1950Q1'));
C(2) = double(dates('1950Q2'));
t(1) = 1;
catch
t(1) = 0;
end
% Define expected results.
E = ones(2,1)*1950;
E = E + [0; .25];
if t(1)
t(2) = isequal(C,E);
end
T = all(t);
%@eof:2
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment