From 8b7420c77b0edfcbb710bc1c23befce64b169dfa Mon Sep 17 00:00:00 2001
From: Johannes Pfeifer <jpfeifer@gmx.de>
Date: Wed, 24 Apr 2024 17:01:37 +0200
Subject: [PATCH] :bug: fix crashes due to leading singleton dimensions being
 ignored by ndim

Occurs with e.g. one shock only for heteroskedastic_filter
---
 matlab/kalman/likelihood/kalman_filter.m                        | 2 +-
 matlab/kalman/likelihood/kalman_filter_d.m                      | 2 +-
 matlab/kalman/likelihood/missing_observations_kalman_filter.m   | 2 +-
 matlab/kalman/likelihood/missing_observations_kalman_filter_d.m | 2 +-
 matlab/kalman/likelihood/univariate_kalman_filter.m             | 2 +-
 matlab/kalman/likelihood/univariate_kalman_filter_d.m           | 2 +-
 matlab/kalman/missing_DiffuseKalmanSmootherH1_Z.m               | 2 +-
 matlab/kalman/missing_DiffuseKalmanSmootherH3_Z.m               | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/matlab/kalman/likelihood/kalman_filter.m b/matlab/kalman/likelihood/kalman_filter.m
index 369c08601..acafbff26 100644
--- a/matlab/kalman/likelihood/kalman_filter.m
+++ b/matlab/kalman/likelihood/kalman_filter.m
@@ -115,7 +115,7 @@ smpl = last-start+1;
 % Initialize some variables.
 dF   = 1;
 isqvec = false;
-if ndim(Q)>2
+if ndims(Q)>2
     Qvec = Q;
     Q=Q(:,:,1);
     isqvec = true;
diff --git a/matlab/kalman/likelihood/kalman_filter_d.m b/matlab/kalman/likelihood/kalman_filter_d.m
index 3ee2749ca..fece96fde 100644
--- a/matlab/kalman/likelihood/kalman_filter_d.m
+++ b/matlab/kalman/likelihood/kalman_filter_d.m
@@ -60,7 +60,7 @@ smpl = last-start+1;
 % Initialize some variables.
 dF   = 1;
 isqvec = false;
-if ndim(Q)>2
+if ndims(Q)>2
     Qvec = Q;
     Q=Q(:,:,1);
     isqvec = true;
diff --git a/matlab/kalman/likelihood/missing_observations_kalman_filter.m b/matlab/kalman/likelihood/missing_observations_kalman_filter.m
index 4979a5e2f..67b3adf61 100644
--- a/matlab/kalman/likelihood/missing_observations_kalman_filter.m
+++ b/matlab/kalman/likelihood/missing_observations_kalman_filter.m
@@ -78,7 +78,7 @@ smpl = last-start+1;
 % Initialize some variables.
 dF   = 1;
 isqvec = false;
-if ndim(Q)>2
+if ndims(Q)>2
     Qvec = Q;
     Q=Q(:,:,1);
     isqvec = true;
diff --git a/matlab/kalman/likelihood/missing_observations_kalman_filter_d.m b/matlab/kalman/likelihood/missing_observations_kalman_filter_d.m
index c870f73c9..3c3724b3b 100644
--- a/matlab/kalman/likelihood/missing_observations_kalman_filter_d.m
+++ b/matlab/kalman/likelihood/missing_observations_kalman_filter_d.m
@@ -66,7 +66,7 @@ smpl = last-start+1;
 % Initialize some variables.
 dF   = 1;
 isqvec = false;
-if ndim(Q)>2
+if ndims(Q)>2
     Qvec = Q;
     Q=Q(:,:,1);
     isqvec = true;
diff --git a/matlab/kalman/likelihood/univariate_kalman_filter.m b/matlab/kalman/likelihood/univariate_kalman_filter.m
index 37ce20631..88036eab2 100644
--- a/matlab/kalman/likelihood/univariate_kalman_filter.m
+++ b/matlab/kalman/likelihood/univariate_kalman_filter.m
@@ -117,7 +117,7 @@ smpl = last-start+1;
 
 % Initialize some variables.
 isqvec = false;
-if ndim(Q)>2
+if ndims(Q)>2
     Qvec = Q;
     Q=Q(:,:,1);
     isqvec = true;
diff --git a/matlab/kalman/likelihood/univariate_kalman_filter_d.m b/matlab/kalman/likelihood/univariate_kalman_filter_d.m
index d18b262a0..f33119703 100644
--- a/matlab/kalman/likelihood/univariate_kalman_filter_d.m
+++ b/matlab/kalman/likelihood/univariate_kalman_filter_d.m
@@ -110,7 +110,7 @@ smpl = last-start+1;
 % Initialize some variables.
 dF   = 1;
 isqvec = false;
-if ndim(Q)>2
+if ndims(Q)>2
     Qvec = Q;
     Q=Q(:,:,1);
     isqvec = true;
diff --git a/matlab/kalman/missing_DiffuseKalmanSmootherH1_Z.m b/matlab/kalman/missing_DiffuseKalmanSmootherH1_Z.m
index cf1430a6a..4b23b4cc8 100644
--- a/matlab/kalman/missing_DiffuseKalmanSmootherH1_Z.m
+++ b/matlab/kalman/missing_DiffuseKalmanSmootherH1_Z.m
@@ -111,7 +111,7 @@ Pinf            = zeros(spinf(1),spinf(2),smpl+1);
 Pinf(:,:,1)     = Pinf1;
 rr              = size(Q,1);
 isqvec = false;
-if ndim(Q)>2
+if ndims(Q)>2
     Qvec = Q;
     Q=Q(:,:,1);
     isqvec = true;
diff --git a/matlab/kalman/missing_DiffuseKalmanSmootherH3_Z.m b/matlab/kalman/missing_DiffuseKalmanSmootherH3_Z.m
index eb19f41eb..2b6f90466 100644
--- a/matlab/kalman/missing_DiffuseKalmanSmootherH3_Z.m
+++ b/matlab/kalman/missing_DiffuseKalmanSmootherH3_Z.m
@@ -121,7 +121,7 @@ Pstar1          = Pstar;
 Pinf1           = Pinf;
 rr              = size(Q,1); % number of structural shocks
 isqvec = false;
-if ndim(Q)>2
+if ndims(Q)>2
     Qvec = Q;
     Q=Q(:,:,1);
     isqvec = true;
-- 
GitLab