From 03a409517a9dc373eec8a0b6c98480f0fc8c145c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Scylla=29?= <stephane.adjemian@univ-lemans.fr> Date: Tue, 10 Oct 2017 15:43:05 +0200 Subject: [PATCH] Changed behaviour of eq (==) overload method. If non singleton objects have different number of elements, return false instead of raising an error message. --- src/@dates/eq.m | 5 +++++ src/@dates/private/comparison_arg_checks.m | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/@dates/eq.m b/src/@dates/eq.m index cb94169..58ef96b 100644 --- a/src/@dates/eq.m +++ b/src/@dates/eq.m @@ -24,6 +24,11 @@ function l = eq(varargin) % --*-- 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 varargin{1}.ndat>1 && varargin{2}.ndat>1 && ~isequal(varargin{1}.ndat, varargin{2}.ndat) + l = false; + return +end + [o, p] = comparison_arg_checks(varargin{:}); if isequal(o.ndat(), p.ndat()) diff --git a/src/@dates/private/comparison_arg_checks.m b/src/@dates/private/comparison_arg_checks.m index e24fba0..7fe8c05 100644 --- a/src/@dates/private/comparison_arg_checks.m +++ b/src/@dates/private/comparison_arg_checks.m @@ -41,7 +41,9 @@ end if ~isequal(varargin{1}.ndat, varargin{2}.ndat) && ~(isequal(varargin{1}.ndat,1) || isequal(varargin{2}.ndat,1)) s = dbstack; - error(sprintf('dates:%s:ArgCheck',s(2).name),'Dimensions are not consistent!') + if ~isequal(s(2).name, 'eq') + error(sprintf('dates:%s:ArgCheck',s(2).name),'Dimensions are not consistent!') + end end o = varargin{1}; -- GitLab