Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Overhaul IsPlistMatrixRep and IsPlistVectorRep
- change `IsPlistMatrixRep` to *not* be a row list type; so instead of storing a list of `IsPlistVectorRep` instances, they now store an old-style matrix in `IsMatrix and IsPlistRep`. This in turn allows to simplify and optimize a lot of code, e.g. matrix arithmetic can now just dispatch to that for plain lists. - use `BindConstant` on `BDPOS` etc. for best performance - set `IsNoImmediateMethodsObject` filter for both for better performance - rename `EMPOS` and `RLPOS` to `NUM_ROWS_POS` and `NUM_COLS_POS` - allow semirings as basedomain - fix various vector/matrix constructors to copy their inputs lists instead of reusing them inside (that can lead to bad bugs) - removed a bunch of (now) redundant methods that didn't seem to provide any benefits (such as improved performance) - ...
- Loading branch information