From c98eaebe33b881be1d18b0c318d8ec5545fadc1c Mon Sep 17 00:00:00 2001
From: Johannes Pfeifer <jpfeifer@gmx.de>
Date: Fri, 31 Jan 2025 15:25:04 +0100
Subject: [PATCH] Restore dsample.m

This partially reverts commit af274aec3fd64158cd8b7a5decb1b6932e3643c5
---
 matlab/dsample.m | 57 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)
 create mode 100644 matlab/dsample.m

diff --git a/matlab/dsample.m b/matlab/dsample.m
new file mode 100644
index 0000000000..b95e54ce99
--- /dev/null
+++ b/matlab/dsample.m
@@ -0,0 +1,57 @@
+function dsample(s1,s2)
+% function dsample(s1,s2)
+% This optional command permits to reduce the number of periods considered in following output commands.
+% If only one argument is provided, output is from period 1 to the period specified in the DSAMPLE command.
+% If two arguments are present output is done for the interval between the two periods.
+% DSAMPLE without arguments reset the sample to the one specified by PERIODS
+%
+% INPUTS
+%    s1:      first period
+%    s2:      last period
+%
+% OUTPUTS
+%    none
+%
+% SPECIAL REQUIREMENTS
+%    none
+% Note: this is a standalone command documented in the manual
+
+% Copyright © 2001-2025 Dynare Team
+%
+% This file is part of Dynare.
+%
+% Dynare 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,
+% 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.
+%
+% You should have received a copy of the GNU General Public License
+% along with Dynare.  If not, see <https://www.gnu.org/licenses/>.
+
+global options_
+
+options_.smpl = zeros(2,1) ;
+
+if nargin == 0
+    options_.smpl(1) = 1 ;
+    options_.smpl(2) = options_.periods ;
+elseif nargin == 1
+    if s1 > options_.periods
+        error('DSAMPLE: argument greater than number of periods');
+    end
+    options_.smpl(1) = 1 ;
+    options_.smpl(2) = s1 ;
+else
+    if s1 > options_.periods || s2 > options_.periods
+        error('DSAMPLE: one of the arguments is greater than number of periods');
+    end
+    options_.smpl(1) = s1 ;
+    options_.smpl(2) = s2 ;
+end
+
+% 02/23/01 MJ added error checking
\ No newline at end of file
-- 
GitLab