From a2cef7009df79b7ee1f1c0dbd0d290e64e8fad58 Mon Sep 17 00:00:00 2001
From: sebastien <sebastien@ac1d8469-bf42-47a9-8791-bf33cf982152>
Date: Wed, 25 Nov 2009 10:22:39 +0000
Subject: [PATCH] Fixes for ticket #57
preprocessor:
* add a field "M_.orig_endo_nbr" containing the nbr of endogenous before adding aux vars
* always provide "M_.aux_vars" (define it to "[]" when there is no aux var)
* rename "M_.aux_vars().orig_endo_index" to "M_.aux_vars().orig_index"
M-files:
* for commands which accept a list of variables (stoch_simul, osr, estimation, dynasave, dynatype, datatomfile), when no variable is given, use only the set of original endogenous (without aux vars) as the default
* when displaying the decision rule, when there is aux vars in the state variables, replace them by their original name (with the right lag)
* in "steady", don't display aux vars
* special exception for ramsey policy: all vars (including aux vars) are displayed, because the system of aux vars from ramsey policy is not compatible with the aux vars from the preprocessor
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3166 ac1d8469-bf42-47a9-8791-bf33cf982152
---
matlab/UnivariateSpectralDensity.m | 10 ++-
.../add_auxiliary_variables_to_steadystate.m | 2 +-
matlab/check_list_of_variables.m | 2 +-
matlab/datatomfile.m | 14 ++--
matlab/disp_dr.m | 71 ++++++++++++-------
matlab/disp_dr_sparse.m | 71 +++++++++++++------
matlab/disp_moments.m | 23 +++---
matlab/disp_th_moments.m | 23 ++----
matlab/dr1.m | 2 +
matlab/dr1_sparse.m | 2 +
matlab/dyn_ramsey_dynamic_.m | 9 ++-
matlab/dynare_estimation_1.m | 2 +-
matlab/dynasave.m | 15 ++--
matlab/dynatype.m | 13 ++--
matlab/evaluate_likelihood.m | 2 +-
matlab/forcst.m | 11 ++-
matlab/forcst_unc.m | 9 ++-
matlab/forecast.m | 8 +--
matlab/forecast_graphs.m | 6 +-
matlab/initial_estimation_checks.m | 7 +-
matlab/model_diagnostics.m | 2 +-
matlab/osr1.m | 4 +-
matlab/prior_posterior_statistics.m | 10 +--
matlab/resid.m | 2 +-
matlab/resol.m | 2 +-
matlab/steady.m | 4 +-
matlab/steady_.m | 2 +-
matlab/stoch_simul.m | 17 +++--
matlab/stoch_simul_sparse.m | 20 +++---
matlab/varlist_indices.m | 7 +-
preprocessor/SymbolTable.cc | 52 +++++++-------
preprocessor/SymbolTable.hh | 12 ++--
32 files changed, 225 insertions(+), 211 deletions(-)
diff --git a/matlab/UnivariateSpectralDensity.m b/matlab/UnivariateSpectralDensity.m
index 818063ad91..671b258203 100644
--- a/matlab/UnivariateSpectralDensity.m
+++ b/matlab/UnivariateSpectralDensity.m
@@ -5,7 +5,7 @@ function [omega,f] = UnivariateSpectralDensity(dr,var_list)
%
% Adapted from th_autocovariances.m.
-% Copyright (C) 2006-2008 Dynare Team
+% Copyright (C) 2006-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -48,11 +48,10 @@ end
if nargin<2
var_list = [];
end
+if size(var_list,1) == 0
+ var_list = M_.endo_names(1:M_.orig_endo_nbr, :);
+end
nvar = size(var_list,1);
-if nvar == 0
- nvar = length(dr.order_var);
- ivar = [1:nvar]';
-else
ivar=zeros(nvar,1);
for i=1:nvar
i_tmp = strmatch(var_list(i,:),M_.endo_names,'exact');
@@ -62,7 +61,6 @@ else
ivar(i) = i_tmp;
end
end
-end
f = zeros(nvar,GridSize);
ghx = dr.ghx;
ghu = dr.ghu;
diff --git a/matlab/add_auxiliary_variables_to_steadystate.m b/matlab/add_auxiliary_variables_to_steadystate.m
index bfd43964f6..f010d12d11 100644
--- a/matlab/add_auxiliary_variables_to_steadystate.m
+++ b/matlab/add_auxiliary_variables_to_steadystate.m
@@ -25,7 +25,7 @@ function ys1 = add_auxiliary_variables_to_steadystate(ys,aux_vars,fname, ...
aux_lead_nbr = 0;
for i=1:n
if aux_vars(i).type == 1
- ys1(k) = ys(aux_vars(i).orig_endo_index);
+ ys1(k) = ys(aux_vars(i).orig_index);
elseif aux_vars(i).type == 0
aux_lead_nbr = aux_lead_nbr + 1;
end
diff --git a/matlab/check_list_of_variables.m b/matlab/check_list_of_variables.m
index bdc9914bf7..801110ce94 100644
--- a/matlab/check_list_of_variables.m
+++ b/matlab/check_list_of_variables.m
@@ -115,7 +115,7 @@ function varlist = check_list_of_variables(options_, M_, varlist)
choice=1;
end
if choice==1
- varlist = M_.endo_names;
+ varlist = M_.endo_names(1:M_.orig_endo_nbr, :);
elseif choice==2
varlist = options_.varobs;
elseif choice==3
diff --git a/matlab/datatomfile.m b/matlab/datatomfile.m
index e968896abf..a320f1e2a3 100644
--- a/matlab/datatomfile.m
+++ b/matlab/datatomfile.m
@@ -1,5 +1,4 @@
function datatomfile (s,var_list)
-
% function datatomfile (s,var_list)
% This optional command saves the simulation results in a text file. The name of each
% variable preceeds the corresponding results. This command must follow SIMUL.
@@ -14,7 +13,7 @@ function datatomfile (s,var_list)
% SPECIAL REQUIREMENTS
% none
-% Copyright (C) 2001-2007 Dynare Team
+% Copyright (C) 2001-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -33,16 +32,13 @@ function datatomfile (s,var_list)
global M_ oo_
-%fid=fopen([s,'.m'],'w') ;
sm=[s,'.m'];
fid=fopen(sm,'w') ;
+if size(var_list,1) == 0
+ var_list = M_.endo_names(1:M_.orig_endo_nbr,:);
+end
n = size(var_list,1);
-if n == 0
- n = M_.endo_nbr;
- ivar = [1:n]';
- var_list = M_.endo_names;
-else
ivar=zeros(n,1);
for i=1:n
i_tmp = strmatch(var_list(i,:),M_.endo_names,'exact');
@@ -52,7 +48,7 @@ else
ivar(i) = i_tmp;
end
end
-end
+
for i = 1:n
diff --git a/matlab/disp_dr.m b/matlab/disp_dr.m
index b729cfdc84..22050118e6 100644
--- a/matlab/disp_dr.m
+++ b/matlab/disp_dr.m
@@ -1,6 +1,13 @@
function disp_dr(dr,order,var_list)
-
-% Copyright (C) 2001 Dynare Team
+% Display the decision rules
+%
+% INPUTS
+% dr [struct]: decision rules
+% order [int]: order of approximation
+% var_list [char array]: list of endogenous variables for which the
+% decision rules should be printed
+
+% Copyright (C) 2001-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -26,11 +33,12 @@ function disp_dr(dr,order,var_list)
k1 = dr.order_var;
+ if size(var_list,1) == 0
+ var_list = M_.endo_names(1:M_.orig_endo_nbr, :);
+ end
+
nvar = size(var_list,1);
- if nvar == 0
- nvar = length(k1);
- ivar = [1:nvar];
- else
+
ivar=zeros(nvar,1);
for i=1:nvar
i_tmp = strmatch(var_list(i,:),M_.endo_names(k1,:),'exact');
@@ -41,7 +49,7 @@ function disp_dr(dr,order,var_list)
ivar(i) = i_tmp;
end
end
- end
+
disp('POLICY AND TRANSITION FUNCTIONS')
% variable names
str = ' ';
@@ -90,7 +98,7 @@ function disp_dr(dr,order,var_list)
%
for k=1:nx
flag = 0;
- str1 = sprintf('%s(%d)',M_.endo_names(k1(klag(k,1)),:),klag(k,2)-M_.maximum_lag-2);
+ str1 = subst_auxvar(k1(klag(k,1)),klag(k,2)-M_.maximum_lag-2);
str = sprintf('%-20s',str1);
for i=1:nvar
x = dr.ghx(ivar(i),k);
@@ -130,8 +138,8 @@ function disp_dr(dr,order,var_list)
for k = 1:nx
for j = 1:k
flag = 0;
- str1 = sprintf('%s(%d),%s(%d)',M_.endo_names(k1(klag(k,1)),:),klag(k,2)-M_.maximum_lag-2, ...
- M_.endo_names(k1(klag(j,1)),:),klag(j,2)-M_.maximum_lag-2);
+ str1 = sprintf('%s,%s',subst_auxvar(k1(klag(k,1)),klag(k,2)-M_.maximum_lag-2), ...
+ subst_auxvar(k1(klag(j,1)),klag(j,2)-M_.maximum_lag-2));
str = sprintf('%-20s',str1);
for i=1:nvar
if k == j
@@ -182,7 +190,7 @@ function disp_dr(dr,order,var_list)
for k = 1:nx
for j = 1:nu
flag = 0;
- str1 = sprintf('%s(%d),%s',M_.endo_names(k1(klag(k,1)),:),klag(k,2)-M_.maximum_lag-2, ...
+ str1 = sprintf('%s,%s',subst_auxvar(k1(klag(k,1)),klag(k,2)-M_.maximum_lag-2), ...
M_.exo_names(j,:));
str = sprintf('%-20s',str1);
for i=1:nvar
@@ -200,17 +208,32 @@ function disp_dr(dr,order,var_list)
end
end
end
+end
-% $$$ dr.ghx
-% $$$ dr.ghu
-% $$$ dr.ghxx
-% $$$ dr.ghuu
-% $$$ dr.ghxu
-
-% 01/08/2001 MJ added test for order in printing quadratic terms
-% 02/21/2001 MJ pass all variable names through deblank()
-% 02/21/2001 MJ changed from f to g format to write numbers
-% 10/09/2002 MJ corrected error on constant whith subset of variables
-
-
-
+% Given the index of an endogenous (possibly an auxiliary var), and a
+% lead/lag, creates a string of the form "x(lag)".
+% In the case of auxiliary vars for lags, replace by the original variable
+% name, and compute the lead/lag accordingly.
+function str = subst_auxvar(aux_index, aux_lead_lag)
+ global M_
+
+ if aux_index <= M_.orig_endo_nbr
+ str = sprintf('%s(%d)', deblank(M_.endo_names(aux_index,:)), aux_lead_lag);
+ return
+ end
+ for i = 1:length(M_.aux_vars)
+ if M_.aux_vars(i).endo_index == aux_index
+ switch M_.aux_vars(i).type
+ case 1
+ orig_name = deblank(M_.endo_names(M_.aux_vars(i).orig_index, :));
+ case 3
+ orig_name = deblank(M_.exo_names(M_.aux_vars(i).orig_index, :));
+ otherwise
+ error(sprintf('Invalid auxiliary type: %s', M_.endo_names(aux_index, :)))
+ end
+ str = sprintf('%s(%d)', orig_name, M_.aux_vars(i).orig_lead_lag+aux_lead_lag);
+ return
+ end
+ end
+ error(sprintf('Could not find aux var: %s', M_.endo_names(aux_index, :)))
+end
diff --git a/matlab/disp_dr_sparse.m b/matlab/disp_dr_sparse.m
index bf5ce3f0f2..859f0e1781 100644
--- a/matlab/disp_dr_sparse.m
+++ b/matlab/disp_dr_sparse.m
@@ -1,6 +1,14 @@
function disp_dr_sparse(dr,order,var_list)
+% Display the decision rules in sparse mode
+% This file is a modified version of disp_dr.m: the common parts should be factorized!
+%
+% INPUTS
+% dr [struct]: decision rules
+% order [int]: order of approximation
+% var_list [char array]: list of endogenous variables for which the
+% decision rules should be printed
-% Copyright (C) 2001 Dynare Team
+% Copyright (C) 2001-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -44,11 +52,13 @@ function disp_dr_sparse(dr,order,var_list)
klag = [klag ; M_.block_structure.block(i).dr.kstate(k_tmp,[1 2])];
k1 = [k1 ; M_.block_structure.block(i).variable(M_.block_structure.block(i).dr.order_var)'];
end
+
+ if size(var_list,1) == 0
+ var_list = M_.endo_names(1:M_.orig_endo_nbr, :);
+ end
+
nvar = size(var_list,1);
- if nvar == 0
- nvar = length(k1);
- ivar = [1:nvar];
- else
+
ivar=zeros(nvar,1);
for i=1:nvar
i_tmp = strmatch(var_list(i,:),M_.endo_names(k1,:),'exact');
@@ -59,7 +69,7 @@ function disp_dr_sparse(dr,order,var_list)
ivar(i) = i_tmp;
end
end
- end
+
disp('POLICY AND TRANSITION FUNCTIONS')
% variable names
str = ' ';
@@ -108,7 +118,7 @@ function disp_dr_sparse(dr,order,var_list)
%
for k=1:nx
flag = 0;
- str1 = sprintf('%s(%d)',M_.endo_names(k1(klag(k,1)),:),klag(k,2)-M_.maximum_lag-2);
+ str1 = subst_auxvar(k1(klag(k,1)),klag(k,2)-M_.maximum_lag-2);
str = sprintf('%-20s',str1);
for i=1:nvar
x = ghx(ivar(i),k);
@@ -148,8 +158,8 @@ function disp_dr_sparse(dr,order,var_list)
for k = 1:nx
for j = 1:k
flag = 0;
- str1 = sprintf('%s(%d),%s(%d)',M_.endo_names(k1(klag(k,1)),:),klag(k,2)-M_.maximum_lag-2, ...
- M_.endo_names(k1(klag(j,1)),:),klag(j,2)-M_.maximum_lag-2);
+ str1 = sprintf('%s,%s',subst_auxvar(k1(klag(k,1)),klag(k,2)-M_.maximum_lag-2), ...
+ subst_auxvar(k1(klag(j,1)),klag(j,2)-M_.maximum_lag-2));
str = sprintf('%-20s',str1);
for i=1:nvar
if k == j
@@ -200,7 +210,7 @@ function disp_dr_sparse(dr,order,var_list)
for k = 1:nx
for j = 1:nu
flag = 0;
- str1 = sprintf('%s(%d),%s',M_.endo_names(k1(klag(k,1)),:),klag(k,2)-M_.maximum_lag-2, ...
+ str1 = sprintf('%s,%s',subst_auxvar(k1(klag(k,1)),klag(k,2)-M_.maximum_lag-2), ...
M_.exo_names(j,:));
str = sprintf('%-20s',str1);
for i=1:nvar
@@ -218,17 +228,32 @@ function disp_dr_sparse(dr,order,var_list)
end
end
end
+end
-% $$$ dr.ghx
-% $$$ dr.ghu
-% $$$ dr.ghxx
-% $$$ dr.ghuu
-% $$$ dr.ghxu
-
-% 01/08/2001 MJ added test for order in printing quadratic terms
-% 02/21/2001 MJ pass all variable names through deblank()
-% 02/21/2001 MJ changed from f to g format to write numbers
-% 10/09/2002 MJ corrected error on constant whith subset of variables
-
-
-
+% Given the index of an endogenous (possibly an auxiliary var), and a
+% lead/lag, creates a string of the form "x(lag)".
+% In the case of auxiliary vars for lags, replace by the original variable
+% name, and compute the lead/lag accordingly.
+function str = subst_auxvar(aux_index, aux_lead_lag)
+ global M_
+
+ if aux_index <= M_.orig_endo_nbr
+ str = sprintf('%s(%d)', deblank(M_.endo_names(aux_index,:)), aux_lead_lag);
+ return
+ end
+ for i = 1:length(M_.aux_vars)
+ if M_.aux_vars(i).endo_index == aux_index
+ switch M_.aux_vars(i).type
+ case 1
+ orig_name = deblank(M_.endo_names(M_.aux_vars(i).orig_index, :));
+ case 3
+ orig_name = deblank(M_.exo_names(M_.aux_vars(i).orig_index, :));
+ otherwise
+ error(sprintf('Invalid auxiliary type: %s', M_.endo_names(aux_index, :)))
+ end
+ str = sprintf('%s(%d)', orig_name, M_.aux_vars(i).orig_lead_lag+aux_lead_lag);
+ return
+ end
+ end
+ error(sprintf('Could not find aux var: %s', M_.endo_names(aux_index, :)))
+end
diff --git a/matlab/disp_moments.m b/matlab/disp_moments.m
index 0a9744486e..a4dbf1f5d4 100644
--- a/matlab/disp_moments.m
+++ b/matlab/disp_moments.m
@@ -1,6 +1,7 @@
function disp_moments(y,var_list)
+% Displays moments of simulated variables
-% Copyright (C) 2001-2008 Dynare Team
+% Copyright (C) 2001-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -21,11 +22,12 @@ function disp_moments(y,var_list)
warning_old_state = warning;
warning off
- nvar = size(var_list,1);
- if nvar == 0
- nvar = M_.endo_nbr;
- ivar = [1:nvar]';
- else
+
+ if size(var_list,1) == 0
+ var_list = M_.endo_names(1:M_.orig_endo_nbr, :);
+ end
+
+ nvar = size(var_list,1);
ivar=zeros(nvar,1);
for i=1:nvar
i_tmp = strmatch(var_list(i,:),M_.endo_names,'exact');
@@ -35,7 +37,7 @@ function disp_moments(y,var_list)
ivar(i) = i_tmp;
end
end
- end
+
y = y(ivar,options_.drop+M_.maximum_lag+1:end)';
m = mean(y);
@@ -90,10 +92,3 @@ function disp_moments(y,var_list)
end
warning(warning_old_state);
-% 10/03/02 MJ corrected order std. dev var in printed report.
-% 01/02/03 MJ added correlation and autocorrelation
-% 01/19/03 MJ corrected variable name truncation
-% 02/18/03 MJ added subtitle for HP filter
-% 03/02/03 MJ added M_.maximum_lag to the number of entries of y
-% 04/28/03 MJ modified handling of options_
-% 06/23/03 MJ added warning off
diff --git a/matlab/disp_th_moments.m b/matlab/disp_th_moments.m
index 0b7c18d321..1775360df6 100644
--- a/matlab/disp_th_moments.m
+++ b/matlab/disp_th_moments.m
@@ -1,6 +1,7 @@
function disp_th_moments(dr,var_list)
-
-% Copyright (C) 2001-2008 Dynare Team
+% Display theoretical moments of variables
+
+% Copyright (C) 2001-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -19,11 +20,10 @@ function disp_th_moments(dr,var_list)
global M_ oo_ options_
+ if size(var_list,1) == 0
+ var_list = M_.endo_names(1:M_.orig_endo_nbr, :);
+ end
nvar = size(var_list,1);
- if nvar == 0
- nvar = length(dr.order_var);
- ivar = [1:nvar]';
- else
ivar=zeros(nvar,1);
for i=1:nvar
i_tmp = strmatch(var_list(i,:),M_.endo_names,'exact');
@@ -33,7 +33,6 @@ function disp_th_moments(dr,var_list)
ivar(i) = i_tmp;
end
end
- end
[oo_.gamma_y,stationary_vars] = th_autocovariances(dr,ivar,M_,options_);
m = dr.ys(ivar);
@@ -114,13 +113,3 @@ function disp_th_moments(dr,var_list)
lh = size(labels,2)+2;
dyntable(title,headers,labels,z,lh,8,4);
end
-
-% 10/09/02 MJ
-% 10/18/02 MJ added th_autocovariances() and provided for lags on several
-% periods
-% 10/30/02 MJ added correlations and autocorrelations, uses table()
-% oo_.gamma_y is now a cell array.
-% 02/18/03 MJ added subtitles for HP filter
-% 05/01/03 MJ corrected options_.hp_filter
-% 05/21/03 MJ variance decomposition: test M_.exo_nbr > 1
-% 05/21/03 MJ displays only variables with positive variance
diff --git a/matlab/dr1.m b/matlab/dr1.m
index 2c864a1a3c..2b9cd168c3 100644
--- a/matlab/dr1.m
+++ b/matlab/dr1.m
@@ -67,6 +67,8 @@ function [dr,info,M_,options_,oo_] = dr1(dr,task,M_,options_,oo_)
if isfield(M_,'orig_model')
orig_model = M_.orig_model;
M_.endo_nbr = orig_model.endo_nbr;
+ M_.orig_endo_nbr = orig_model.orig_endo_nbr;
+ M_.aux_vars = orig_model.aux_vars;
M_.endo_names = orig_model.endo_names;
M_.lead_lag_incidence = orig_model.lead_lag_incidence;
M_.maximum_lead = orig_model.maximum_lead;
diff --git a/matlab/dr1_sparse.m b/matlab/dr1_sparse.m
index 984aa58ac2..b6df040377 100644
--- a/matlab/dr1_sparse.m
+++ b/matlab/dr1_sparse.m
@@ -71,6 +71,8 @@ function [dr,info,M_,options_,oo_] = dr1_sparse(dr,task,M_,options_,oo_)
if isfield(M_,'orig_model')
orig_model = M_.orig_model;
M_.endo_nbr = orig_model.endo_nbr;
+ M_.orig_endo_nbr = orig_model.orig_endo_nbr;
+ M_.aux_vars = orig_model.aux_vars;
M_.endo_names = orig_model.endo_names;
M_.lead_lag_incidence = orig_model.lead_lag_incidence;
M_.maximum_lead = orig_model.maximum_lead;
diff --git a/matlab/dyn_ramsey_dynamic_.m b/matlab/dyn_ramsey_dynamic_.m
index fda44da2e3..7503f6fcd5 100644
--- a/matlab/dyn_ramsey_dynamic_.m
+++ b/matlab/dyn_ramsey_dynamic_.m
@@ -1,5 +1,4 @@
function [J,M_] = dyn_ramsey_dynamic_(ys,lbar,M_,options_,oo_,it_)
-
% function J = dyn_ramsey_dynamic_(ys,lbar)
% dyn_ramsey_dynamic_ sets up the Jacobian of the expanded model for optimal
% policies. It modifies several fields of M_
@@ -14,7 +13,7 @@ function [J,M_] = dyn_ramsey_dynamic_(ys,lbar,M_,options_,oo_,it_)
% SPECIAL REQUIREMENTS
% none
-% Copyright (C) 2003-2008 Dynare Team
+% Copyright (C) 2003-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -54,6 +53,8 @@ function [J,M_] = dyn_ramsey_dynamic_(ys,lbar,M_,options_,oo_,it_)
% storing original values
orig_model.endo_nbr = endo_nbr;
+ orig_model.orig_endo_nbr = M_.orig_endo_nbr;
+ orig_model.aux_vars = M_.aux_vars;
orig_model.endo_names = endo_names;
orig_model.lead_lag_incidence = i_leadlag;
orig_model.maximum_lead = max_lead;
@@ -225,6 +226,10 @@ function [J,M_] = dyn_ramsey_dynamic_(ys,lbar,M_,options_,oo_,it_)
% setting expanded model parameters
% storing original values
M_.endo_nbr = endo_nbr1;
+ % Consider that there is no auxiliary variable, because otherwise it
+ % interacts badly with the auxiliary variables from the preprocessor.
+ M_.orig_endo_nbr = endo_nbr1;
+ M_.aux_vars = [];
M_.endo_names = endo_names1;
M_.lead_lag_incidence = i_leadlag1;
M_.maximum_lead = max_lead1;
diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m
index 9031408764..6d6399458a 100644
--- a/matlab/dynare_estimation_1.m
+++ b/matlab/dynare_estimation_1.m
@@ -287,7 +287,7 @@ if options_.steadystate_flag% if the *_steadystate.m file is provided.
[zeros(M_.exo_nbr,1);...
oo_.exo_det_steady_state]);
if size(ys,1) < M_.endo_nbr
- if isfield(M_,'aux_vars')
+ if length(M_.aux_vars) > 0
ys = add_auxiliary_variables_to_steadystate(ys,M_.aux_vars,...
M_.fname,...
zeros(M_.exo_nbr,1),...
diff --git a/matlab/dynasave.m b/matlab/dynasave.m
index 725d7bd131..bcb35bf69b 100644
--- a/matlab/dynasave.m
+++ b/matlab/dynasave.m
@@ -1,6 +1,4 @@
-
function dynasave(s,var_list)
-
% function dynasave(s,var_list)
% This optional command saves the simulation results in a .MAT file.
%
@@ -14,7 +12,7 @@ function dynasave(s,var_list)
% SPECIAL REQUIREMENTS
% none
-% Copyright (C) 2001-2008 Dynare Team
+% Copyright (C) 2001-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -33,12 +31,11 @@ function dynasave(s,var_list)
global M_ oo_
+ if size(var_list,1) == 0
+ var_list = M_.endo_names(1:M_.orig_endo_nbr, :);
+ end
+
n = size(var_list,1);
- if n == 0
- n = M_.endo_nbr;
- ivar = [1:n]';
- var_list = M_.endo_names;
- else
ivar=zeros(n,1);
for i=1:n
i_tmp = strmatch(var_list(i,:),M_.endo_names,'exact');
@@ -48,8 +45,6 @@ function dynasave(s,var_list)
ivar(i) = i_tmp;
end
end
- end
-
% dyn2vec(var_list(1),var_list(1));
eval([var_list(1) '=oo_.endo_simul(ivar(1),:)'';'])
diff --git a/matlab/dynatype.m b/matlab/dynatype.m
index 661a5a0ba2..9ce527b9d9 100644
--- a/matlab/dynatype.m
+++ b/matlab/dynatype.m
@@ -13,7 +13,7 @@ function dynatype (s,var_list)
% SPECIAL REQUIREMENTS
% none
-% Copyright (C) 2001-2008 Dynare Team
+% Copyright (C) 2001-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -34,12 +34,11 @@ global M_ oo_
fid=fopen(s,'w') ;
+if size(var_list,1) == 0
+ var_list = M_.endo_names(1:M_.orig_endo_nbr,:);
+end
+
n = size(var_list,1);
-if n == 0
- n = M_.endo_nbr;
- ivar = [1:n]';
- var_list = M_.endo_names;
-else
ivar=zeros(n,1);
for i=1:n
i_tmp = strmatch(var_list(i,:),M_.endo_names,'exact');
@@ -49,8 +48,6 @@ else
ivar(i) = i_tmp;
end
end
-end
-
for i = 1:n
fprintf(fid,M_.endo_names(ivar(i),:),'\n') ;
diff --git a/matlab/evaluate_likelihood.m b/matlab/evaluate_likelihood.m
index b80456fb0a..8d3efed076 100644
--- a/matlab/evaluate_likelihood.m
+++ b/matlab/evaluate_likelihood.m
@@ -110,7 +110,7 @@ function [llik,parameters] = evaluate_likelihood(parameters)
[zeros(M_.exo_nbr,1);...
oo_.exo_det_steady_state]);
if size(ys,1) < M_.endo_nbr
- if isfield(M_,'aux_vars')
+ if length(M_.aux_vars) > 0
ys = add_auxiliary_variables_to_steadystate(ys,M_.aux_vars,...
M_.fname,...
zeros(M_.exo_nbr,1),...
diff --git a/matlab/forcst.m b/matlab/forcst.m
index 35eed8a8bb..29726d62f2 100644
--- a/matlab/forcst.m
+++ b/matlab/forcst.m
@@ -1,5 +1,4 @@
function [yf,int_width]=forcst(dr,y0,horizon,var_list)
-
% function [yf,int_width]=forecst(dr,y0,horizon,var_list)
% computes mean forecast for a given value of the parameters
% computes also confidence band for the forecast
@@ -18,7 +17,7 @@ function [yf,int_width]=forcst(dr,y0,horizon,var_list)
% SPECIAL REQUIREMENTS
% none
-% Copyright (C) 2003-2008 Dynare Team
+% Copyright (C) 2003-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -46,11 +45,10 @@ function [yf,int_width]=forcst(dr,y0,horizon,var_list)
inv_order_var = dr.inv_order_var;
[A,B] = kalman_transition_matrix(dr,nstatic+(1:npred),1:nc,dr.transition_auxiliary_variables,M_.exo_nbr);
+ if size(var_list,1) == 0
+ var_list = M_.endo_names(1:M_.orig_endo_nbr,:);
+ end
nvar = size(var_list,1);
- if nvar == 0
- nvar = M_.endo_nbr;
- ivar = [1:nvar];
- else
ivar=zeros(nvar,1);
for i=1:nvar
i_tmp = strmatch(var_list(i,:),M_.endo_names,'exact');
@@ -61,7 +59,6 @@ function [yf,int_width]=forcst(dr,y0,horizon,var_list)
ivar(i) = i_tmp;
end
end
- end
ghx1 = dr.ghx(inv_order_var(ivar),:);
ghu1 = dr.ghu(inv_order_var(ivar),:);
diff --git a/matlab/forcst_unc.m b/matlab/forcst_unc.m
index ffaf1295d1..a3d2880689 100644
--- a/matlab/forcst_unc.m
+++ b/matlab/forcst_unc.m
@@ -15,7 +15,7 @@ function forcst_unc(y0,var_list)
% SPECIAL REQUIREMENTS
% None.
-% Copyright (C) 2006-2008 Dynare Team
+% Copyright (C) 2006-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -43,11 +43,10 @@ function forcst_unc(y0,var_list)
% workspace initialization
if isempty(var_list)
- var_list = M_.endo_names;
- n = M_.endo_nbr;
- else
- n = size(var_list,1);
+ var_list = M_.endo_names(1:M_.orig_endo_nbr,:);
end
+ n = size(var_list,1);
+
periods = options_.forecast;
exo_nbr = M_.exo_nbr;
replic = options_.replic;
diff --git a/matlab/forecast.m b/matlab/forecast.m
index f5a34064e8..109866142f 100644
--- a/matlab/forecast.m
+++ b/matlab/forecast.m
@@ -1,5 +1,4 @@
function info = forecast(var_list,task)
-
% function forecast(var_list,task)
% computes mean forecast for a given value of the parameters
% computes also confidence band for the forecast
@@ -45,9 +44,8 @@ function info = forecast(var_list,task)
endo_names = M_.endo_names;
if isempty(var_list)
- var_list = endo_names;
- i_var = 1:M_.endo_nbr;
- else
+ var_list = endo_names(1:M_.orig_endo_nbr, :);
+ end
i_var = [];
for i = 1:size(var_list)
tmp = strmatch(var_list(i,:),endo_names,'exact');
@@ -56,7 +54,7 @@ function info = forecast(var_list,task)
end
i_var = [i_var; tmp];
end
- end
+
n_var = length(i_var);
trend = 0;
diff --git a/matlab/forecast_graphs.m b/matlab/forecast_graphs.m
index a739282187..aba7f08ad3 100644
--- a/matlab/forecast_graphs.m
+++ b/matlab/forecast_graphs.m
@@ -32,9 +32,8 @@ function forecast_graphs(var_list)
hpdinf = oo_.forecast.HPDinf;
hpdsup = oo_.forecast.HPDsup;
if isempty(var_list)
- varlist = endo_names;
- i_var = 1:M_.endo_nbr;
- else
+ varlist = endo_names(1:M_.orig_endo_nbr,:);
+ end
i_var = [];
for i = 1:size(var_list)
tmp = strmatch(var_list(i,:),endo_names,'exact');
@@ -43,7 +42,6 @@ function forecast_graphs(var_list)
end
i_var = [i_var; tmp];
end
- end
nvar = length(i_var);
% $$$ % build trend for smoothed variables if necessary
diff --git a/matlab/initial_estimation_checks.m b/matlab/initial_estimation_checks.m
index 88db173cc8..83f1a85955 100644
--- a/matlab/initial_estimation_checks.m
+++ b/matlab/initial_estimation_checks.m
@@ -1,6 +1,5 @@
function initial_estimation_checks(xparam1,gend,data,data_index,number_of_observations,no_more_missing_observations)
-
-% function initial_estimation_checks(xparam1,gend,data)
+% function initial_estimation_checks(xparam1,gend,data,data_index,number_of_observations,no_more_missing_observations)
% Checks data (complex values, ML evaluation, initial values, BK conditions,..)
%
% INPUTS
@@ -14,7 +13,7 @@ function initial_estimation_checks(xparam1,gend,data,data_index,number_of_observ
% SPECIAL REQUIREMENTS
% none
-% Copyright (C) 2003-2008 Dynare Team
+% Copyright (C) 2003-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -69,7 +68,7 @@ function initial_estimation_checks(xparam1,gend,data,data_index,number_of_observ
[oo_.exo_steady_state; ...
oo_.exo_det_steady_state]);
if size(ys,1) < M_.endo_nbr
- if isfield(M_,'aux_vars')
+ if length(M_.aux_vars) > 0
ys = add_auxiliary_variables_to_steadystate(ys,M_.aux_vars,...
M_.fname,...
oo_.exo_steady_state,...
diff --git a/matlab/model_diagnostics.m b/matlab/model_diagnostics.m
index acdb9e5631..76908e1c92 100644
--- a/matlab/model_diagnostics.m
+++ b/matlab/model_diagnostics.m
@@ -79,7 +79,7 @@ function model_diagnostics(M_,options_,oo_)
[ys,check1] = feval([M_.fname '_steadystate'],dr.ys,...
[oo_.exo_steady_state; oo_.exo_det_steady_state]);
if size(ys,1) < M_.endo_nbr
- if isfield(M_,'aux_vars')
+ if length(M_.aux_vars) > 0
ys = add_auxiliary_variables_to_steadystate(ys,M_.aux_vars,...
M_.fname,...
oo_.exo_steady_state,...
diff --git a/matlab/osr1.m b/matlab/osr1.m
index 030559725e..17dda24a3b 100644
--- a/matlab/osr1.m
+++ b/matlab/osr1.m
@@ -1,6 +1,6 @@
function osr1(i_params,i_var,weights)
-% Copyright (C) 2005-2008 Dynare Team
+% Copyright (C) 2005-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -47,7 +47,7 @@ function osr1(i_params,i_var,weights)
[ys,check1] = feval([M_.fname '_steadystate'],oo_.steady_state,...
[oo_.exo_steady_state; oo_.exo_det_steady_state]);
if size(ys,1) < M_.endo_nbr
- if isfield(M_,'aux_vars')
+ if length(M_.aux_vars) > 0
ys = add_auxiliary_variables_to_steadystate(ys,M_.aux_vars,...
M_.fname,...
oo_.exo_steady_state,...
diff --git a/matlab/prior_posterior_statistics.m b/matlab/prior_posterior_statistics.m
index c599651ea2..71367a7ae6 100644
--- a/matlab/prior_posterior_statistics.m
+++ b/matlab/prior_posterior_statistics.m
@@ -1,5 +1,4 @@
function prior_posterior_statistics(type,Y,gend,data_index,missing_value)
-
% function PosteriorFilterSmootherAndForecast(Y,gend, type)
% Computes posterior filter smoother and forecasts
%
@@ -18,7 +17,7 @@ function prior_posterior_statistics(type,Y,gend,data_index,missing_value)
% SPECIAL REQUIREMENTS
% none
-% Copyright (C) 2005-2008 Dynare Team
+% Copyright (C) 2005-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -96,10 +95,8 @@ MAX_momentsno = min(B,ceil(MaxNumberOfBytes/(get_moments_size(options_)*8)));
%%
varlist = options_.varlist;
if isempty(varlist)
- varlist = M_.endo_names;
- SelecVariables = transpose(1:M_.endo_nbr);
- nvar = M_.endo_nbr;
-else
+ varlist = M_.endo_names(1:M_.orig_endo_nbr, :);
+end
nvar = size(varlist,1);
SelecVariables = [];
for i=1:nvar
@@ -107,7 +104,6 @@ else
SelecVariables = [SelecVariables;strmatch(varlist(i,:),M_.endo_names,'exact')];
end
end
-end
irun = ones(7,1);
ifil = zeros(7,1);
diff --git a/matlab/resid.m b/matlab/resid.m
index f88ce8e524..9c3c592b2e 100644
--- a/matlab/resid.m
+++ b/matlab/resid.m
@@ -40,7 +40,7 @@ function z = resid(junk)
[oo_.exo_steady_state; ...
oo_.exo_det_steady_state]);
if size(ys, 1) < M_.endo_nbr
- if isfield(M_, 'aux_vars')
+ if length(M_.aux_vars) > 0
ys = add_auxiliary_variables_to_steadystate(ys,M_.aux_vars, ...
M_.fname, ...
oo_.exo_steady_state, ...
diff --git a/matlab/resol.m b/matlab/resol.m
index 65c9796449..2bf6a57a96 100644
--- a/matlab/resol.m
+++ b/matlab/resol.m
@@ -72,7 +72,7 @@ if options_.steadystate_flag
[oo_.exo_steady_state; ...
oo_.exo_det_steady_state]);
if size(dr.ys,1) < M_.endo_nbr
- if isfield(M_,'aux_vars')
+ if length(M_.aux_vars) > 0
dr.ys = add_auxiliary_variables_to_steadystate(dr.ys,M_.aux_vars,...
M_.fname,...
oo_.exo_steady_state,...
diff --git a/matlab/steady.m b/matlab/steady.m
index ed475145b4..785e229289 100644
--- a/matlab/steady.m
+++ b/matlab/steady.m
@@ -11,7 +11,7 @@ function steady()
% SPECIAL REQUIREMENTS
% none
-% Copyright (C) 2001-2008 Dynare Team
+% Copyright (C) 2001-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -56,7 +56,7 @@ function steady()
disp(' ')
endo_names = M_.endo_names;
steady_state = oo_.steady_state;
- for i=1:size(oo_.steady_state,1)
+ for i=1:M_.orig_endo_nbr
disp(sprintf('%s \t\t %g',endo_names(i,:),steady_state(i)));
end
diff --git a/matlab/steady_.m b/matlab/steady_.m
index a0f710df06..bdd5440980 100644
--- a/matlab/steady_.m
+++ b/matlab/steady_.m
@@ -42,7 +42,7 @@ function steady_()
[oo_.exo_steady_state; ...
oo_.exo_det_steady_state]);
if size(ys,1) < M_.endo_nbr
- if isfield(M_,'aux_vars')
+ if length(M_.aux_vars) > 0
ys = add_auxiliary_variables_to_steadystate(ys,M_.aux_vars,...
M_.fname,...
oo_.exo_steady_state,...
diff --git a/matlab/stoch_simul.m b/matlab/stoch_simul.m
index 88211281f1..25c08e142e 100644
--- a/matlab/stoch_simul.m
+++ b/matlab/stoch_simul.m
@@ -1,6 +1,6 @@
function info=stoch_simul(var_list)
-% Copyright (C) 2001-2008 Dynare Team
+% Copyright (C) 2001-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -87,15 +87,14 @@ function info=stoch_simul(var_list)
if options_.irf
- n = size(var_list,1);
- if n == 0
- n = M_.endo_nbr;
- ivar = [1:n]';
- var_list = M_.endo_names;
+ if size(var_list,1) == 0
+ var_list = M_.endo_names(1:M_.orig_endo_nbr, :);
if TeX
- var_listTeX = M_.endo_names_tex;
+ var_listTeX = M_.endo_names_tex(1:M_.orig_endo_nbr, :);
end
- else
+ end
+
+ n = size(var_list,1);
ivar=zeros(n,1);
if TeX
var_listTeX = [];
@@ -111,7 +110,7 @@ function info=stoch_simul(var_list)
end
end
end
- end
+
if TeX
fidTeX = fopen([M_.fname '_IRF.TeX'],'w');
fprintf(fidTeX,'%% TeX eps-loader file generated by stoch_simul.m (Dynare).\n');
diff --git a/matlab/stoch_simul_sparse.m b/matlab/stoch_simul_sparse.m
index 9057468113..04741fbd92 100644
--- a/matlab/stoch_simul_sparse.m
+++ b/matlab/stoch_simul_sparse.m
@@ -1,6 +1,7 @@
function info=stoch_simul_sparse(var_list)
-
-% Copyright (C) 2001-2008 Dynare Team
+% This file is a modified version of stoch_simul.m: common parts should be factorized!
+
+% Copyright (C) 2001-2009 Dynare Team
%
% This file is part of Dynare.
%
@@ -94,15 +95,14 @@ function info=stoch_simul_sparse(var_list)
if options_.irf
- n = size(var_list,1);
- if n == 0
- n = M_.endo_nbr;
- ivar = [1:n]';
- var_list = M_.endo_names;
+ if size(var_list,1) == 0
+ var_list = M_.endo_names(1:M_.orig_endo_nbr, :);
if TeX
- var_listTeX = M_.endo_names_tex;
+ var_listTeX = M_.endo_names_tex(1:M_.orig_endo_nbr, :);
end
- else
+ end
+
+ n = size(var_list,1);
ivar=zeros(n,1);
if TeX
var_listTeX = [];
@@ -118,7 +118,7 @@ function info=stoch_simul_sparse(var_list)
end
end
end
- end
+
if TeX
fidTeX = fopen([M_.fname '_IRF.TeX'],'w');
fprintf(fidTeX,'%% TeX eps-loader file generated by stoch_simul.m (Dynare).\n');
diff --git a/matlab/varlist_indices.m b/matlab/varlist_indices.m
index 88ee31318f..7ce0f21f1b 100644
--- a/matlab/varlist_indices.m
+++ b/matlab/varlist_indices.m
@@ -34,9 +34,8 @@ function [i_var,nvar] = varlist_indices(varlist)
endo_nbr = M_.endo_nbr;
if isempty(varlist)
- i_var = (1:endo_nbr)';
- nvar = endo_nbr;
- else
+ varlist = M_.endo_names(1:M_.orig_endo_nbr,:);
+ end
i_var = [];
for i=1:size(varlist,1)
tmp = strmatch(varlist(i,:),M_.endo_names,'exact');
@@ -46,5 +45,3 @@ function [i_var,nvar] = varlist_indices(varlist)
i_var = [i_var; tmp];
end
nvar = length(i_var);
- end
-
\ No newline at end of file
diff --git a/preprocessor/SymbolTable.cc b/preprocessor/SymbolTable.cc
index 8dd000d620..38d3c46bd7 100644
--- a/preprocessor/SymbolTable.cc
+++ b/preprocessor/SymbolTable.cc
@@ -203,23 +203,27 @@ SymbolTable::writeOutput(ostream &output) const throw (NotYetFrozenException)
output << "M_.Sigma_e = zeros(" << exo_nbr() << ", " << exo_nbr() << ");" << endl;
// Write the auxiliary variable table
- for(int i = 0; i < (int) aux_vars.size(); i++)
- {
- output << "M_.aux_vars(" << i+1 << ").endo_index = " << getTypeSpecificID(aux_vars[i].symb_id)+1 << ";" << endl
- << "M_.aux_vars(" << i+1 << ").type = " << aux_vars[i].type << ";" << endl;
- switch(aux_vars[i].type)
- {
- case avEndoLead:
- case avExoLead:
- case avExpectation:
- break;
- case avEndoLag:
- case avExoLag:
- output << "M_.aux_vars(" << i+1 << ").orig_endo_index = " << getTypeSpecificID(aux_vars[i].orig_symb_id)+1 << ";" << endl
- << "M_.aux_vars(" << i+1 << ").orig_lag = " << aux_vars[i].orig_lag << ";" << endl;
- break;
- }
- }
+ output << "M_.orig_endo_nbr = " << endo_nbr() - aux_vars.size() << ";" << endl;
+ if (aux_vars.size() == 0)
+ output << "M_.aux_vars = [];" << endl;
+ else
+ for(int i = 0; i < (int) aux_vars.size(); i++)
+ {
+ output << "M_.aux_vars(" << i+1 << ").endo_index = " << getTypeSpecificID(aux_vars[i].symb_id)+1 << ";" << endl
+ << "M_.aux_vars(" << i+1 << ").type = " << aux_vars[i].type << ";" << endl;
+ switch(aux_vars[i].type)
+ {
+ case avEndoLead:
+ case avExoLead:
+ case avExpectation:
+ break;
+ case avEndoLag:
+ case avExoLag:
+ output << "M_.aux_vars(" << i+1 << ").orig_index = " << getTypeSpecificID(aux_vars[i].orig_symb_id)+1 << ";" << endl
+ << "M_.aux_vars(" << i+1 << ").orig_lead_lag = " << aux_vars[i].orig_lead_lag << ";" << endl;
+ break;
+ }
+ }
if (predeterminedNbr() > 0)
{
@@ -260,14 +264,14 @@ SymbolTable::addLeadAuxiliaryVarInternal(bool endo, int index) throw (FrozenExce
}
int
-SymbolTable::addLagAuxiliaryVarInternal(bool endo, int orig_symb_id, int orig_lag) throw (FrozenException)
+SymbolTable::addLagAuxiliaryVarInternal(bool endo, int orig_symb_id, int orig_lead_lag) throw (FrozenException)
{
ostringstream varname;
if (endo)
varname << "AUX_ENDO_LAG_";
else
varname << "AUX_EXO_LAG_";
- varname << orig_symb_id << "_" << -orig_lag;
+ varname << orig_symb_id << "_" << -orig_lead_lag;
int symb_id;
try
@@ -284,7 +288,7 @@ SymbolTable::addLagAuxiliaryVarInternal(bool endo, int orig_symb_id, int orig_la
avi.symb_id = symb_id;
avi.type = (endo ? avEndoLag : avExoLag);
avi.orig_symb_id = orig_symb_id;
- avi.orig_lag = orig_lag;
+ avi.orig_lead_lag = orig_lead_lag;
aux_vars.push_back(avi);
return symb_id;
@@ -297,9 +301,9 @@ SymbolTable::addEndoLeadAuxiliaryVar(int index) throw (FrozenException)
}
int
-SymbolTable::addEndoLagAuxiliaryVar(int orig_symb_id, int orig_lag) throw (FrozenException)
+SymbolTable::addEndoLagAuxiliaryVar(int orig_symb_id, int orig_lead_lag) throw (FrozenException)
{
- return addLagAuxiliaryVarInternal(true, orig_symb_id, orig_lag);
+ return addLagAuxiliaryVarInternal(true, orig_symb_id, orig_lead_lag);
}
int
@@ -309,9 +313,9 @@ SymbolTable::addExoLeadAuxiliaryVar(int index) throw (FrozenException)
}
int
-SymbolTable::addExoLagAuxiliaryVar(int orig_symb_id, int orig_lag) throw (FrozenException)
+SymbolTable::addExoLagAuxiliaryVar(int orig_symb_id, int orig_lead_lag) throw (FrozenException)
{
- return addLagAuxiliaryVarInternal(false, orig_symb_id, orig_lag);
+ return addLagAuxiliaryVarInternal(false, orig_symb_id, orig_lead_lag);
}
int
diff --git a/preprocessor/SymbolTable.hh b/preprocessor/SymbolTable.hh
index 4eded1bc1b..b9395e4c1c 100644
--- a/preprocessor/SymbolTable.hh
+++ b/preprocessor/SymbolTable.hh
@@ -46,7 +46,7 @@ struct AuxVarInfo
int symb_id; //!< Symbol ID of the auxiliary variable
aux_var_t type; //!< Its type
int orig_symb_id; //!< Symbol ID of the endo of the original model represented by this aux var. Not used for avEndoLead
- int orig_lag; //!< Lead/lag of the endo of the original model represented by this aux var. Not used for avEndoLead
+ int orig_lead_lag; //!< Lead/lag of the endo of the original model represented by this aux var. Not used for avEndoLead
};
//! Stores the symbol table
@@ -143,7 +143,7 @@ public:
private:
//! Factorized code for adding aux lag variables
- int addLagAuxiliaryVarInternal(bool endo, int orig_symb_id, int orig_lag) throw (FrozenException);
+ int addLagAuxiliaryVarInternal(bool endo, int orig_symb_id, int orig_lead_lag) throw (FrozenException);
//! Factorized code for adding aux lead variables
int addLeadAuxiliaryVarInternal(bool endo, int index) throw (FrozenException);
@@ -162,9 +162,9 @@ public:
//! Adds an auxiliary variable for endogenous with lag >= 2
/*!
\param[in] orig_symb_id symbol ID of the endogenous declared by the user that this new variable will represent
- \param[in] orig_lag lag value such that this new variable will be equivalent to orig_symb_id(orig_lag)
+ \param[in] orig_lead_lag lag value such that this new variable will be equivalent to orig_symb_id(orig_lead_lag)
\return the symbol ID of the new symbol */
- int addEndoLagAuxiliaryVar(int orig_symb_id, int orig_lag) throw (FrozenException);
+ int addEndoLagAuxiliaryVar(int orig_symb_id, int orig_lead_lag) throw (FrozenException);
//! Adds an auxiliary variable for endogenous with lead >= 1
/*!
\param[in] index Used to construct the variable name
@@ -173,9 +173,9 @@ public:
//! Adds an auxiliary variable for exogenous with lag >= 1
/*!
\param[in] orig_symb_id symbol ID of the exogenous declared by the user that this new variable will represent
- \param[in] orig_lag lag value such that this new variable will be equivalent to orig_symb_id(orig_lag)
+ \param[in] orig_lead_lag lag value such that this new variable will be equivalent to orig_symb_id(orig_lead_lag)
\return the symbol ID of the new symbol */
- int addExoLagAuxiliaryVar(int orig_symb_id, int orig_lag) throw (FrozenException);
+ int addExoLagAuxiliaryVar(int orig_symb_id, int orig_lead_lag) throw (FrozenException);
//! Adds an auxiliary variable for the expectation operator
/*!
\param[in] information_set information set (possibly negative) of the expectation operator
--
GitLab