Skip to content

Commit 71ee30f

Browse files
authored
Expand geqp3! docs and replace Vectors with Refs (#51555)
1 parent 75fdd86 commit 71ee30f

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

stdlib/LinearAlgebra/src/lapack.jl

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -613,7 +613,9 @@ Compute the pivoted `QR` factorization of `A`, `AP = QR` using BLAS level 3.
613613
reflectors. The arguments `jpvt` and `tau` are optional and allow
614614
for passing preallocated arrays. When passed, `jpvt` must have length greater
615615
than or equal to `n` if `A` is an `(m x n)` matrix and `tau` must have length
616-
greater than or equal to the smallest dimension of `A`.
616+
greater than or equal to the smallest dimension of `A`. On entry, if `jpvt[j]`
617+
does not equal zero then the `j`th column of `A` is permuted to the front of
618+
`AP`.
617619
618620
`A`, `jpvt`, and `tau` are modified in-place.
619621
"""
@@ -2524,17 +2526,17 @@ for (laic1, elty) in
25242526
if j != length(w)
25252527
throw(DimensionMismatch("vectors must have same length, but length of x is $j and length of w is $(length(w))"))
25262528
end
2527-
sestpr = Vector{$elty}(undef, 1)
2528-
s = Vector{$elty}(undef, 1)
2529-
c = Vector{$elty}(undef, 1)
2529+
sestpr = Ref{$elty}()
2530+
s = Ref{$elty}()
2531+
c = Ref{$elty}()
25302532
ccall((@blasfunc($laic1), libblastrampoline), Cvoid,
25312533
(Ref{BlasInt}, Ref{BlasInt}, Ptr{$elty}, Ref{$elty},
2532-
Ptr{$elty}, Ref{$elty}, Ptr{$elty}, Ptr{$elty},
2533-
Ptr{$elty}),
2534+
Ptr{$elty}, Ref{$elty}, Ref{$elty}, Ref{$elty},
2535+
Ref{$elty}),
25342536
job, j, x, sest,
25352537
w, gamma, sestpr, s,
25362538
c)
2537-
sestpr[1], s[1], c[1]
2539+
sestpr[], s[], c[]
25382540
end
25392541
end
25402542
end
@@ -2558,17 +2560,17 @@ for (laic1, elty, relty) in
25582560
if j != length(w)
25592561
throw(DimensionMismatch("vectors must have same length, but length of x is $j and length of w is $(length(w))"))
25602562
end
2561-
sestpr = Vector{$relty}(undef, 1)
2562-
s = Vector{$elty}(undef, 1)
2563-
c = Vector{$elty}(undef, 1)
2563+
sestpr = Ref{$relty}()
2564+
s = Ref{$elty}()
2565+
c = Ref{$elty}()
25642566
ccall((@blasfunc($laic1), libblastrampoline), Cvoid,
25652567
(Ref{BlasInt}, Ref{BlasInt}, Ptr{$elty}, Ref{$relty},
2566-
Ptr{$elty}, Ref{$elty}, Ptr{$relty}, Ptr{$elty},
2567-
Ptr{$elty}),
2568+
Ptr{$elty}, Ref{$elty}, Ref{$relty}, Ref{$elty},
2569+
Ref{$elty}),
25682570
job, j, x, sest,
25692571
w, gamma, sestpr, s,
25702572
c)
2571-
sestpr[1], s[1], c[1]
2573+
sestpr[], s[], c[]
25722574
end
25732575
end
25742576
end

0 commit comments

Comments
 (0)