You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
julia> VERSION
v"1.9.3"
julia> Sys.MACHINE
"arm64-apple-darwin22.4.0"
(shroff) pkg> st
Status `~/shroff/Project.toml`
[0703355e] DimensionalData v0.24.13
The text was updated successfully, but these errors were encountered:
Turns out this is kind of a nightmare to actually implement if we want the dimensions to be guaranteed to make sense afterwards. hvncat accepts a pretty complex mosaic of n dimensional arrays as inputs and its really either we support everything here or stick with the fallback.
Basically calculating the new lookups and making sure they are correct for all arguments in all cases is very difficult.
We would need to:
create new lookups along the first row/column etc concatenations in all dimensions, making sure they make sense, don't overlap etc.
calculate where each component array will end up in the final array.
check that the lookup for each component array matches our new overall lookups for the part they are being put into, probably by comparing them to views of the overal dimensions for the indices they occupy.
If anything fails, just cat the parent array type. If it succeeds, do the same but rebuild as a DimArray with the new dimensions we made.
Getting that right and testing thoroughly will take someone a few days. @bjarthur, you're welcome to try, or anyone else who wants a challenge. Half of the code and checks are already written for cat, but this is strictly harder because of the mosaic of different sized arrays that is allowed.
specifically,
cat
returns aDimArray
but;;
returns anArray
:The text was updated successfully, but these errors were encountered: