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
HighFive has a feature that allows reading an array with leading (or trailing) singleton dimensions into an array with lower dimension, i.e. if the selection is {1, 3} we can read this into anything one-dimensional, such as an std::vector<double>.
It's currently one of the reasons we need to know the dimension of a container at compile time. The proposal is to drop the feature from v3 and replace it with the explicit ability to reshape a selection. Something similar to:
The advantage is that we don't internally change the rank of an array. We avoid the need to know at compile-time the rank of an array. It can work even if one wants to strip from both sides. It would also work for HyperSlabs since for them the resulting selection could be any subregion, we currently only allow reading those selection into one-dimensional arrays. If the user knows it's two-dimensional they can provide the dimensions by using a different overload. It should works symmetrically on reading and writing. I feel it has rather low mental cost / complexity.
The text was updated successfully, but these errors were encountered:
1uc
added
the
v3
Anything that needs to be resolved before `v3`.
label
Feb 2, 2024
HighFive has a feature that allows reading an array with leading (or trailing) singleton dimensions into an array with lower dimension, i.e. if the selection is
{1, 3}
we can read this into anything one-dimensional, such as anstd::vector<double>
.It's currently one of the reasons we need to know the dimension of a container at compile time. The proposal is to drop the feature from
v3
and replace it with the explicit ability to reshape a selection. Something similar to:The advantage is that we don't internally change the rank of an array. We avoid the need to know at compile-time the rank of an array. It can work even if one wants to strip from both sides. It would also work for
HyperSlab
s since for them the resulting selection could be any subregion, we currently only allow reading those selection into one-dimensional arrays. If the user knows it's two-dimensional they can provide the dimensions by using a different overload. It should works symmetrically on reading and writing. I feel it has rather low mental cost / complexity.The text was updated successfully, but these errors were encountered: