* Bug 15557 fixed: mtlb_std(1:10) yielded an error 85/19985/3
Samuel GOUGEON [Mon, 30 Apr 2018 13:50:20 +0000 (15:50 +0200)]
 http://bugzilla.scilab.org/15557

Change-Id: I0c206f8e03469370f362f7212e1dab06895d6093

scilab/CHANGES.md
scilab/modules/compatibility_functions/macros/mtlb_std.sci
scilab/modules/compatibility_functions/tests/nonreg_tests/bug_15557.tst [new file with mode: 0644]
scilab/modules/compatibility_functions/tests/unit_tests/mtlb_std.dia.ref [deleted file]
scilab/modules/compatibility_functions/tests/unit_tests/mtlb_std.tst

index 0205bef..7bbb7bc 100644 (file)
@@ -499,6 +499,7 @@ Known issues
 * [#15549](http://bugzilla.scilab.org/show_bug.cgi?id=15549): unary minus incorrectly acted as the negation operator on %t.
 * [#15551](http://bugzilla.scilab.org/show_bug.cgi?id=15551): arithmetic operators gave wrong results with booleans.
 * [#15553](http://bugzilla.scilab.org/show_bug.cgi?id=15553): TOWS_c block failed with 0 simulation time.
+* [#15557](http://bugzilla.scilab.org/show_bug.cgi?id=15557): `mtlb_std(1:10)` yielded an error.
 * [#15563](http://bugzilla.scilab.org/show_bug.cgi?id=15563): poly(A,v) was broken when A is a matrix.
 * [#15566](http://bugzilla.scilab.org/show_bug.cgi?id=15566): matrix insertion checked overall size but not individual dimensions.
 * [#15578](http://bugzilla.scilab.org/show_bug.cgi?id=15578): `mfile2sci` no longer processed correctly a comment appended to the function prototype, nor any m2scideclare() statement.
index c4e0969..a2160ae 100644 (file)
@@ -17,7 +17,8 @@ function m = mtlb_std(x, flag, dim)
 
     if rhs < 2 then
         flag = 0;
-    elseif rhs < 3 then
+    end
+    if rhs < 3 then
         dim = "*";
     end
 
diff --git a/scilab/modules/compatibility_functions/tests/nonreg_tests/bug_15557.tst b/scilab/modules/compatibility_functions/tests/nonreg_tests/bug_15557.tst
new file mode 100644 (file)
index 0000000..5cb1863
--- /dev/null
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2018 - Scilab Enterprises - Cedric Delamarre
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+
+// <-- Non-regression test for bug 15557 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=15557
+//
+// <-- Short Description -->
+// mtlb_std called with only one argument returns an error
+
+X = rand(1:10);
+assert_checkequal(mtlb_std(X), mtlb_std(X, 0, "*"))
diff --git a/scilab/modules/compatibility_functions/tests/unit_tests/mtlb_std.dia.ref b/scilab/modules/compatibility_functions/tests/unit_tests/mtlb_std.dia.ref
deleted file mode 100644 (file)
index 6ccd037..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-//
-// <-- CLI SHELL MODE -->
-X = [1 5 9; 7 15 22];
-assert_checkalmostequal(mtlb_std(X, 0), 7.547626558506);
-assert_checkalmostequal(mtlb_std(X, 1), 6.890008869531);
-assert_checkalmostequal(mtlb_std(X, 0, 1), [4.242640687119 7.071067811865 9.192388155425]);
-assert_checkalmostequal(mtlb_std(X, 0, 2), [4 ; 7.505553499465]);
-assert_checkalmostequal(mtlb_std(X, 1, 1), [3 5 6.5]);
-assert_checkalmostequal(mtlb_std(X, 1, 2), [3.265986323711 ; 6.128258770283]);
index 1c9f456..7741628 100644 (file)
@@ -6,9 +6,12 @@
 // =============================================================================
 //
 // <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
 
 X = [1 5 9; 7 15 22];
 
+assert_checkalmostequal(mtlb_std(X), 7.547626558506);
+
 assert_checkalmostequal(mtlb_std(X, 0), 7.547626558506);
 assert_checkalmostequal(mtlb_std(X, 1), 6.890008869531);