@@ -260,6 +260,7 @@ for (gebrd, gelqf, geqlf, geqrf, geqp3, geqrt3, gerqf, getrf, elty, relty) in
260
260
A, tau, jpvt
261
261
end
262
262
function geqrt3! (A:: StridedMatrix{$elty} )
263
+ chkstride1 (A)
263
264
m, n = size (A)
264
265
lda = max (1 , stride (A, 2 ))
265
266
T = Array ($ elty, n, n)
@@ -466,7 +467,7 @@ for (gelsd, elty) in ((:dgelsd_, :Float64),
466
467
# INTEGER IWORK( * )
467
468
# DOUBLE PRECISION A( LDA, * ), B( LDB, * ), S( * ), WORK( * )
468
469
function gelsd! (A:: StridedMatrix{$elty} , B:: StridedVecOrMat{$elty} , rcond)
469
- LAPACK . chkstride1 (A, B)
470
+ chkstride1 (A, B)
470
471
m, n = size (A)
471
472
if size (B, 1 ) != m; throw (DimensionMismatch (" gelsd!" )); end
472
473
if size (B, 1 ) < n
@@ -515,7 +516,7 @@ for (gelsd, elty, relty) in ((:zgelsd_, :Complex128, :Float64),
515
516
# DOUBLE PRECISION RWORK( * ), S( * )
516
517
# COMPLEX*16 A( LDA, * ), B( LDB, * ), WORK( * )
517
518
function gelsd! (A:: StridedMatrix{$elty} , B:: StridedVecOrMat{$elty} , rcond)
518
- LAPACK . chkstride1 (A, B)
519
+ chkstride1 (A, B)
519
520
m, n = size (A)
520
521
if size (B,1 ) != m; throw (DimensionMismatch (" gelsd!" )); end
521
522
if size (B, 1 ) < n
@@ -783,6 +784,7 @@ for (geev, gesvd, gesdd, ggsvd, elty, relty) in
783
784
# COMPLEX*16 A( LDA, * ), B( LDB, * ), Q( LDQ, * ),
784
785
# $ U( LDU, * ), V( LDV, * ), WORK( * )
785
786
function ggsvd! (jobu:: BlasChar , jobv:: BlasChar , jobq:: BlasChar , A:: Matrix{$elty} , B:: Matrix{$elty} )
787
+ chkstride1 (A, B)
786
788
m, n = size (A)
787
789
if size (B, 2 ) != n; throw (DimensionMismatch); end
788
790
p = size (B, 1 )
@@ -1045,6 +1047,7 @@ for (orglq, orgqr, ormlq, ormqr, gemqrt, elty) in
1045
1047
C
1046
1048
end
1047
1049
function gemqrt! (side:: Char , trans:: Char , V:: Matrix{$elty} , T:: Matrix{$elty} , C:: StridedVecOrMat{$elty} )
1050
+ chkstride1 (T, C)
1048
1051
m = size (C, 1 )
1049
1052
n = size (C, 2 )
1050
1053
k = size (T, 1 )
@@ -1703,7 +1706,7 @@ for (bdsqr, relty, elty) in
1703
1706
# *> zero-shift QR algorithm.
1704
1707
function bdsqr! (uplo:: BlasChar , d:: Vector{$relty} , e_:: Vector{$relty} ,
1705
1708
vt:: StridedMatrix{$elty} , u:: StridedMatrix{$elty} , c:: StridedMatrix{$elty} )
1706
-
1709
+
1707
1710
validate (uplo)
1708
1711
n = length (d)
1709
1712
if length (e_) != n- 1 throw (DimensionMismatch (" bdsqr!" )) end
@@ -2129,6 +2132,7 @@ for (gees, gges, elty) in
2129
2132
# DOUBLE PRECISION A( LDA, * ), ALPHAI( * ), ALPHAR( * ),
2130
2133
# $ B( LDB, * ), BETA( * ), VSL( LDVSL, * ),
2131
2134
# $ VSR( LDVSR, * ), WORK( * )
2135
+ chkstride1 (A, B)
2132
2136
n = size (A, 1 )
2133
2137
if size (A, 2 ) != n || size (B, 1 ) != size (B, 2 ) throw (DimensionMismatch (" Matrices must be square" )) end
2134
2138
if size (B, 1 ) != n throw (DimensionMismatch (" Matrices are not of same size" )) end
@@ -2221,6 +2225,7 @@ for (gees, gges, elty, relty) in
2221
2225
# COMPLEX*16 A( LDA, * ), ALPHA( * ), B( LDB, * ),
2222
2226
# $ BETA( * ), VSL( LDVSL, * ), VSR( LDVSR, * ),
2223
2227
# $ WORK( * )
2228
+ chkstride1 (A, B)
2224
2229
n = size (A, 1 )
2225
2230
if size (A, 2 ) != n || size (B, 1 ) != size (B, 2 ) throw (DimensionMismatch (" Matrices must be square" )) end
2226
2231
if size (B, 1 ) != n throw (DimensionMismatch (" Matrices are not of same size" )) end
@@ -2269,6 +2274,7 @@ for (fn, elty, relty) in ((:dsfrk_, :Float64, :Float64),
2269
2274
(:chfrk_ , :Complex64 , :Float32 ))
2270
2275
@eval begin
2271
2276
function sfrk! (transr:: Char , uplo:: Char , trans:: Char , alpha:: Real , A:: StridedMatrix{$elty} , beta:: Real , C:: StridedVector{$elty} )
2277
+ chkstride1 (A)
2272
2278
if trans == ' N'
2273
2279
n, k = size (A)
2274
2280
elseif trans == ' T'
@@ -2336,6 +2342,7 @@ for (fn, elty) in ((:dpftrs_, :Float64),
2336
2342
(:cpftrs_ , :Complex64 ))
2337
2343
@eval begin
2338
2344
function pftrs! (transr:: Char , uplo:: Char , A:: StridedVector{$elty} , B:: StridedVecOrMat{$elty} )
2345
+ chkstride1 (B)
2339
2346
n = int (div (sqrt (8 length (A)), 2 ))
2340
2347
if n != size (B, 1 ) throw (DimensionMismatch (" A and B must have the same number of rows" )) end
2341
2348
nhrs = size (B, 2 )
@@ -2359,6 +2366,7 @@ for (fn, elty) in ((:dtfsm_, :Float64),
2359
2366
(:ctfsm_ , :Complex64 ))
2360
2367
@eval begin
2361
2368
function pftrs! (transr:: Char , side:: Char , uplo:: Char , trans:: Char , diag:: Char , alpha:: Real , A:: StridedVector{$elty} , B:: StridedMatrix{$elty} )
2369
+ chkstride1 (B)
2362
2370
m, n = size (B)
2363
2371
if int (div (sqrt (8 length (A)), 2 )) != m throw (DimensionMismatch (" " )) end
2364
2372
ldb = max (1 , stride (B, 2 ))
@@ -2422,6 +2430,7 @@ for (fn, elty) in ((:dtrttf_, :Float64),
2422
2430
(:ctrttf_ , :Complex64 ))
2423
2431
@eval begin
2424
2432
function trttf! (transr:: Char , uplo:: Char , A:: StridedMatrix{$elty} )
2433
+ chkstride1 (A)
2425
2434
n = size (A, 1 )
2426
2435
lda = max (1 , stride (A, 2 ))
2427
2436
info = Array (BlasInt, 1 )
0 commit comments