Closed hyrodium closed 7 months ago
The following behavior is not consistent, and can be fixed by adding hash(::Quaternion, ::UInt) method.
hash(::Quaternion, ::UInt)
julia> using Quaternions julia> isequal(1, complex(1)) true julia> 1 |> hash 0x5bca7c69b794f8ce julia> complex(1) |> hash 0x5bca7c69b794f8ce julia> isequal(1, quat(1)) # isequal(a,b) == true should imply `hash(a) == hash(b)` true julia> quat(1) |> hash 0x37cb992a8d339608 julia> unique(Complex[complex(2), complex(big"2")]) 1-element Vector{Complex}: 2 + 0im julia> unique(Quaternion[quat(2), quat(big"2")]) 2-element Vector{Quaternion}: Quaternion{Int64}(2, 0, 0, 0) Quaternion{BigInt}(2, 0, 0, 0)
x-ref: https://github.com/JuliaGeometry/Quaternions.jl/pull/121#issue-1488451695
The following behavior is not consistent, and can be fixed by adding
hash(::Quaternion, ::UInt)
method.x-ref: https://github.com/JuliaGeometry/Quaternions.jl/pull/121#issue-1488451695