Skip to content

Commit a2ec425

Browse files
authored
Fix bug introduced in #41513 (#41970)
1 parent 272eaf9 commit a2ec425

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

stdlib/LinearAlgebra/src/blas.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ for (fname, elty) in ((:dgemv_,:Float64),
669669
sX = stride(X,1)
670670
pX = pointer(X, sX > 0 ? firstindex(X) : lastindex(X))
671671
sY = stride(Y,1)
672-
pY = pointer(Y, sY > 0 ? firstindex(X) : lastindex(X))
672+
pY = pointer(Y, sY > 0 ? firstindex(Y) : lastindex(Y))
673673
GC.@preserve X Y ccall((@blasfunc($fname), libblastrampoline), Cvoid,
674674
(Ref{UInt8}, Ref{BlasInt}, Ref{BlasInt}, Ref{$elty},
675675
Ptr{$elty}, Ref{BlasInt}, Ptr{$elty}, Ref{BlasInt},

stdlib/LinearAlgebra/test/blas.jl

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -373,29 +373,29 @@ Random.seed!(100)
373373
@testset "non-standard strides" begin
374374
if elty <: Complex
375375
A = elty[1+2im 3+4im 5+6im 7+8im; 2+3im 4+5im 6+7im 8+9im; 3+4im 5+6im 7+8im 9+10im]
376-
v = elty[1+2im, 2+3im, 3+4im, 4+5im]
377-
dest = view(ones(elty, 5), 4:-2:2)
378-
@test BLAS.gemv!('N', elty(2), view(A, 2:3, 2:2:4), view(v, 1:3:4), elty(3), dest) == elty[-35+178im, -39+202im]
376+
v = elty[1+2im, 2+3im, 3+4im, 4+5im, 5+6im]
377+
dest = view(ones(elty, 7), 6:-2:2)
378+
@test BLAS.gemv!('N', elty(2), view(A, :, 2:2:4), view(v, 1:3:4), elty(3), dest) == elty[-31+154im, -35+178im, -39+202im]
379379
@test BLAS.gemv('N', elty(-1), view(A, 2:3, 2:3), view(v, 2:-1:1)) == elty[15-41im, 17-49im]
380380
@test BLAS.gemv('N', view(A, 1:0, 1:2), view(v, 1:2)) == elty[]
381381
dest = view(ones(elty, 5), 4:-2:2)
382-
@test BLAS.gemv!('T', elty(2), view(A, 2:3, 2:2:4), view(v, 1:3:4), elty(3), dest) == elty[-29+124im, -45+220im]
382+
@test BLAS.gemv!('T', elty(2), view(A, :, 2:2:4), view(v, 1:2:5), elty(3), dest) == elty[-45+202im, -69+370im]
383383
@test BLAS.gemv('T', elty(-1), view(A, 2:3, 2:3), view(v, 2:-1:1)) == elty[14-38im, 18-54im]
384384
@test BLAS.gemv('T', view(A, 2:3, 2:1), view(v, 1:2)) == elty[]
385385
dest = view(ones(elty, 5), 4:-2:2)
386-
@test BLAS.gemv!('C', elty(2), view(A, 2:3, 2:2:4), view(v, 1:3:4), elty(3), dest) == elty[131+8im, 227+24im]
386+
@test BLAS.gemv!('C', elty(2), view(A, :, 2:2:4), view(v, 5:-2:1), elty(3), dest) == elty[179+6im, 347+30im]
387387
@test BLAS.gemv('C', elty(-1), view(A, 2:3, 2:3), view(v, 2:-1:1)) == elty[-40-6im, -56-10im]
388388
@test BLAS.gemv('C', view(A, 2:3, 2:1), view(v, 1:2)) == elty[]
389389
else
390390
A = elty[1 2 3 4; 5 6 7 8; 9 10 11 12]
391-
v = elty[1, 2, 3, 4]
392-
dest = view(ones(elty, 5), 4:-2:2)
393-
@test BLAS.gemv!('N', elty(2), view(A, 2:3, 2:2:4), view(v, 1:3:4), elty(3), dest) == elty[79, 119]
391+
v = elty[1, 2, 3, 4, 5]
392+
dest = view(ones(elty, 7), 6:-2:2)
393+
@test BLAS.gemv!('N', elty(2), view(A, :, 2:2:4), view(v, 1:3:4), elty(3), dest) == elty[39, 79, 119]
394394
@test BLAS.gemv('N', elty(-1), view(A, 2:3, 2:3), view(v, 2:-1:1)) == elty[-19, -31]
395395
@test BLAS.gemv('N', view(A, 1:0, 1:2), view(v, 1:2)) == elty[]
396396
for trans = ('T', 'C')
397397
dest = view(ones(elty, 5), 4:-2:2)
398-
@test BLAS.gemv!(trans, elty(2), view(A, 2:3, 2:2:4), view(v, 1:3:4), elty(3), dest) == elty[95, 115]
398+
@test BLAS.gemv!(trans, elty(2), view(A, :, 2:2:4), view(v, 1:2:5), elty(3), dest) == elty[143, 179]
399399
@test BLAS.gemv(trans, elty(-1), view(A, 2:3, 2:3), view(v, 2:-1:1)) == elty[-22, -25]
400400
@test BLAS.gemv(trans, view(A, 2:3, 2:1), view(v, 1:2)) == elty[]
401401
end

0 commit comments

Comments
 (0)