getindex on structural zeros uses zero(T).
setindex!, dropzeros!, and == use iszero(T).
It would be nice to know which operations are required for full functionality for SparseArrays, and what subset of that functionality is available if some or all of those operations are missing. For example, do I need to define zero or iszero on my custom type T to support sparse matrix multiplication wth eltype T?
getindexon structural zeros useszero(T).setindex!,dropzeros!, and==useiszero(T).It would be nice to know which operations are required for full functionality for SparseArrays, and what subset of that functionality is available if some or all of those operations are missing. For example, do I need to define
zerooriszeroon my custom typeTto support sparse matrix multiplication wth eltypeT?