* Bug 15642 fixed: now A(:) gives correct display for A sparse bool 19/20519/3
Stéphane Mottelet [Mon, 24 Sep 2018 09:53:47 +0000 (11:53 +0200)]
http://bugzilla.scilab.org/15642

Change-Id: I28074b6470eecd993ac349144750aa2e7fde8b64

scilab/CHANGES.md
scilab/modules/ast/src/cpp/types/sparse.cpp
scilab/modules/ast/tests/nonreg_tests/bug_15642.dia.ref [new file with mode: 0644]
scilab/modules/ast/tests/nonreg_tests/bug_15642.tst [new file with mode: 0644]

index 626e34b..0fedeac 100644 (file)
@@ -401,6 +401,7 @@ Known issues
 ### Bugs fixed in 6.0.2:
 * [#2464](http://bugzilla.scilab.org/show_bug.cgi?id=2464): `null()` was poorly documented.
 * [#4050](http://bugzilla.scilab.org/show_bug.cgi?id=4050): `ged()` did not support graphical texts with a font size > 5.
+* [#4953](http://bugzilla.scilab.org/show_bug.cgi?id=4953): The `clean` function does not work when the matrix contains %inf.
 * [#5430](http://bugzilla.scilab.org/show_bug.cgi?id=5430): `clf` could erase the ATOMS GUI or the m2sci one.
 * [#5521](http://bugzilla.scilab.org/show_bug.cgi?id=5521): `surf(X,Y,fun)` and `surf(X,Y,list(fun,params))` were not supported.
 * [#5557](http://bugzilla.scilab.org/show_bug.cgi?id=5557): `locate()` allowed to click out of the current axes and then returned meaningless coordinates.
@@ -584,6 +585,7 @@ Known issues
 * [#15635](http://bugzilla.scilab.org/show_bug.cgi?id=15635): `dellip(1,4)` terminated with neither output nor error (regression)
 * [#15636](http://bugzilla.scilab.org/show_bug.cgi?id=15636): Clicking on its icon did not always give focus to Help browser
 * [#15645](http://bugzilla.scilab.org/show_bug.cgi?id=15645): `deff('y=f(x)','z=x^2'),fsolve(1,f)` crashed scilab
+* [#15642](http://bugzilla.scilab.org/show_bug.cgi?id=15642):A(:) gave incorrect display when A is sparse boolean (regression)
 * [#15647](http://bugzilla.scilab.org/show_bug.cgi?id=15647): `spzeros(-1,-1)` yielded a corrupted result
 * [#15648](http://bugzilla.scilab.org/show_bug.cgi?id=15648): `sparse([1 1],1,[-1 -1])` crashed scilab
 * [#15652](http://bugzilla.scilab.org/show_bug.cgi?id=15652): An appended comment // after a comma in an multiline literal array now generates an error (regression).
index dd6f737..00d8686 100644 (file)
@@ -4134,7 +4134,7 @@ GenericType* SparseBool::extract(typed_list* _pArgs)
         }
     }
 
-    finalize();
+    pOut->finalize();
 
     delete[] piMaxDim;
     delete[] piCountDim;
diff --git a/scilab/modules/ast/tests/nonreg_tests/bug_15642.dia.ref b/scilab/modules/ast/tests/nonreg_tests/bug_15642.dia.ref
new file mode 100644 (file)
index 0000000..88179a2
--- /dev/null
@@ -0,0 +1,22 @@
+// =============================================================================
+// 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 -->
+//
+// <-- Non-regression test for bug 15642 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/15642
+//
+// <-- Short Description -->
+// A(:) gives incorrect display when A is sparse boolean (regression)
+A=sparse([1 1; 2 2; 3 3],[%t %f %t],[3 3]);
+A(:)
+ ans  =
+(  9,  1) sparse matrix
+(  1,  1)      T
+(  9,  1)      T
diff --git a/scilab/modules/ast/tests/nonreg_tests/bug_15642.tst b/scilab/modules/ast/tests/nonreg_tests/bug_15642.tst
new file mode 100644 (file)
index 0000000..3fa1329
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// 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 -->
+//
+// <-- Non-regression test for bug 15642 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/15642
+//
+// <-- Short Description -->
+// A(:) gives incorrect display when A is sparse boolean (regression)
+
+A=sparse([1 1; 2 2; 3 3],[%t %f %t],[3 3]);
+A(:)