function initialize_dseries_class() % Copyright (C) 2015-2019 Dynare Team % % This code is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % % Dynare dseries submodule is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License % along with Dynare. If not, see . % Get the path to the dseries toolbox. dseries_src_root = strrep(which('initialize_dseries_class'),'initialize_dseries_class.m',''); % Set the subfolders to be added in the path. p = {'read'; ... 'utilities/is'; ... 'utilities/op'; ... 'utilities/convert'; ... 'utilities/str'; ... 'utilities/insert'; ... 'utilities/file'; ... 'utilities/from'; ... 'utilities/print'; ... 'utilities/variables'; ... 'utilities/cumulate'; ... 'utilities/struct'; ... 'utilities/x13'}; % Add missing routines if dynare is not in the path if ~exist('isint','file') p{end+1} = 'utilities/missing/isint'; end if ~exist('isoctave','file') p{end+1} = 'utilities/missing/isoctave'; end if ~exist('shiftS','file') p{end+1} = 'utilities/missing/shiftS'; end if ~exist('matlab_ver_less_than','file') p{end+1} = 'utilities/missing/matlab_ver_less_than'; end if ~exist('demean','file') p{end+1} = 'utilities/missing/demean'; end if ~exist('ndim','file') p{end+1} = 'utilities/missing/ndim'; end if ~exist('OCTAVE_VERSION') && (~exist('rows','file') || ~exist('columns','file')) p{end+1} = 'utilities/missing/dims'; end if ~exist('sample_hp_filter','file') p{end+1} = 'utilities/missing/sample_hp_filter'; end if ~exist('get_file_extension','file') p{end+1} = 'utilities/missing/get_file_extension'; end if exist('OCTAVE_VERSION') && ~exist('user_has_octave_forge_package','file') p{end+1} = 'utilities/missing/user_has_octave_forge_package'; end if ~exist('get_cells_id','file') p{end+1} = 'utilities/missing/get_cells_id'; end if ~exist('randomstring','file') p{end+1} = 'utilities/missing/randomstring'; end if ~exist('one_sided_hp_filter','file') p{end+1} = 'utilities/missing/one_sided_hp_filter'; end if ~exist('OCTAVE_VERSION') && ~exist('ismatrix','builtin') p{end+1} = 'utilities/missing/ismatrix'; end if ~exist('OCTAVE_VERSION') && ~exist('isrow','builtin') p{end+1} = 'utilities/missing/isrow'; end if ~exist('OCTAVE_VERSION') && ~exist('iscolumn','builtin') p{end+1} = 'utilities/missing/iscolumn'; end if ~exist('OCTAVE_VERSION') && ~exist('strsplit','file') p{end+1} = 'utilities/missing/strsplit'; end if ~exist('OCTAVE_VERSION') && ~exist('strjoin','file') p{end+1} = 'utilities/missing/strjoin'; end % Set path P = cellfun(@(c)[dseries_src_root c], p, 'uni', false); addpath(P{:}); % If x13 binary is not available, display a warning, and remove the x13 % subdirectory from the path if isempty(select_x13_binary(true)); rmpath([dseries_src_root 'utilities/x13']); end assignin('caller', 'dseries_src_root', dseries_src_root);