* Bug #12863 fixed - size(state-space, "r") returned an error. 34/12434/2
Charlotte HECQUET [Thu, 5 Sep 2013 13:22:55 +0000 (15:22 +0200)]
Change-Id: I71e600312dde1452e92448a0beaa1b6e014243c0

scilab/CHANGES_5.5.X
scilab/modules/overloading/macros/%lss_size.sci
scilab/modules/overloading/tests/nonreg_tests/bug_12863.dia.ref [new file with mode: 0644]
scilab/modules/overloading/tests/nonreg_tests/bug_12863.tst [new file with mode: 0644]

index de1f04b..bb1a4da 100644 (file)
@@ -626,3 +626,5 @@ Bug fixes
 * Bug #12858 fixed - Typo in French doc for debug() and pause().
 
 * Bug #12859 fixed - Core doc: fix optional argument of isdef().
+
+* Bug #12863 fixed - size(state-space, "r") returned an error.
index cf57962..21567ba 100644 (file)
@@ -16,8 +16,11 @@ function [m,n,nx]=%lss_size(x,flag)
     [a,b,c,d]=x(2:5);[m,w]=size([c,d]),[w,n]=size([b;d]);
     if rhs==2 then
         if type(flag)==10 then
-            if part(flag,1)=="r" then flag=1;end
-            if part(flag,1)=="c" then flag=2;end
+            if part(flag,1)=="r" then
+                flag=1;
+            elseif part(flag,1)=="c" then
+                flag=2;
+            end
         end
     end
     if lhs==1
diff --git a/scilab/modules/overloading/tests/nonreg_tests/bug_12863.dia.ref b/scilab/modules/overloading/tests/nonreg_tests/bug_12863.dia.ref
new file mode 100644 (file)
index 0000000..1d1b0d9
--- /dev/null
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 12863 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12863
+//
+// <-- Short Description -->
+// Function size(state-space, "r") does not work
+sl = ssrand(3, 2, 4);
+assert_checkequal(size(sl), [3, 2]);
+assert_checkequal(size(sl, "r"), 3);
+assert_checkequal(size(sl, "c"), 2);
diff --git a/scilab/modules/overloading/tests/nonreg_tests/bug_12863.tst b/scilab/modules/overloading/tests/nonreg_tests/bug_12863.tst
new file mode 100644 (file)
index 0000000..7f9d99c
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 12863 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12863
+//
+// <-- Short Description -->
+// Function size(state-space, "r") does not work
+
+sl = ssrand(3, 2, 4);
+assert_checkequal(size(sl), [3, 2]);
+assert_checkequal(size(sl, "r"), 3);
+assert_checkequal(size(sl, "c"), 2);