From e059c5bfaa6fd50b76b751bbf89fe56aba6bf33e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Tue, 24 Jan 2017 23:17:17 +0100
Subject: [PATCH] Added routine in missing...

Necessary if dseries class is not used with Dynare.
---
 src/initialize_dseries_toolbox.m              |  8 +++++++
 .../missing/get_cells_id/get_cells_id.m       | 22 ++++++++++++++++++
 .../user_has_octave_forge_package.m           | 23 +++++++++++++++++++
 3 files changed, 53 insertions(+)
 create mode 100644 src/utilities/missing/get_cells_id/get_cells_id.m
 create mode 100644 src/utilities/missing/user_has_octave_forge_package/user_has_octave_forge_package.m

diff --git a/src/initialize_dseries_toolbox.m b/src/initialize_dseries_toolbox.m
index be9c6fa..c7a777d 100644
--- a/src/initialize_dseries_toolbox.m
+++ b/src/initialize_dseries_toolbox.m
@@ -38,4 +38,12 @@ if ~exist('sample_hp_filter','file')
     addpath([dseries_src_root '/utilities/missing/sample_hp_filter'])
 end
 
+if ~exist('user_has_octave_forge_package','file')
+    addpath([dseries_src_root '/utilities/missing/user_has_octave_forge_package'])
+end
+
+if ~exist('get_cells_id','file')
+    addpath([dseries_src_root '/utilities/missing/get_cells_id'])
+end
+
 dseries('initialize');
\ No newline at end of file
diff --git a/src/utilities/missing/get_cells_id/get_cells_id.m b/src/utilities/missing/get_cells_id/get_cells_id.m
new file mode 100644
index 0000000..c11c8a0
--- /dev/null
+++ b/src/utilities/missing/get_cells_id/get_cells_id.m
@@ -0,0 +1,22 @@
+function [B,C] = get_cells_id(str,sep)
+
+% Copyright (C) 2012-2017 Dynare Team
+%
+% This file is part of Dynare.
+%
+% Dynare 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 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 <http://www.gnu.org/licenses/>.
+
+sep_locations = transpose(strfind(str,sep));
+B = [1; sep_locations+1];
+C = [sep_locations-1; length(str)];
\ No newline at end of file
diff --git a/src/utilities/missing/user_has_octave_forge_package/user_has_octave_forge_package.m b/src/utilities/missing/user_has_octave_forge_package/user_has_octave_forge_package.m
new file mode 100644
index 0000000..13a631c
--- /dev/null
+++ b/src/utilities/missing/user_has_octave_forge_package/user_has_octave_forge_package.m
@@ -0,0 +1,23 @@
+function [hasPackage] = user_has_octave_forge_package(package)
+% Checks for the availability of a given Octave Forge package
+
+% Copyright (C) 2012-2017 Dynare Team
+%
+% This file is part of Dynare.
+%
+% Dynare 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 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 <http://www.gnu.org/licenses/>.
+
+[desc,flag] = pkg('describe', package);
+
+hasPackage = isequal(flag{1,1}, 'Loaded');
\ No newline at end of file
-- 
GitLab