* Bug 15266 fixed: Wrong default out_mode in linear_interpn 15/19415/2
Antoine ELIAS [Mon, 4 Sep 2017 15:11:11 +0000 (17:11 +0200)]
Change-Id: I6fdb34caf3c840cd013789ab32c343ec64196302

scilab/CHANGES.md
scilab/modules/interpolation/sci_gateway/cpp/sci_linear_interpn.cpp
scilab/modules/interpolation/tests/nonreg_tests/bug_15266.tst [new file with mode: 0644]

index f0e3003..998fdc8 100644 (file)
@@ -398,6 +398,7 @@ the [development mailing list](dev@lists.scilab.org) for a particular toolbox.
 * [#15199](http://bugzilla.scilab.org/show_bug.cgi?id=15199): Scilab crash when using fsolve for functions containing other functions.
 * [#15205](http://bugzilla.scilab.org/show_bug.cgi?id=15205): `get_scicos_version` returned the previous version.
 * [#15207](http://bugzilla.scilab.org/show_bug.cgi?id=15207): `xcos(scs_m)` did not work for sub-systems.
+* [#15266](http://bugzilla.scilab.org/show_bug.cgi?id=15266): Wrong default out_mode in `linear_interpn`.
 
 ### Bugs fixed in 6.0.0:
 * [#592](http://bugzilla.scilab.org/show_bug.cgi?id=592): `linspace(a, b, n<=0)` returned `b` instead of `[]`
index ae0dc14..f603808 100644 (file)
@@ -40,7 +40,7 @@ types::Function::ReturnValue sci_linear_interpn(types::typed_list &in, int _iRet
     types::Double* pDblVp  = NULL;
 
     int n           = 0;
-    int iType       = 0;
+    int iType       = 8; //default C0
 
     // *** check the minimal number of input args. ***
     if (in.size() < 3)
diff --git a/scilab/modules/interpolation/tests/nonreg_tests/bug_15266.tst b/scilab/modules/interpolation/tests/nonreg_tests/bug_15266.tst
new file mode 100644 (file)
index 0000000..a1db746
--- /dev/null
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2017 - ESI - Antoine ELIAS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+
+// <-- Non-regression test for bug 15266 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=15266
+//
+// <-- Short Description -->
+// Wrong default out_mode in linear_interpn
+
+a=[1 1 1 1];
+b=[1 1 1 1];
+c=[1 1 1 1];
+d=[-10 -9 -8];
+e=[0 0.1 0.2];
+f=[0 1 2];
+g(:,:,1)=[1 2 3;4 5 6;7 8 9];
+g(:,:,2)=[1 2 3;4 5 6;7 8 9];
+g(:,:,3)=[1 2 3;4 5 6;7 8 9];
+assert_checkequal(linear_interpn(a,b,c,d,e,f,g), [9 9 9 9]);
+