From 21fa2b949d74ecf598fecd30a40c172e1cc60baf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?= Date: Thu, 10 Oct 2013 15:52:50 +0200 Subject: [PATCH] Rewrote @dynDates::eq method so that it handles correctly objects with only one element. --- matlab/@dynDates/eq.m | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/matlab/@dynDates/eq.m b/matlab/@dynDates/eq.m index e0d4f4d7c..f3c705a5d 100644 --- a/matlab/@dynDates/eq.m +++ b/matlab/@dynDates/eq.m @@ -41,7 +41,7 @@ function C = eq(A,B) % --*-- Unitary tests --*-- % You should have received a copy of the GNU General Public License % along with Dynare. If not, see . -if nargin~=2 +if ~isequal(nargin,2) error('dynDates::eq: I need exactly two input arguments!') end @@ -54,13 +54,16 @@ if ~isequal(A.freq,B.freq) return end -if ~isequal(A.ndat,B.ndat) - C = 0; - return +if isequal(A.ndat, B.ndat) + C = isequal(A.time, B.time); +else + if isequal(A.ndat,1) || isequal(B.ndat,1) + C = transpose(all(transpose(bsxfun(@eq,A.time,B.time)))); + else + C = 0; + end end -C = isequal(A.time,B.time); - %@test:1 %$ % Define some dynDates objects %$ d1 = dynDate('1950Q1'):dynDate('1959Q4') ;