Matt Fishman
Matt Fishman
I would prefer to keep them as optional dependencies instead of direct dependencies. Ideally we would organize the code as a package extension: https://pkgdocs.julialang.org/v1/creating-packages/#Conditional-loading-of-code-in-packages-(Extensions).
This PR actually exemplifies the point I was trying to make in #336. It leads to this inconsistency: ```julia julia> using BlockArrays julia> a1 = BlockArrays._BlockedUnitRange(2, [3, 6]) 2-blocked 5-element...
Another proposal for a "spelling" of this kind of operation (converting from a cartesian index to a block index) would be #346. With that proposal, instead of using `findblockindex(a1, (4,))...
Oops, you're right, I forgot about `blocksizes`. I'll add that to the first post. However, from what I can tell the most compact way to get the size of a...
An alternative to `size(a::AbstractArray, b::Block)` could be an iterator object, such as: ```julia julia> struct BlockSizes{N,A BlockSizes(a)[1, 2] (2, 3) ``` **EDIT:** In the end, I think this is my...
Another idea would be to define a generic function `viewsize(a::AbstractArray, indices...)`: ```julia julia> viewsize(a::AbstractArray, indices...) = size(view(a, indices...)) viewsize (generic function with 1 method) julia> viewsize(a, Block(1, 2)) (2, 3)...
Closed by #399.
@jishnub let me know what you think of the design of what is implemented, and also what you think the scope of the PR should be, i.e. how much work...
In the latest commit, I made it so that more slicing operations return either `BlockIndices` or `BlockIndexRange`, if that can be guaranteed based on the type of the indices (i.e....
Right, I realize the behavior around slicing in this PR is different from that for other `AbstractBlockArray`s right now, agreed that I should keep that consistent for the sake of...