From d6c28b57707bf449c1187b27981bf67abc0f465e Mon Sep 17 00:00:00 2001
From: Olivier Sauter <olivier.sauter@epfl.ch>
Date: Tue, 17 Sep 2024 23:51:30 +0200
Subject: [PATCH] temp duplicate to make tests pass

---
 matlab/interpos_nan.m | 56 +++++++++++++++++++++++++++++++++++++++++++
 matlab/tests_matlab.m |  7 +-----
 2 files changed, 57 insertions(+), 6 deletions(-)
 create mode 100644 matlab/interpos_nan.m

diff --git a/matlab/interpos_nan.m b/matlab/interpos_nan.m
new file mode 100644
index 00000000..396b06b3
--- /dev/null
+++ b/matlab/interpos_nan.m
@@ -0,0 +1,56 @@
+function [varargout] = interpos_nan(var1, var2, var3, varargin);
+%
+% see help interpos for details
+%
+% pre-exclude NaNs from either xin or yin before calling interpos
+%
+nverbose = 1; % warnings
+%
+if nargin < 3
+  error('xin and yin required');
+else
+  if isscalar(var1)
+    xin = var2;
+    yin = var3;
+    kopt_provided = 1;
+  else
+    xin = var1;
+    yin = var2;
+    kopt_provided = 0;
+  end
+  if nverbose >= 1 && (any(isnan(xin)) || any(isnan(yin))), warning('NaNs removed by interpos_nan'); end
+end
+
+ij = find(~isnan(xin) & ~isnan(yin));
+if ~isempty(ij)
+  xin_eff = xin(ij);
+  yin_eff = yin(ij);
+  if kopt_provided == 1
+    switch nargout
+      case 1
+        [varargout{1}] = interpos(var1, xin_eff, yin_eff, varargin{:});
+      case 2
+        [varargout{1},varargout{2}] = interpos(var1, xin_eff, yin_eff, varargin{:});
+      case 3
+        [varargout{1},varargout{2},varargout{3}] = interpos(var1, xin_eff, yin_eff, varargin{:});
+      otherwise
+        [varargout{1},varargout{2},varargout{3},varargout{4}] = interpos(var1, xin_eff, yin_eff, varargin{:});
+    end
+  else
+    switch nargout
+      case 1
+        [varargout{1}] = interpos(xin_eff, yin_eff, var3, varargin{:});
+      case 2
+        [varargout{1},varargout{2}] = interpos(xin_eff, yin_eff, var3, varargin{:});
+      case 3
+        [varargout{1},varargout{2},varargout{3}] = interpos(xin_eff, yin_eff, var3, varargin{:});
+      otherwise
+        [varargout{1},varargout{2},varargout{3},varargout{4}] = interpos(xin_eff, yin_eff, var3, varargin{:});
+    end
+  end
+else
+  if nargout > 0
+    varargout = cell(nargout,1);
+    warning('Only NaNs in xin/yin');
+  end
+end
diff --git a/matlab/tests_matlab.m b/matlab/tests_matlab.m
index 1e976753..a2055fcc 100644
--- a/matlab/tests_matlab.m
+++ b/matlab/tests_matlab.m
@@ -2,12 +2,7 @@ function tests_matlab(test_case)
 try
    fprintf('\n Running test file: %s\n',mfilename('fullpath'));
    fprintf('     Time: %s\n',datestr(now));
-   which interpos
-   which interpos_nan
-   ls /home/sauter/interpos/matlab
-   !uname -a
-   passed = true
-   %passed = run_gdat_tests(test_case); % call to your test script here, with optional test_case input
+   passed = run_gdat_tests(test_case); % call to your test script here, with optional test_case input
    exit_code = int32(~passed); % convert to bash shell convention
 catch ME
    disp(getReport(ME))
-- 
GitLab