Onda defines isequal
(and ==
) but not hash
, allowing two samples to be isequal
but have different hashes (which breaks the docstring of isequal
along with dicts etc):
|
""" |
|
==(a::Samples, b::Samples) |
|
|
|
Returns `a.encoded == b.encoded && a.info == b.info && a.data == b.data`. |
|
""" |
|
Base.:(==)(a::Samples, b::Samples) = a.encoded == b.encoded && a.info == b.info && a.data == b.data |
|
|
|
""" |
|
isequal(a::Samples, b::Samples) |
|
|
|
Checks if each field of `a` and `b` are `isequal` to each other; specifically, this function returns `isequal(a.encoded, b.encoded) && isequal(a.info, b.info) && isequal(a.data, b.data)`. |
|
""" |
|
function Base.isequal(a::Samples, b::Samples) |
|
return isequal(a.encoded, b.encoded) && isequal(a.info, b.info) && isequal(a.data, b.data) |
|
end |
We should define hash
in the same way as isequal
to make them consistent.