diff --git a/src/@dates/mtimes.m b/src/@dates/mtimes.m index 513915b3283f7210ce25f53063de36a56709c75f..a83465b599182031282e3f6c9a559662e9175f85 100644 --- a/src/@dates/mtimes.m +++ b/src/@dates/mtimes.m @@ -1,29 +1,25 @@ -function B = mtimes(A,n) +function p = mtimes(o,n) % --*-- Unitary tests --*-- -% Overloads the times operator (*). Returns dates object A replicated n times. +% Overloads the times operator (*). Returns dates object o replicated n times. % % INPUTS -% o A dates object with m elements. +% - o [dates] object with m elements. % % OUTPUTS -% o B dates object with m*n elements. +% - p [dates] object with m*n elements. % -% EXAMPLE 1 -% If A = dates('2000Q1'), then B=A*3 is a dates object equal to dates('2000Q1','2000Q1','2000Q1') -% -% EXAMPLE 2 -% If A = dates('2003Q1','2009Q2'), then B=A*2 is a dates object equal to dates('2003Q1','2009Q2','2003Q1','2009Q2') +% EXAMPLES +% 1. If A = dates('2000Q1'), then B=A*3 is a dates object equal to dates('2000Q1','2000Q1','2000Q1') +% 2. If A = dates('2003Q1','2009Q2'), then B=A*2 is a dates object equal to dates('2003Q1','2009Q2','2003Q1','2009Q2') -% Copyright (C) 2013 Dynare Team -% -% This file is part of Dynare. +% Copyright (C) 2013-2014 Dynare Team % -% Dynare is free software: you can redistribute it and/or modify +% 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 % 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, +% Dynare dates submodule 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. @@ -32,8 +28,21 @@ function B = mtimes(A,n) % along with Dynare. If not, see <http://www.gnu.org/licenses/>. if ~(isscalar(n) && isint(n)) - error('dates::m: First and second input arguments have to be a dates object and a scalar integer!') + error('dates:mtimes:ArgCheck','First and second input arguments have to be a dates object and a scalar integer!') end -B = A; -B.time = repmat(A.time,n,1); -B.ndat = A.ndat*n; \ No newline at end of file + +p = copy(o); +p.time = repmat(p.time, n, 1); +p.ndat = o.ndat*n; + +%@test:1 +%$ % Define some dates +%$ d = dates('1950q2','1950q3'); +%$ e = dates('1950q2','1950q3')+dates('1950q2','1950q3'); +%$ f = d*2; +%$ i = isequal(e, f); +%$ +%$ % Check the results. +%$ t(1) = dassert(i,true); +%$ T = all(t); +%@eof:1