* Bug 15740 fixed: now (%s == %z) == %f and (%s ~= %z) == %t 03/20503/4
St├ęphane Mottelet [Tue, 18 Sep 2018 09:40:33 +0000 (11:40 +0200)]
http://bugzilla.scilab.org/show_bug.cgi?id=15740

Change-Id: Ic98854abeb7bf534d513bdb6cb66d91bb3efe223

scilab/CHANGES.md
scilab/modules/ast/src/cpp/operations/types_comparison_eq.cpp
scilab/modules/ast/src/cpp/operations/types_comparison_ne.cpp
scilab/modules/ast/tests/nonreg_tests/bug_15740.tst [new file with mode: 0644]

index 37e4c4a..de48323 100644 (file)
@@ -622,6 +622,7 @@ Known issues
 * [#15818](http://bugzilla.scilab.org/show_bug.cgi?id=15818): `polarplot()` example could not be subplotted. `polarplot`'s demo did not display 'View code' and too often prompted the user.
 * [#15847](http://bugzilla.scilab.org/show_bug.cgi?id=15847): Scilab crashed at startup.
 * [#15854](http://bugzilla.scilab.org/show_bug.cgi?id=15854): `horner(1:$,4)` yielded an error. Extractions from `cblock` tables were impacted.
+* [#15740](http://bugzilla.scilab.org/show_bug.cgi?id=15740): now `(%s == %z) == %f` and `(%s ~= %z) == %t` 
 
 
 ### Bugs fixed in 6.0.1:
index 93f18b0..8838cdb 100644 (file)
@@ -2955,6 +2955,11 @@ InternalType* compequal_M_M<Polynom, Polynom, Bool>(Polynom* _pL, Polynom* _pR)
     SinglePoly** pSPL = _pL->get();
     SinglePoly** pSPR = _pR->get();
 
+    if (_pL->getVariableName() != _pR->getVariableName())
+    {
+        return new Bool(false);
+    }
+
     if (_pR->isScalar())
     {
         pbOut = new Bool(_pL->getDims(), _pL->getDimsArray());
index e195aa8..38e5b70 100644 (file)
@@ -2961,6 +2961,11 @@ InternalType* compnoequal_M_M<Polynom, Polynom, Bool>(Polynom* _pL, Polynom* _pR
     SinglePoly** pSPL = _pL->get();
     SinglePoly** pSPR = _pR->get();
 
+    if (_pL->getVariableName() != _pR->getVariableName())
+    {
+        return new Bool(true);
+    }
+
     if (_pR->isScalar())
     {
         pbOut = new Bool(_pL->getDims(), _pL->getDimsArray());
diff --git a/scilab/modules/ast/tests/nonreg_tests/bug_15740.tst b/scilab/modules/ast/tests/nonreg_tests/bug_15740.tst
new file mode 100644 (file)
index 0000000..fd6f54c
--- /dev/null
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2018 - St├ęphane MOTTELET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+//
+// <-- Non-regression test for bug 15740 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/15740
+//
+// <-- Short Description -->
+// %s == %z now returns %T and %s ~= %z returns %F  (Regressions)
+
+assert_checkfalse(%s == %z)
+assert_checktrue(%s ~= %z)
\ No newline at end of file