Many data structures in this package contain a small matrix, often stored as an SMatrix{D,D,T,L}, but having to carry around the L type parameter is annoying/leaks implementation details. I've worked around this by storing things as an NTuple{D,NTuple{D,T}} or something similar internally, but this happens often enough that a general solution is warranted.
I created a new package, LengthFreeStaticMatrices.jl, which exports the LSMatrix{M,N,T} and SquareLSMatrix{D,T} types which omit the length type parameter and should have generally similar performance to SMatrix.
As of writing, this package is not in the Julia package registry, but once it is, I plan to incorporate it into Electrum.
Many data structures in this package contain a small matrix, often stored as an
SMatrix{D,D,T,L}, but having to carry around theLtype parameter is annoying/leaks implementation details. I've worked around this by storing things as anNTuple{D,NTuple{D,T}}or something similar internally, but this happens often enough that a general solution is warranted.I created a new package, LengthFreeStaticMatrices.jl, which exports the
LSMatrix{M,N,T}andSquareLSMatrix{D,T}types which omit the length type parameter and should have generally similar performance toSMatrix.As of writing, this package is not in the Julia package registry, but once it is, I plan to incorporate it into Electrum.