* [#16342](https://bugzilla.scilab.org/16342): `strcat()` was much slower in Scilab 6.0.2.
* [#16350](https://bugzilla.scilab.org/16350): in if/while conditions, the empty sparse boolean was considered as TRUE.
* [#16365](https://bugzilla.scilab.org/16365): `median(m,"r")` and `median(m,"c")` yielded wrong results (6.1.0 regression)
+* [#16399](https://bugzilla.scilab.org/16399): `mtlb_zeros([])` was crashing Scilab.
* [#16401](https://bugzilla.scilab.org/16401): global `external_object_java` class was crashing Scilab.
* [#16403](https://bugzilla.scilab.org/16403): 1D extraction of matrix with implicit index had wrong dimensions.
bool alloc = false;
int size = (int)in.size();
- types::InternalType* it = in[size - 1];
- if (size > 1 && it->isString())
+ if (size > 1 && in[size - 1]->isString())
{
+ types::InternalType* it = in[size - 1];
+
// get optional type string
wchar_t* pType = it->getAs<types::String>()->get()[0];
auto f = mapOfTypes.find(pType);
switch (reftype)
{
case types::InternalType::ScilabInt8:
- {
+ {
types::Int8* pOut = new types::Int8(iDims, piDims);
std::fill(pOut->get(), pOut->get() + pOut->getSize(), value);
out.push_back(pOut);
computed = list([], 1, 10, list(2,3), list(2,3,4));
expected = list([], 0, 0, [0 0 0;0 0 0], res);
+assert_checkequal(zeros(), 0);
for i = 1:size(computed)
assert_checkequal(zeros(computed(i)(:)), expected(i));
end
+// by list extraction
+l = list(1, 2, 3)
+assert_checkequal(zeros(l(1:0)), 0);
+assert_checkequal(zeros(l(1:1)), 0);
+assert_checkequal(zeros(l(1:2)), [0, 0]);
+assert_checkequal(zeros(l(1:3)), matrix([0, 0, 0, 0, 0, 0] , 1, 2, 3));
+
+
data = rand(4, 3, 2) * 1000;
dataz = zeros(data);