From ef923e41c39445879fc87f6c63d8907d8ac0e204 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemia=20=28Scylla=29?= <stepan@dynare.org>
Date: Wed, 23 Jan 2019 15:41:39 +0100
Subject: [PATCH] Moved +dseries/initialize.m to @dseries/initialize.m

To initialize the toolbox:

 - Add the `src` folder in the path
 - run `dseries().initialize()`

This is an Octave compatibily workaround, Octrave cannot handle
simultaneously +folder (namespace) and @folder (class).
---
 src/{+dseries => @dseries}/initialize.m | 11 +++++------
 src/@dseries/subsref.m                  |  2 ++
 2 files changed, 7 insertions(+), 6 deletions(-)
 rename src/{+dseries => @dseries}/initialize.m (90%)

diff --git a/src/+dseries/initialize.m b/src/@dseries/initialize.m
similarity index 90%
rename from src/+dseries/initialize.m
rename to src/@dseries/initialize.m
index be8a58e..51b3f26 100644
--- a/src/+dseries/initialize.m
+++ b/src/@dseries/initialize.m
@@ -1,4 +1,4 @@
-function initialize()
+function initialize(fake)
 
 % Copyright (C) 2015-2018 Dynare Team
 %
@@ -16,7 +16,7 @@ function initialize()
 % along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
 
 % Get the path to the dseries toolbox.
-dseries_src_root = strrep(which('dseries.initialize'),'+dseries/initialize.m','');
+dseries_src_root = strrep(which('@dseries/initialize'),'@dseries/initialize.m','');
 
 % Check that the x13 binary is available
 nox13 = false;
@@ -65,8 +65,7 @@ if ~exist('isint','file')
 end
 
 if ~exist('isoctave','file')
-    addpath([dseries_src_root 'utilities/missing/isoctave']);
-    %p{end+1} = 'utilities/missing/isoctave';
+    p{end+1} = 'utilities/missing/isoctave';
 end
 
 if ~exist('shiftS','file')
@@ -85,7 +84,7 @@ if ~exist('ndim','file')
     p{end+1} = 'utilities/missing/ndim';
 end
 
-if ~isoctave && (~exist('rows','file') || ~exist('columns','file'))
+if ~exist('OCTAVE_VERSION') && (~exist('rows','file') || ~exist('columns','file'))
     p{end+1} = 'utilities/missing/dims';
 end
 
@@ -97,7 +96,7 @@ if ~exist('get_file_extension','file')
     p{end+1} = 'utilities/missing/get_file_extension';
 end
 
-if isoctave && ~exist('user_has_octave_forge_package','file')
+if exist('OCTAVE_VERSION') && ~exist('user_has_octave_forge_package','file')
     p{end+1} = 'utilities/missing/user_has_octave_forge_package';
 end
 
diff --git a/src/@dseries/subsref.m b/src/@dseries/subsref.m
index 63d9fa1..8211214 100644
--- a/src/@dseries/subsref.m
+++ b/src/@dseries/subsref.m
@@ -83,6 +83,8 @@ switch S(1).type
         end
       case 'struct'
         r = dseries2struct(o);
+      case 'initialize'
+        initialize(o);
       case {'baxter_king_filter', 'baxter_king_filter_', ...
             'cumsum','cumsum_', ...
             'insert', ...
-- 
GitLab