nnz(): please reopen it to overloading (Regression), and extend it to dense boolean and polynomial arrays
Reported by Samuel GOUGEON (@sgougeon)
BUG DESCRIPTION:
----------------
nnz(): please
a) reopen it to overloading (Regression)
b) extend it to dense boolean and to polynomial arrays
nnz() works with sparse double, dense double, and sparse boolean, but fails with dense boolean.
We expect it to work as well for dense boolean arrays. nnz([true false]) works on Octave.
It was possible to overload it with Scilab 5.5.2.
-->nnz([%T %F])
!--error 246
Function not defined for given argument type(s),
check arguments or define function %b_nnz for overloading.
It is no longer the case:
--> nnz([%T %F])
nnz: Wrong type argument 1: Sparse or matrix expected.
The trivial overload sum(a) should be allowed, implemented, and distributed.
The overload should also be implemented for polynomials.
ERROR LOG:
----------
--> nnz([%T %F])
nnz: Wrong type argument 1: Sparse or matrix expected.
--> nnz([0 %z])
nnz: Wrong type argument 1: Sparse or matrix expected.
HOW TO REPRODUCE THE BUG:
-------------------------
nnz([%T %F])
nnz([0 %z])