https://github.com/JuliaLang/julia
Revision 642e6e93355f589304ebcdce91039c5ec9c5c1cb authored by Simeon Schaub on 14 June 2021, 19:40:14 UTC, committed by Simeon Schaub on 14 June 2021, 22:11:15 UTC
- `hash` did not respect the type of a factorization, so completely
  different factorizations with the same underlying data would result in
  same `hash` leading to inconsistencies with `isequal`. This likely
  doesn't occur very often in practice, but definitely seems worth
  fixing.
- `==` and `isequal` only returned true if two factorizations are of
  exactly the same type, which is inconsistent with their implementation
  for other objects and with the definition of `hash` for factorizations.
- Equality for `QRCompactWY` did not ignore the subdiagonal entries of
  `T` leading to nondeterministic behavior. Perhaps `T` should be
  directly stored as `UpperTriangular` in `QRCompactWY`, but that seems
  potentially breaking.

Relying on implementation details of `DataType` here is certainly less
than ideal, but I could not come up with a nicer solution.
1 parent 4a81b08
Raw File
Tip revision: 642e6e93355f589304ebcdce91039c5ec9c5c1cb authored by Simeon Schaub on 14 June 2021, 19:40:14 UTC
fix some issues with equality of factorizations
Tip revision: 642e6e9
.gitignore
/*.tar.gz
/tmp
/dist
/dist-extras
/julia
/julia.bat
/usr
/oprofile_data
/usr-staging
/Make.user
/julia-*
/source-dist.tmp
/source-dist.tmp1

*.exe
*.dll
*.dwo
*.do
*.o
*.o.tmp
*.obj
*.so
*.dylib
*.dSYM
*.jl.cov
*.jl.*.cov
*.jl.mem
*.jl.*.mem
*.ji

/perf*
.DS_Store
.idea/*
.vscode/*
back to top