diff --git a/src/@dseries/lag_.m b/src/@dseries/lag_.m index 9c2487c50056e0c91d449e6d9bbe8f6c5f9ac245..1cd1a05d44473dede7d3b7291fba279b42b31244 100644 --- a/src/@dseries/lag_.m +++ b/src/@dseries/lag_.m @@ -50,10 +50,16 @@ if p<0 error('dseries:WrongInputArguments','Second input argument must be non negative! Use lead method instead.') end +% Check that p is an integer if ~isint(p) error('dseries:WrongInputArguments','Second input argument must be an integer!') end +% Return without changing anything if p==0 +if ~p + return +end + % Update data member o.data = [NaN(p, vobs(o)); o.data(1:end-p,:)]; @@ -81,4 +87,22 @@ end %$ end %$ %$ T = all(t); -%@eof:1 \ No newline at end of file +%@eof:1 + +%@test:2 +%$ try +%$ data = transpose(0:1:50); +%$ ts = dseries(data,'1950Q1'); +%$ ts.lag_(0); +%$ t(1) = 1; +%$ catch +%$ t(1) = 0; +%$ end +%$ +%$ if t(1) +%$ t(2) = dassert(ts.data,data,1e-15); +%$ t(3) = isempty(ts.ops) +%$ end +%$ +%$ T = all(t); +%@eof:2 \ No newline at end of file diff --git a/src/@dseries/lead_.m b/src/@dseries/lead_.m index 1a098bf049013f91f4e026d2c3e16d6ed4eda9d4..2c5aebe4b84cb69b24b9e0d733466cae2eec8228 100644 --- a/src/@dseries/lead_.m +++ b/src/@dseries/lead_.m @@ -50,10 +50,16 @@ if p<0 error('dseries:WrongInputArguments','Second input argument must be non negative! Use lag method instead.') end +% Check that p is an integer if ~isint(p) error('dseries:WrongInputArguments','Second input argument must be an integer!') end +% Return without changing anything if p==0 +if ~p + return +end + % Update data member o.data = [ o.data(p+1:end,:); NaN(p, vobs(o));]; @@ -98,4 +104,22 @@ end %$ end %$ %$ T = all(t); -%@eof:2 \ No newline at end of file +%@eof:2 + +%@test:3 +%$ try +%$ data = transpose(0:1:50); +%$ ts = dseries(data,'1950Q1'); +%$ ts.lead_(0); +%$ t(1) = 1; +%$ catch +%$ t(1) = 0; +%$ end +%$ +%$ if t(1) +%$ t(2) = dassert(ts.data,data,1e-15); +%$ t(3) = isempty(ts.ops) +%$ end +%$ +%$ T = all(t); +%@eof:3 \ No newline at end of file