* [#13778](http://bugzilla.scilab.org/show_bug.cgi?id=13778): The size of `repmat([], [1 1 3])` was [0 0 3] instead of [0 0].
* [#13915](http://bugzilla.scilab.org/show_bug.cgi?id=13915): On Windows, reinstalling an ATOMS toolbox with an archive already present failed.
* [#14010](http://bugzilla.scilab.org/show_bug.cgi?id=14010): Browsevar was not displaying dimensions > 2 of hypermatrix
+* [#14460](http://bugzilla.scilab.org/show_bug.cgi?id=14460): sparse boolean indices were not supported.
* [#14521](http://bugzilla.scilab.org/show_bug.cgi?id=14521): For the CONVERT Xcos block, types codes 2, 6, 7, and 8 were not documented.
* [#14704](http://bugzilla.scilab.org/show_bug.cgi?id=14704): In Scinotes, URL for the `https://`, `ftp://`, `ftps://`, and `file://` protocols were no longer hyperlinked.
* [#14897](http://bugzilla.scilab.org/show_bug.cgi?id=14897): `xinfo` is poor and useless. It is declared obsolete.
}
pCurrentArg = pDbl;
}
+ else if (pIT->isSparseBool())
+ {
+ types::SparseBool* pSb = pIT->getAs<types::SparseBool>();
+ int iItemCount = static_cast<int>(pSb->nbTrue());
+ int iRows = pSb->getRows();
+ int *pCoord = new int[iItemCount * 2];
+
+ //get (r,c) positions of True Elements
+ pSb->outputRowCol(pCoord);
+ int* pY = pCoord + iItemCount;
+ //allow new Double index variable
+ Double* pDbl = new Double(1, iItemCount);
+ double* pdbl = pDbl->getReal();
+ for (int i = 0; i < iItemCount; ++i)
+ {
+ pdbl[i] = pCoord[i] + (pY[i] - 1) * iRows;
+ }
+
+ pCurrentArg = pDbl;
+ }
else if (pIT->isInt())
{
switch (pIT->getType())
--- /dev/null
+// =============================================================================
+// 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 14460 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=14460
+//
+// <-- Short Description -->
+// sparse boolean indices were not supported any more
+
+s=speye(2,2);
+assert_checkequal(s(s==1),sparse([1;1]) );
+I=eye(2,2);
+assert_checkequal(I(s==1),[1;1]);
+k=(s==0);
+s(k)=1;
+assert_checkequal(s,sparse([1 1;1 1]));
+I(k)=1;
+assert_checkequal(I,[1 1;1 1]);
+
+