From 3ec1d151070133d72a1e99ec05def4dcdbb3b7e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Mon, 2 Mar 2020 17:10:58 +0100
Subject: [PATCH] =?UTF-8?q?Fix=20interaction=20of=20=E2=80=9Cpredetermined?=
 =?UTF-8?q?=5Fvariables=E2=80=9D=20with=20=E2=80=9Chistval=E2=80=9D=20(pre?=
 =?UTF-8?q?processor#47)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Also add a corresponding regression test case.
---
 preprocessor                    |  2 +-
 tests/Makefile.am               |  1 +
 tests/histval_predetermined.mod | 60 +++++++++++++++++++++++++++++++++
 3 files changed, 62 insertions(+), 1 deletion(-)
 create mode 100644 tests/histval_predetermined.mod

diff --git a/preprocessor b/preprocessor
index 2a048a487c..7d1a467aa3 160000
--- a/preprocessor
+++ b/preprocessor
@@ -1 +1 @@
-Subproject commit 2a048a487c02ee420e20a0082abb8cb411b562bc
+Subproject commit 7d1a467aa30427afeac638975a80fc4df58ba1d4
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 6ff0f0a934..5c2c56001d 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -114,6 +114,7 @@ MODFILES = \
 	comments.mod \
 	histval_sto.mod \
 	histval_det.mod \
+	histval_predetermined.mod \
 	auxiliary_variables/test1.mod \
 	expectations/expectation.mod \
 	expectations/expectation_ss.mod \
diff --git a/tests/histval_predetermined.mod b/tests/histval_predetermined.mod
new file mode 100644
index 0000000000..51ac05cf8f
--- /dev/null
+++ b/tests/histval_predetermined.mod
@@ -0,0 +1,60 @@
+/* Check that histval and predetermined_variables interact correctly, in the
+   case where no explicit lag appears in the model block (though lags appear
+   implicitly via the “predetermined_variables” statement).
+
+   This is a regression test for preprocessor#47.
+*/
+
+var y, c, k, a, h, b;
+varexo e, u;
+
+predetermined_variables a b k;
+
+parameters beta, rho, alpha, delta, theta, psi, tau;
+
+alpha = 0.36;
+rho   = 0.95;
+tau   = 0.025;
+beta  = 0.99;
+delta = 0.025;
+psi   = 0;
+theta = 2.95;
+
+phi   = 0.1;
+
+model;
+c*theta*h^(1+psi)=(1-alpha)*y;
+k(+1) = beta*(((exp(b(+1))*c)/(exp(b(+2))*c(+1)))
+        *(exp(b(+2))*alpha*y(+1)+(1-delta)*k(+1)));
+y = exp(a(+1))*(k^alpha)*(h^(1-alpha));
+k = exp(b(+1))*(y-c)+(1-delta)*k;
+a(+1) = rho*a+ e;
+b(+1) = rho*b+ u;
+end;
+
+initval;
+y = 1.08068253095672;
+c = 0.80359242014163;
+h = 0.29175631001732;
+k = 11.08360443260358;
+a = 0;
+b = 0;
+e = 0;
+u = 0;
+end;
+
+shocks;
+var e; stderr 0.009;
+var u; stderr 0.009;
+var e, u = phi*0.009*0.009;
+end;
+
+histval;
+b(0) = 0.1;
+a(0) = 0.3;
+end;
+
+stoch_simul(nograph, periods = 200);
+
+forecast;
+
-- 
GitLab