From c07a915d6ed0209e141a80a35ca4115dcef4f961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Mon, 19 Sep 2011 12:12:42 +0200 Subject: [PATCH] Improve the way we test for existence of toolboxes (more reliable in the case where the toolbox is installed but not activated) --- matlab/dynare_config.m | 2 +- matlab/dynare_solve.m | 2 +- matlab/solve_one_boundary.m | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/matlab/dynare_config.m b/matlab/dynare_config.m index a3813d406..7dfdee6d7 100644 --- a/matlab/dynare_config.m +++ b/matlab/dynare_config.m @@ -66,7 +66,7 @@ if ~exist('OCTAVE_VERSION') addpath([dynareroot '/missing/rows_columns']) % Replacement for vec() (inexistent under MATLAB) addpath([dynareroot '/missing/vec']) - if isempty(ver('stats')) + if ~license('test', 'statistics_toolbox') % Replacements for functions of the stats toolbox addpath([dynareroot '/missing/stats/']) end diff --git a/matlab/dynare_solve.m b/matlab/dynare_solve.m index 104ac1450..9e27df3ee 100644 --- a/matlab/dynare_solve.m +++ b/matlab/dynare_solve.m @@ -38,7 +38,7 @@ global options_ options_ = set_default_option(options_,'solve_algo',2); info = 0; if options_.solve_algo == 0 - if ~exist('OCTAVE_VERSION') && isempty(ver('optim')) + if ~exist('OCTAVE_VERSION') && ~license('test', 'optimization_toolbox') error('You can''t use solve_algo=0 since you don''t have MATLAB''s Optimization Toolbox') end options=optimset('fsolve'); diff --git a/matlab/solve_one_boundary.m b/matlab/solve_one_boundary.m index 94de81104..1b987ced1 100644 --- a/matlab/solve_one_boundary.m +++ b/matlab/solve_one_boundary.m @@ -225,7 +225,7 @@ for it_=start:incr:finish if (verbose == 1) disp('steady: fsolve'); end - if exist('OCTAVE_VERSION') || isempty(ver('optim')) + if exist('OCTAVE_VERSION') || ~license('test', 'optimization_toolbox') % Note that fsolve() exists under Octave, but has a different syntax % So we fail for the moment under Octave, until we add the corresponding code error('DYNARE_SOLVE: you can''t use solve_algo=0 since you don''t have Matlab''s Optimization Toolbox')