Skip to content

Commit e1384d7

Browse files
authored
simplify some ranges in resizedata (#428)
1 parent 8ba543c commit e1384d7

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

src/Caching/almostbanded.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -300,26 +300,26 @@ function resizedata!(QR::QROperator{<:CachedOperator{T,<:AlmostBandedMatrix{T}}}
300300
F = MO.data.fill.U
301301

302302
for k = QR.ncols+1:col
303-
W[:,k] = view(R.data,R.u+1:R.u+R.l+1,k) # diagonal and below
303+
W[:,k] = view(R.data, (R.u+1).+(0:R.l), k) # diagonal and below
304304
wp = view(W,:,k)
305305
W[1,k]+= flipsign(norm(wp),W[1,k])
306306
normalize!(wp)
307307

308308
# scale banded entries
309309
for j = k:k+R.u
310310
dind = R.u+1+k-j
311-
v = view(R.data,dind:dind+M-1,j)
311+
v = view(R.data, range(dind, length=M), j)
312312
dt = dot(wp,v)
313313
axpy!(-2dt,wp,v)
314314
end
315315

316316
# scale banded/filled entries
317-
for j = k+R.u+1:k+R.u+M-1
317+
for j = (k+R.u).+(1:M-1)
318318
p = j-k-R.u
319319
v = view(R.data,1:M-p,j) # shift down each time
320320
wp2=view(wp,p+1:M)
321321
dt = dot(wp2,v)
322-
for=k:k+p-1
322+
for in range(k, length=p)
323323
dt = muladd(conj(W[ℓ-k+1,k]), MO.data.fill[ℓ,j], dt)
324324
end
325325
axpy!(-2dt,wp2,v)
@@ -341,7 +341,7 @@ end
341341
## back substitution
342342
# loop to avoid ambiguity with AbstractTRiangular
343343
for ArrTyp in (:AbstractVector, :AbstractMatrix)
344-
@eval function ldiv!(U::UpperTriangular{T,<:SubArray{T, 2, <:AlmostBandedMatrix{T}, NTuple{2,UnitRange{Int}}, false}},
344+
@eval function ldiv!(U::UpperTriangular{T,<:SubArray{T, 2, <:AlmostBandedMatrix{T}, NTuple{2,UnitRange{Int}}}},
345345
u::$ArrTyp{T}) where T
346346

347347
n = size(u,1)
@@ -360,7 +360,7 @@ for ArrTyp in (:AbstractVector, :AbstractMatrix)
360360

361361
pk = zeros(T,nbc)
362362

363-
for c = 1:size(u,2)
363+
for c = axes(u,2)
364364
fill!(pk,zero(T))
365365

366366
# before we get to filled rows

src/Caching/banded.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,21 +64,21 @@ function resizedata!(QR::QROperator{<:CachedOperator{T,<:BandedMatrix{T}}}, ::Co
6464
end
6565

6666
for k=QR.ncols+1:col
67-
W[:,k] = view(R.data,R.u+1:R.u+R.l+1,k) # diagonal and below
67+
W[:,k] = view(R.data, (R.u+1).+(0:R.l), k) # diagonal and below
6868
wp=view(W,:,k)
6969
W[1,k]+= flipsign(norm(wp),W[1,k])
7070
normalize!(wp)
7171

7272
# scale banded entries
7373
for j=k:k+R.u
7474
dind=R.u+1+k-j
75-
v=view(R.data,dind:dind+M-1,j)
75+
v=view(R.data, range(dind, length=M), j)
7676
dt=dot(wp,v)
7777
axpy!(-2dt,wp,v)
7878
end
7979

8080
# scale banded/filled entries
81-
for j=k+R.u+1:k+R.u+M-1
81+
for j = (k+R.u).+(1:M-1)
8282
p=j-k-R.u
8383
v=view(R.data,1:M-p,j) # shift down each time
8484
wp2=view(wp,p+1:M)
@@ -94,7 +94,7 @@ end
9494
## back substitution
9595
# loop to avoid ambiguity with AbstractTRiangular
9696
for ArrTyp in (:AbstractVector, :AbstractMatrix, :StridedVector)
97-
@eval function ldiv!(U::UpperTriangular{T, <:SubArray{T, 2, <:BandedMatrix{T}, NTuple{2,UnitRange{Int}}, false}},
97+
@eval function ldiv!(U::UpperTriangular{T, <:SubArray{T, 2, <:BandedMatrix{T}, NTuple{2,UnitRange{Int}}}},
9898
u::$ArrTyp{T}) where T
9999
n = size(u,1)
100100
n == size(U,1) || throw(DimensionMismatch())
@@ -107,8 +107,8 @@ for ArrTyp in (:AbstractVector, :AbstractMatrix, :StridedVector)
107107

108108
b=bandwidth(A,2)
109109

110-
for c=1:size(u,2)
111-
for k=n:-1:1
110+
for c=axes(u,2)
111+
for k=reverse(axes(u,1))
112112
@simd for j=k+1:min(n,k+b)
113113
@inbounds u[k,c] = muladd(-A.data[k-j+A.u+1,j],u[j,c],u[k,c])
114114
end

src/Caching/ragged.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ function resizedata!(QR::QROperator{<:CachedOperator{T,RaggedMatrix{T}}}, ::Colo
109109
normalize!(wp)
110110

111111
# scale rows entries
112-
kr = k:k+length(wp)-1
112+
kr = range(k, length=length(wp))
113113
for j=k:MO.datasize[2]
114114
v = view(MO.data,kr,j)
115115
dt = dot(wp,v)
@@ -123,7 +123,7 @@ end
123123

124124
## back substitution
125125
for ArrTyp in (:AbstractVector, :AbstractMatrix)
126-
@eval function ldiv!(U::UpperTriangular{T, SubArray{T, 2, RaggedMatrix{T}, NTuple{2,UnitRange{Int}}, false}},
126+
@eval function ldiv!(U::UpperTriangular{T, <:SubArray{T, 2, RaggedMatrix{T}, NTuple{2,UnitRange{Int}}}},
127127
u::$ArrTyp{T}) where T
128128
n = size(u,1)
129129
n == size(U,1) || throw(DimensionMismatch())

0 commit comments

Comments
 (0)