Bug 3967 fixed
Vincent COUVERT [Wed, 21 Jan 2009 16:26:00 +0000 (17:26 +0100)]
scilab/CHANGES_5.1
scilab/modules/cacsd/macros/pfss.sci
scilab/modules/cacsd/tests/nonreg_tests/bug_3967.dia.ref [new file with mode: 0644]
scilab/modules/cacsd/tests/nonreg_tests/bug_3967.tst [new file with mode: 0644]

index 0d76123..004d569 100644 (file)
@@ -228,6 +228,8 @@ Bug fixes:
 
 * bug 3821 fixed - Problems with uicontrol scrolling when parent figure has property auto_resize set to "off".
 
+* bug 3967 fixed - When called with a tf, pfss should of course return a tf.
+
 Obsolete functions removed :
 ============================
 
index da7d7f0..5e9def4 100644 (file)
@@ -29,9 +29,9 @@ function elts=pfss(S,rmax,cord)
     error(msprintf(gettext("%s: Wrong type for input argument #%d: Linear state space or a transfer function expected.\n"),"pfss",1))
   end
   if typeof(S)=='rational' then 
-    S=tf2ss(S),flag=%f
+    S=tf2ss(S),flag=%T
   else
-    flag=%t
+    flag=%F
   end
 
   [f,g,h,dd,dom]=S([2:5,7]);
diff --git a/scilab/modules/cacsd/tests/nonreg_tests/bug_3967.dia.ref b/scilab/modules/cacsd/tests/nonreg_tests/bug_3967.dia.ref
new file mode 100644 (file)
index 0000000..467a0cb
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 3967 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3967
+//
+// <-- Short Description -->
+//    when called with a transfer function, pfss returns a set of state-space systems as a result.
+//    pfss used to return a transfer functions when called with a transfer function (verified of 4.1.2).
+//    When called with a tf, pfss should of course return a tf.
+tf = syslin("c", 1/%s);
+ss = tf2ss(tf);
+if pfss(tf)<>list(tf) then bugmes();quit;end
+if pfss(ss)<>list(ss) then bugmes();quit;end
diff --git a/scilab/modules/cacsd/tests/nonreg_tests/bug_3967.tst b/scilab/modules/cacsd/tests/nonreg_tests/bug_3967.tst
new file mode 100644 (file)
index 0000000..7a73220
--- /dev/null
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 3967 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3967
+//
+// <-- Short Description -->
+//    when called with a transfer function, pfss returns a set of state-space systems as a result. 
+//    pfss used to return a transfer functions when called with a transfer function (verified of 4.1.2).
+//    When called with a tf, pfss should of course return a tf. 
+
+tf = syslin("c", 1/%s);
+ss = tf2ss(tf);
+
+if pfss(tf)<>list(tf) then pause;end
+if pfss(ss)<>list(ss) then pause;end
+
+
+
+