From 06d1f662428c6803dbc8341f77ab9f02863492dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Wed, 21 May 2014 16:47:58 +0200
Subject: [PATCH] Fix initialization of the fields in options_.dataset +
 Cosmetic changes.

---
 matlab/global_initialization.m | 11 ++++++-----
 preprocessor/ComputingTasks.cc |  4 ++--
 preprocessor/DynareBison.yy    | 18 +++++++-----------
 3 files changed, 15 insertions(+), 18 deletions(-)

diff --git a/matlab/global_initialization.m b/matlab/global_initialization.m
index 572f88726b..364edc3023 100644
--- a/matlab/global_initialization.m
+++ b/matlab/global_initialization.m
@@ -349,11 +349,11 @@ estimation_info.structural_innovation_corr_options_index = {};
 estimation_info.structural_innovation_corr.range_index = {};
 options_.initial_period = dates(1,1);
 options_.dataset.file = [];
-options_.dataset.firstobs = options_.initial_period;
-options_.dataset.lastobs = NaN;
+options_.dataset.firstobs = dates();
+options_.dataset.lastobs = dates();
 options_.dataset.nobs = NaN;
-options_.dataset.xls_sheet = NaN;
-options_.dataset.xls_range = NaN;
+options_.dataset.xls_sheet = [];
+options_.dataset.xls_range = [];
 options_.Harvey_scale_factor = 10;
 options_.MaxNumberOfBytes = 1e6;
 options_.MaximumNumberOfMegaBytes = 111;
@@ -364,7 +364,8 @@ options_.bayesian_th_moments = 0;
 options_.diffuse_filter = 0;
 options_.filter_step_ahead = [];
 options_.filtered_vars = 0;
-options_.first_obs = 1;
+options_.first_obs = NaN;
+options_.nobs = NaN;
 options_.kalman_algo = 0;
 options_.fast_kalman = 0;
 options_.kalman_tol = 1e-10;
diff --git a/preprocessor/ComputingTasks.cc b/preprocessor/ComputingTasks.cc
index b2aed95533..25049b0828 100644
--- a/preprocessor/ComputingTasks.cc
+++ b/preprocessor/ComputingTasks.cc
@@ -1887,8 +1887,8 @@ void
 EstimationDataStatement::writeOutput(ostream &output, const string &basename) const
 {
   options_list.writeOutput(output, "options_.dataset");
-  if (options_list.date_options.find("first_obs") == options_list.date_options.end())
-    output << "options_.dataset.first_obs = options_.initial_period;" << endl;
+  //if (options_list.date_options.find("first_obs") == options_list.date_options.end())
+  //  output << "options_.dataset.first_obs = options_.initial_period;" << endl;
 }
 
 SubsamplesStatement::SubsamplesStatement(const string &name1_arg,
diff --git a/preprocessor/DynareBison.yy b/preprocessor/DynareBison.yy
index c2cb723e71..5f3f336bad 100644
--- a/preprocessor/DynareBison.yy
+++ b/preprocessor/DynareBison.yy
@@ -833,7 +833,7 @@ restriction_expression : expression {driver.check_restriction_expression_constan
 
 restriction_expression_1 : restriction_elem_expression
                          | restriction_expression_1 restriction_elem_expression
-                         ;   
+                         ;
 
 restriction_elem_expression : COEFF '(' symbol COMMA INT_NUMBER ')'
                                  { driver.add_positive_restriction_element($3,$5);}
@@ -1366,9 +1366,9 @@ data_options_list : data_options_list COMMA data_options
                   ;
 
 data_options : o_file
-             | o_new_estimation_data_first_obs
-             | o_last_obs
-             | o_new_estimation_data_nobs
+             | o_data_first_obs
+             | o_data_last_obs
+             | o_data_nobs
              | o_xls_sheet
              | o_xls_range
              ;
@@ -2505,12 +2505,9 @@ o_conditional_variance_decomposition : CONDITIONAL_VARIANCE_DECOMPOSITION EQUAL
                                        { driver.option_vec_int("conditional_variance_decomposition", $3); }
                                      ;
 o_first_obs : FIRST_OBS EQUAL INT_NUMBER { driver.option_num("first_obs", $3); };
-o_new_estimation_data_first_obs : FIRST_OBS EQUAL date_expr
-                                  { driver.option_date("first_obs", $3); }
-                                ;
-o_last_obs : LAST_OBS EQUAL date_expr
-             { driver.option_date("last_obs", $3); }
-           ;
+o_data_first_obs : FIRST_OBS EQUAL date_expr { driver.option_date("firstobs", $3); } ;
+o_data_last_obs : LAST_OBS EQUAL date_expr { driver.option_date("lastobs", $3); } ;
+o_data_nobs : NOBS EQUAL INT_NUMBER { driver.option_num("nobs", $3); };
 o_shift : SHIFT EQUAL signed_number { driver.option_num("shift", $3); };
 o_shape : SHAPE EQUAL prior_distribution { driver.prior_shape = $3; };
 o_mode : MODE EQUAL signed_number { driver.option_num("mode", $3); };
@@ -2523,7 +2520,6 @@ o_bounds : BOUNDS EQUAL vec_value_w_inf { driver.option_num("bounds", $3); };
 o_domain : DOMAINN EQUAL vec_value { driver.option_num("domain", $3); };
 o_interval : INTERVAL EQUAL vec_value { driver.option_num("interval", $3); };
 o_variance : VARIANCE EQUAL expression { driver.set_prior_variance($3); }
-o_new_estimation_data_nobs : NOBS EQUAL INT_NUMBER { driver.option_num("nobs", $3); };
 o_prefilter : PREFILTER EQUAL INT_NUMBER { driver.option_num("prefilter", $3); };
 o_presample : PRESAMPLE EQUAL INT_NUMBER { driver.option_num("presample", $3); };
 o_lik_algo : LIK_ALGO EQUAL INT_NUMBER { driver.option_num("lik_algo", $3); };
-- 
GitLab