Skip to content

Commit e6956cd

Browse files
committed
propagate @inbounds more (#10)
1 parent f118b35 commit e6956cd

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

src/abstractblockarray.jl

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ function getblock{T, N}(A::AbstractBlockArray{T,N}, ::Vararg{Int, N})
102102
throw("getblock for ", typeof(A), "is not implemented")
103103
end
104104

105+
105106
"""
106107
getindex{T, N}(A::AbstractBlockArray{T,N}, i...::Enum)
107108
@@ -119,21 +120,19 @@ ulia> A[u, v]
119120
3.0
120121
```
121122
"""
122-
function Base.getindex{T, N}(A::AbstractBlockArray{T,N}, i::Vararg{Enum, N})
123+
@propagate_inbounds function Base.getindex{T, N}(A::AbstractBlockArray{T,N}, i::Vararg{Enum, N})
123124
getblock(A, map(Int, i)...)
124125
end
125126

126-
function Base.getindex{T, N}(A::AbstractBlockArray{T,N}, i::Enum)
127+
@propagate_inbounds function Base.getindex{T, N}(A::AbstractBlockArray{T,N}, i::Enum)
127128
getblock(A, Int(i))
128129
end
129130

130-
function Base.getindex{T, N}(A::AbstractBlockArray{T,N}, i::Enum, j::Enum)
131+
@propagate_inbounds function Base.getindex{T, N}(A::AbstractBlockArray{T,N}, i::Enum, j::Enum)
131132
getblock(A, Int(i), Int(j))
132133
end
133134

134135

135-
136-
137136
"""
138137
getblock!(X, A, inds...)
139138
@@ -160,15 +159,15 @@ function getblock!{T, N}(X, A::AbstractBlockArray{T,N}, ::Vararg{Int, N})
160159
throw("getblock! for ", typeof(A), "is not implemented")
161160
end
162161

163-
function getblock!{T, N}(X, A::AbstractBlockArray{T,N}, i::Enum)
162+
@propagate_inbounds function getblock!{T, N}(X, A::AbstractBlockArray{T,N}, i::Enum)
164163
getblock!(X, A, Int(i))
165164
end
166165

167-
function getblock!{T, N}(X, A::AbstractBlockArray{T,N}, i::Enum, j::Enum)
166+
@propagate_inbounds function getblock!{T, N}(X, A::AbstractBlockArray{T,N}, i::Enum, j::Enum)
168167
getblock!(X, A, Int(i), Int(j))
169168
end
170169

171-
function getblock!{T, N}(X, A::AbstractBlockArray{T,N}, i::Vararg{Enum, N})
170+
@propagate_inbounds function getblock!{T, N}(X, A::AbstractBlockArray{T,N}, i::Vararg{Enum, N})
172171
getblock!(X, A, map(Int, i)...)
173172
end
174173

@@ -216,15 +215,15 @@ julia> A
216215
0.0 0.0 │ 0.0
217216
```
218217
"""
219-
function Base.setindex!{T, N}(A::AbstractBlockArray{T,N}, v, i::Vararg{Enum, N})
218+
@propagate_inbounds function Base.setindex!{T, N}(A::AbstractBlockArray{T,N}, v, i::Vararg{Enum, N})
220219
setblock!(A, v, map(Int, i)...)
221220
end
222221

223-
function Base.setindex!{T, N}(A::AbstractBlockArray{T,N}, v, i::Enum)
222+
@propagate_inbounds function Base.setindex!{T, N}(A::AbstractBlockArray{T,N}, v, i::Enum)
224223
setblock!(A, v, Int(i))
225224
end
226225

227-
function Base.setindex!{T, N}(A::AbstractBlockArray{T,N}, v, i::Enum, j::Enum)
226+
@propagate_inbounds function Base.setindex!{T, N}(A::AbstractBlockArray{T,N}, v, i::Enum, j::Enum)
228227
setblock!(A, v, Int(i), Int(j))
229228
end
230229

0 commit comments

Comments
 (0)