Bug #13359: Nyquist datatip with symetry now displays properly negative frequencies 57/14457/5
David Violeau [Fri, 25 Apr 2014 14:12:57 +0000 (16:12 +0200)]
Change-Id: I63b0f91e316a865fd27fcc189629729c65e9a2f9

scilab/CHANGES_5.5.X
scilab/modules/cacsd/macros/nyquist.sci
scilab/modules/cacsd/tests/nonreg_tests/bug_13359.dia.ref [new file with mode: 0644]
scilab/modules/cacsd/tests/nonreg_tests/bug_13359.tst [new file with mode: 0644]

index 2db5edd..2f9d1e5 100644 (file)
@@ -102,6 +102,9 @@ Scilab Bug Fixes
 
 * Bug #13358 fixed - Intersect and unique were slow due to an issue in quicksort implementation.
 
+* Bug #13359 fixed - Nyquist datatip with symetry now displaying properly
+                     negative frequencies
+
 * Bug #13364 fixed - Scilab did not start on CentOS 6.5, RedHat 5.4, RedHat 5.5 (GLIBC issue).
 
 * Bug #13365 fixed - Data bounds were not correctly updated in 3-D.
index a7538f6..10fb2dd 100644 (file)
@@ -166,7 +166,7 @@ function nyquist(varargin)
             xpoly([R(k,:) R(k,$:-1:1)],[I(k,:) -I(k,$:-1:1)]);
             e=gce();e.foreground=k;
             e.display_function = "formatNyquistTip";
-            e.display_function_data = [F(kf,:) F(kf,$:-1:1)];
+            e.display_function_data = [F(kf,:) -1*F(kf,$:-1:1)];
             Curves=[Curves,e];
             kf=kf+ilf;
         end
diff --git a/scilab/modules/cacsd/tests/nonreg_tests/bug_13359.dia.ref b/scilab/modules/cacsd/tests/nonreg_tests/bug_13359.dia.ref
new file mode 100644 (file)
index 0000000..40c1cf8
--- /dev/null
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Pierre-Aime Agnel
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 13359 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/13359
+//
+// <-- Short Description -->
+// Nyquist datatip were not displaying negative frequencies properly
+//
+// <-- TEST WITH GRAPHIC -->
+s = poly(0, 's');
+h = syslin('c', 1 / (s + 1));
+nyquist(h);
+ax = gca();
+pl = ax.children(1).children(2);
+d1 = datatipCreate(pl, 200);
+txt_datatip = d1.text;
+assert_checkequal(strindex(txt_datatip(2), "-"), 1);
diff --git a/scilab/modules/cacsd/tests/nonreg_tests/bug_13359.tst b/scilab/modules/cacsd/tests/nonreg_tests/bug_13359.tst
new file mode 100644 (file)
index 0000000..d5e208d
--- /dev/null
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Pierre-Aime Agnel
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 13359 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/13359
+//
+// <-- Short Description -->
+// Nyquist datatip were not displaying negative frequencies properly
+//
+// <-- TEST WITH GRAPHIC -->
+
+s = poly(0, 's');
+h = syslin('c', 1 / (s + 1));
+nyquist(h);
+
+ax = gca();
+pl = ax.children(1).children(2);
+d1 = datatipCreate(pl, 200);
+txt_datatip = d1.text;
+assert_checkequal(strindex(txt_datatip(2), "-"), 1);