Skip to content

Commit 87263ce

Browse files
authored
import Base.view (#288)
1 parent 551c9e2 commit 87263ce

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

src/BlockArrays.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export blockappend!, blockpush!, blockpushfirst!, blockpop!, blockpopfirst!
2121
import Base: @propagate_inbounds, Array, to_indices, to_index,
2222
unsafe_indices, first, last, size, length, unsafe_length,
2323
unsafe_convert,
24-
getindex, ndims, show,
24+
getindex, ndims, show, view,
2525
step,
2626
broadcast, eltype, convert, similar,
2727
tail, reindex,

src/abstractblockarray.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,13 +177,13 @@ end
177177
block_arr[BlockIndex(blockindex)] = v
178178

179179
viewblock(block_arr, block) = Base.invoke(view, Tuple{AbstractArray, Any}, block_arr, block)
180-
@inline Base.view(block_arr::AbstractBlockArray{<:Any,N}, block::Block{N}) where N = viewblock(block_arr, block)
181-
@inline function Base.view(block_arr::AbstractBlockArray, block::Block{1})
180+
@inline view(block_arr::AbstractBlockArray{<:Any,N}, block::Block{N}) where N = viewblock(block_arr, block)
181+
@inline function view(block_arr::AbstractBlockArray, block::Block{1})
182182
blkind = BlockRange(blocksize(block_arr))[Int(block)]
183183
view(block_arr, blkind)
184184
end
185-
@inline Base.view(block_arr::AbstractBlockVector, block::Block{1}) = viewblock(block_arr, block)
186-
@inline @propagate_inbounds Base.view(block_arr::AbstractBlockArray, block::Block{1}...) = view(block_arr, Block(block))
185+
@inline view(block_arr::AbstractBlockVector, block::Block{1}) = viewblock(block_arr, block)
186+
@inline @propagate_inbounds view(block_arr::AbstractBlockArray, block::Block{1}...) = view(block_arr, Block(block))
187187

188188
"""
189189
eachblock(A::AbstractBlockArray)

src/views.jl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -128,46 +128,46 @@ block(A::BlockSlice) = block(A.block)
128128
block(A::Block) = A
129129

130130
# unwind BLockSlice1 for AbstractBlockArray
131-
@inline Base.view(block_arr::AbstractBlockArray{<:Any,N}, blocks::Vararg{BlockSlice1, N}) where N =
131+
@inline view(block_arr::AbstractBlockArray{<:Any,N}, blocks::Vararg{BlockSlice1, N}) where N =
132132
view(block_arr, map(block,blocks)...)
133133

134134
const BlockSlices = Union{Base.Slice,BlockSlice{<:BlockRange{1}}}
135-
# Base.view(V::SubArray{<:Any,N,NTuple{N,BlockSlices}},
135+
# view(V::SubArray{<:Any,N,NTuple{N,BlockSlices}},
136136

137137
_block_reindex(b::BlockSlice, i::Block{1}) = b.block[Int(i)]
138138
_block_reindex(b::Slice, i::Block{1}) = i
139139

140-
@inline Base.view(V::SubArray{<:Any,N,<:AbstractBlockArray,<:NTuple{N,BlockSlices}}, block::Block{N}) where N =
140+
@inline view(V::SubArray{<:Any,N,<:AbstractBlockArray,<:NTuple{N,BlockSlices}}, block::Block{N}) where N =
141141
view(parent(V), _block_reindex.(parentindices(V), Block.(block.n))...)
142-
@inline Base.view(V::SubArray{<:Any,N,<:AbstractBlockArray,<:NTuple{N,BlockSlices}}, block::Vararg{Block{1},N}) where N =
142+
@inline view(V::SubArray{<:Any,N,<:AbstractBlockArray,<:NTuple{N,BlockSlices}}, block::Vararg{Block{1},N}) where N =
143143
view(parent(V), _block_reindex.(parentindices(V), block)...)
144-
@inline Base.view(V::SubArray{<:Any,1,<:AbstractBlockArray,<:Tuple{BlockSlices}}, block::Block{1}) =
144+
@inline view(V::SubArray{<:Any,1,<:AbstractBlockArray,<:Tuple{BlockSlices}}, block::Block{1}) =
145145
view(parent(V), _block_reindex(parentindices(V)[1], block))
146146

147147

148148

149149

150-
function Base.view(A::Adjoint{<:Any,<:BlockMatrix}, b::Block{2})
150+
function view(A::Adjoint{<:Any,<:BlockMatrix}, b::Block{2})
151151
k, j = b.n
152152
view(parent(A), Block(j), Block(k))'
153153
end
154-
function Base.view(A::Transpose{<:Any,<:BlockMatrix}, b::Block{2})
154+
function view(A::Transpose{<:Any,<:BlockMatrix}, b::Block{2})
155155
k, j = b.n
156156
transpose(view(parent(A), Block(j), Block(k)))
157157
end
158158

159-
function Base.view(A::Adjoint{<:Any,<:BlockVector}, b::Block{2})
159+
function view(A::Adjoint{<:Any,<:BlockVector}, b::Block{2})
160160
@boundscheck blockcheckbounds(A, b)
161161
k, j = b.n
162162
view(parent(A), Block(j))'
163163
end
164-
function Base.view(A::Transpose{<:Any,<:BlockVector}, b::Block{2})
164+
function view(A::Transpose{<:Any,<:BlockVector}, b::Block{2})
165165
@boundscheck blockcheckbounds(A, b)
166166
k, j = b.n
167167
transpose(view(parent(A), Block(j)))
168168
end
169169

170-
Base.view(A::AdjOrTrans{<:Any,<:BlockArray}, K::Block{1}, J::Block{1}) = view(A, Block(Int(K), Int(J)))
170+
view(A::AdjOrTrans{<:Any,<:BlockArray}, K::Block{1}, J::Block{1}) = view(A, Block(Int(K), Int(J)))
171171

172172
@propagate_inbounds getindex(v::LinearAlgebra.AdjOrTransAbsVec, ::Colon, is::AbstractArray{<:Block{1}}) = LinearAlgebra.wrapperop(v)(v.parent[is])
173173

0 commit comments

Comments
 (0)