@@ -30,6 +30,9 @@ macro chkuplo()
30
30
Valid choices are 'U' (upper) or 'L' (lower).""" )))
31
31
end
32
32
33
+ subsetrows (X:: AbstractVector , Y:: AbstractArray , k) = Y[1 : k]
34
+ subsetrows (X:: AbstractMatrix , Y:: AbstractArray , k) = Y[1 : k, :]
35
+
33
36
# (GB) general banded matrices, LU decomposition and solver
34
37
for (gbtrf, gbtrs, elty) in
35
38
((:dgbtrf_ ,:dgbtrs_ ,:Float64 ),
@@ -525,7 +528,7 @@ for (gels, gesv, getrs, getri, elty) in
525
528
end
526
529
x
527
530
end for i= 1 : size (B,2 )]
528
- F, isa (B, Vector) ? B[ 1 : k] : B[ 1 : k,:] , ssr
531
+ F, subsetrows (B, B, k) , ssr
529
532
end
530
533
# SUBROUTINE DGESV( N, NRHS, A, LDA, IPIV, B, LDB, INFO )
531
534
# * .. Scalar Arguments ..
@@ -746,7 +749,7 @@ for (gelsd, gelsy, elty) in
746
749
iwork = Array (BlasInt, iwork[1 ])
747
750
end
748
751
end
749
- isa (B, Vector) ? newB[ 1 : n] : newB[ 1 : n,:] , rnk[1 ]
752
+ subsetrows (B, newB, n) , rnk[1 ]
750
753
end
751
754
752
755
# SUBROUTINE DGELSY( M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND, RANK,
@@ -789,7 +792,7 @@ for (gelsd, gelsy, elty) in
789
792
end
790
793
end
791
794
@lapackerror
792
- isa (B, Vector) ? newB[ 1 : n] : newB[ 1 : n,:] , rnk[1 ]
795
+ subsetrows (B, newB, n) , rnk[1 ]
793
796
end
794
797
end
795
798
end
@@ -836,7 +839,7 @@ for (gelsd, gelsy, elty, relty) in
836
839
iwork = Array (BlasInt, iwork[1 ])
837
840
end
838
841
end
839
- isa (B, Vector) ? newB[ 1 : n] : newB[ 1 : n,:] , rnk[1 ]
842
+ subsetrows (B, newB, n) , rnk[1 ]
840
843
end
841
844
842
845
# SUBROUTINE ZGELSY( M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND, RANK,
@@ -880,7 +883,7 @@ for (gelsd, gelsy, elty, relty) in
880
883
end
881
884
end
882
885
@lapackerror
883
- isa (B, Vector) ? newB[ 1 : n] : newB[ 1 : n,:] , rnk[1 ]
886
+ subsetrows (B, newB, n) , rnk[1 ]
884
887
end
885
888
end
886
889
end
0 commit comments