bug 14829 fix proposal 45/18645/1
Serge Steer [Sun, 30 Oct 2016 14:58:30 +0000 (15:58 +0100)]
Change-Id: I52a05ac98a0f816d75985db36e0a0133f30250dd

scilab/modules/overloading/macros/%r_m_p.sci
scilab/modules/overloading/tests/nonreg_tests/bug_14829.dia.ref [new file with mode: 0644]
scilab/modules/overloading/tests/nonreg_tests/bug_14829.tst [new file with mode: 0644]

index 8ed66ec..3e20b08 100644 (file)
@@ -13,5 +13,9 @@
 function [f1] = %r_m_p(r1,p2)
     // r = %r_m_p(r1, p2)  <=> r = r1*p2
     // r1 = rational p2 = polynomial
-    f1 = p2*r1;
+    if size(p2,"*")==1 then
+        f1=p2*r1
+    else
+        f1 = p2.'*r1.';
+    end
 endfunction
diff --git a/scilab/modules/overloading/tests/nonreg_tests/bug_14829.dia.ref b/scilab/modules/overloading/tests/nonreg_tests/bug_14829.dia.ref
new file mode 100644 (file)
index 0000000..c463906
--- /dev/null
@@ -0,0 +1,17 @@
+//<-- CLI SHELL MODE -->
+// =============================================================================
+// 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 14829 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=14829
+//
+// <-- Short Description -->
+// The product of a rational matrix by a polynomial vector has been broken
+a=[1/%s 1/%s];b=[%s;%s];
+assert_checktrue(a*b==rlist(2,1,[]));
diff --git a/scilab/modules/overloading/tests/nonreg_tests/bug_14829.tst b/scilab/modules/overloading/tests/nonreg_tests/bug_14829.tst
new file mode 100644 (file)
index 0000000..c463906
--- /dev/null
@@ -0,0 +1,17 @@
+//<-- CLI SHELL MODE -->
+// =============================================================================
+// 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 14829 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=14829
+//
+// <-- Short Description -->
+// The product of a rational matrix by a polynomial vector has been broken
+a=[1/%s 1/%s];b=[%s;%s];
+assert_checktrue(a*b==rlist(2,1,[]));