From 82e9fdfdb9d24f41ba8cecb10e5602c5d6b59621 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Mon, 30 Nov 2020 17:40:49 +0100 Subject: [PATCH] =?UTF-8?q?Octave=206=20implements=20intersect(=E2=80=A6,?= =?UTF-8?q?=20'stable')?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [skip ci] (manually cherry picked from commit c160d24074f4912215d248e58dc5a2dfb8cfbf70) --- matlab/compute_moments_varendo.m | 2 +- matlab/conditional_variance_decomposition.m | 2 +- matlab/conditional_variance_decomposition_ME_mc_analysis.m | 2 +- matlab/disp_moments.m | 2 +- matlab/disp_th_moments.m | 4 ++-- ...simulated_theoretical_conditional_variance_decomposition.m | 2 +- matlab/dsge_simulated_theoretical_variance_decomposition.m | 2 +- matlab/dynare_config.m | 4 ++-- matlab/posterior_analysis.m | 2 +- tests/conditional_variance_decomposition/example1.mod | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) diff --git a/matlab/compute_moments_varendo.m b/matlab/compute_moments_varendo.m index 5b374b202..84565481f 100644 --- a/matlab/compute_moments_varendo.m +++ b/matlab/compute_moments_varendo.m @@ -151,7 +151,7 @@ if M_.exo_nbr > 1 end skipline(); if ~all(diag(M_.H)==0) - if isoctave || matlab_ver_less_than('8.1') + if (isoctave && octave_ver_less_than('6')) || (~isoctave && matlab_ver_less_than('8.1')) [observable_name_requested_vars, varlist_pos] = intersect_stable(var_list_, options_.varobs); else [observable_name_requested_vars, varlist_pos] = intersect(var_list_, options_.varobs, 'stable'); diff --git a/matlab/conditional_variance_decomposition.m b/matlab/conditional_variance_decomposition.m index a77d3ea12..8e585acc0 100644 --- a/matlab/conditional_variance_decomposition.m +++ b/matlab/conditional_variance_decomposition.m @@ -89,7 +89,7 @@ end % Measurement error if ~all(diag(StateSpaceModel.measurement_error)==0) - if isoctave || matlab_ver_less_than('8.1') + if (isoctave && octave_ver_less_than('6')) || (~isoctave && matlab_ver_less_than('8.1')) [observable_pos,index_subset,index_observables]=intersect_stable(SubsetOfVariables,StateSpaceModel.observable_pos); else [observable_pos,index_subset,index_observables]=intersect(SubsetOfVariables,StateSpaceModel.observable_pos,'stable'); diff --git a/matlab/conditional_variance_decomposition_ME_mc_analysis.m b/matlab/conditional_variance_decomposition_ME_mc_analysis.m index cfe9a1b15..43a7fc095 100644 --- a/matlab/conditional_variance_decomposition_ME_mc_analysis.m +++ b/matlab/conditional_variance_decomposition_ME_mc_analysis.m @@ -63,7 +63,7 @@ if isempty(exogenous_variable_index) end end -if isoctave || matlab_ver_less_than('8.1') +if (isoctave && octave_ver_less_than('6')) || (~isoctave && matlab_ver_less_than('8.1')) [observable_pos_requested_vars,index_subset,index_observables]=intersect_stable(var_list,options_.varobs); else [observable_pos_requested_vars,index_subset,index_observables]=intersect(var_list,options_.varobs,'stable'); diff --git a/matlab/disp_moments.m b/matlab/disp_moments.m index fd2e61b6b..6c1abe09a 100644 --- a/matlab/disp_moments.m +++ b/matlab/disp_moments.m @@ -50,7 +50,7 @@ y = y(ivar,options_.drop+1:end)'; ME_present=0; if ~all(M_.H==0) - if isoctave || matlab_ver_less_than('8.1') + if (isoctave && octave_ver_less_than('6')) || (~isoctave && matlab_ver_less_than('8.1')) [observable_pos_requested_vars, index_subset, index_observables] = intersect_stable(ivar, options_.varobs_id); else [observable_pos_requested_vars, index_subset, index_observables] = intersect(ivar, options_.varobs_id, 'stable'); diff --git a/matlab/disp_th_moments.m b/matlab/disp_th_moments.m index 3bcaa538e..98e6e49f2 100644 --- a/matlab/disp_th_moments.m +++ b/matlab/disp_th_moments.m @@ -55,7 +55,7 @@ oo_.var = oo_.gamma_y{1}; ME_present=0; if ~all(diag(M_.H)==0) - if isoctave || matlab_ver_less_than('8.1') + if (isoctave && octave_ver_less_than('6')) || (~isoctave && matlab_ver_less_than('8.1')) [observable_pos_requested_vars,index_subset,index_observables]=intersect_stable(ivar,options_.varobs_id); else [observable_pos_requested_vars,index_subset,index_observables]=intersect(ivar,options_.varobs_id,'stable'); @@ -105,7 +105,7 @@ if size(stationary_vars, 1) > 0 lh = cellofchararraymaxlength(M_.endo_names(ivar(stationary_vars)))+2; dyntable(options_, title, headers, M_.endo_names(ivar(stationary_vars)), 100*oo_.gamma_y{options_.ar+2}(stationary_vars,:), lh, 8, 2); if ME_present - if isoctave || matlab_ver_less_than('8.1') + if (isoctave && octave_ver_less_than('6')) || (~isoctave && matlab_ver_less_than('8.1')) [stationary_observables, pos_index_subset] = intersect_stable(index_subset, stationary_vars); else [stationary_observables, pos_index_subset] = intersect(index_subset, stationary_vars, 'stable'); diff --git a/matlab/dsge_simulated_theoretical_conditional_variance_decomposition.m b/matlab/dsge_simulated_theoretical_conditional_variance_decomposition.m index 3e20717df..5399e9ca2 100644 --- a/matlab/dsge_simulated_theoretical_conditional_variance_decomposition.m +++ b/matlab/dsge_simulated_theoretical_conditional_variance_decomposition.m @@ -83,7 +83,7 @@ MaXNumberOfConditionalDecompLines = ceil(options_.MaxNumberOfBytes/NumberOfSaved ME_present=0; if ~all(diag(M_.H)==0) - if isoctave || matlab_ver_less_than('8.1') + if (isoctave && octave_ver_less_than('6')) || (~isoctave && matlab_ver_less_than('8.1')) [observable_pos_requested_vars,index_subset,index_observables]=intersect_stable(ivar,options_.varobs_id); else [observable_pos_requested_vars,index_subset,index_observables]=intersect(ivar,options_.varobs_id,'stable'); diff --git a/matlab/dsge_simulated_theoretical_variance_decomposition.m b/matlab/dsge_simulated_theoretical_variance_decomposition.m index cc681eed7..4ddd421d6 100644 --- a/matlab/dsge_simulated_theoretical_variance_decomposition.m +++ b/matlab/dsge_simulated_theoretical_variance_decomposition.m @@ -86,7 +86,7 @@ MaXNumberOfDecompLines = ceil(options_.MaxNumberOfBytes/NumberOfSavedElementsPer ME_present=0; if ~all(diag(M_.H)==0) - if isoctave || matlab_ver_less_than('8.1') + if (isoctave && octave_ver_less_than('6')) || (~isoctave && matlab_ver_less_than('8.1')) [observable_pos_requested_vars,index_subset,index_observables]=intersect_stable(ivar,options_.varobs_id); else [observable_pos_requested_vars,index_subset,index_observables]=intersect(ivar,options_.varobs_id,'stable'); diff --git a/matlab/dynare_config.m b/matlab/dynare_config.m index beb3c1cc0..f071f7b8c 100644 --- a/matlab/dynare_config.m +++ b/matlab/dynare_config.m @@ -92,8 +92,8 @@ if isoctave && octave_ver_less_than('4.4') && ~user_has_octave_forge_package('na p{end+1} = '/missing/corrcoef'; end -%% intersect(…, 'stable') doesn't exist in Octave and in MATLAB < R2013a -if isoctave || matlab_ver_less_than('8.1') +%% intersect(…, 'stable') doesn't exist in Octave < 6 and in MATLAB < R2013a +if (isoctave && octave_ver_less_than('6')) || (~isoctave && matlab_ver_less_than('8.1')) p{end+1} = '/missing/intersect_stable'; end diff --git a/matlab/posterior_analysis.m b/matlab/posterior_analysis.m index 4d4c50fc3..d3c680c56 100644 --- a/matlab/posterior_analysis.m +++ b/matlab/posterior_analysis.m @@ -66,7 +66,7 @@ switch type M_.exo_names,arg2,vartan,arg1,options_.mh_conf_sig,oo_,options_); if ~all(diag(M_.H)==0) if strmatch(arg1,options_.varobs,'exact') - if isoctave || matlab_ver_less_than('8.1') + if (isoctave && octave_ver_less_than('6')) || (~isoctave && matlab_ver_less_than('8.1')) [observable_name_requested_vars,index_subset,index_observables]=intersect_stable(vartan,options_.varobs); else [observable_name_requested_vars,index_subset,index_observables]=intersect(vartan,options_.varobs,'stable'); diff --git a/tests/conditional_variance_decomposition/example1.mod b/tests/conditional_variance_decomposition/example1.mod index e53ea5382..04f7be66b 100644 --- a/tests/conditional_variance_decomposition/example1.mod +++ b/tests/conditional_variance_decomposition/example1.mod @@ -76,7 +76,7 @@ for i=1:nvar SubsetOfVariables(i) = i_tmp; end -if isoctave || matlab_ver_less_than('8.1') +if (isoctave && octave_ver_less_than('6')) || (~isoctave && matlab_ver_less_than('8.1')) [observable_pos,index_observables,index_subset]=intersect_stable(SubsetOfVariables,options_.varobs_id); else [observable_pos,index_observables,index_subset]=intersect(SubsetOfVariables,options_.varobs_id,'stable'); -- GitLab