From ec21208ed76347f99e6029668d491560d495945a Mon Sep 17 00:00:00 2001
From: Houtan Bastani <houtan@dynare.org>
Date: Wed, 27 Feb 2019 15:10:48 +0100
Subject: [PATCH] pac: specify type of variables in non optimizing part of
 equation

---
 src/DynamicModel.cc | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index 6da7c765..aa151b56 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -3708,6 +3708,21 @@ DynamicModel::writeOutput(ostream &output, const string &basename, bool block_de
                  << modstruct << "pac." << substruct << "non_optimizing_behaviour.vars = [";
           for (auto & it : non_optim_vars_params_and_constants)
             output << symbol_table.getTypeSpecificID(get<0>(it)) + 1 << " ";
+          output << "];" << endl
+                 << modstruct << "pac." << substruct << "non_optimizing_behaviour.type = [";
+          for (auto & it : non_optim_vars_params_and_constants)
+            switch (symbol_table.getType(get<0>(it)))
+              {
+              case SymbolType::endogenous:
+                output << "1 ";
+                break;
+              case SymbolType::exogenous:
+                output << "0 ";
+                break;
+              default:
+                cerr << "expecting endogenous or exogenous" << endl;
+                exit(EXIT_FAILURE);
+              }
           output << "];" << endl
                  << modstruct << "pac." << substruct << "non_optimizing_behaviour.lags = [";
           for (auto & it : non_optim_vars_params_and_constants)
-- 
GitLab