From ddbd5741dfe4c724ef6d7418597102b998bfd31e Mon Sep 17 00:00:00 2001 From: Jose Alves Date: Wed, 8 Jan 2025 21:05:40 +0100 Subject: [PATCH] replace implicit none(type,external) by implicit none, replace duplicated constants --- doc/specs/stdlib_linalg.md | 2 +- example/linalg/example_blas_gemv.f90 | 2 +- example/linalg/example_lapack_getrf.f90 | 2 +- example/linalg/example_pseudoinverse.f90 | 2 +- example/linalg/example_qr.f90 | 2 +- example/linalg/example_qr_space.f90 | 2 +- legacy/stdlib_linalg_blas_c.fypp | 2 +- legacy/stdlib_linalg_blas_d.fypp | 2 +- legacy/stdlib_linalg_blas_q.fypp | 2 +- legacy/stdlib_linalg_blas_s.fypp | 2 +- legacy/stdlib_linalg_blas_w.fypp | 2 +- legacy/stdlib_linalg_blas_z.fypp | 2 +- legacy/stdlib_linalg_lapack_c.fypp | 129 +- legacy/stdlib_linalg_lapack_d.fypp | 75 +- legacy/stdlib_linalg_lapack_q.fypp | 75 +- legacy/stdlib_linalg_lapack_s.fypp | 83 +- legacy/stdlib_linalg_lapack_w.fypp | 134 +- legacy/stdlib_linalg_lapack_z.fypp | 129 +- src/blas/stdlib_linalg_blas_aux.fypp | 2 +- src/lapack/stdlib_lapack_blas_like_base.fypp | 12 +- .../stdlib_lapack_blas_like_scalar.fypp | 6 +- src/lapack/stdlib_lapack_cosine_sine.fypp | 147 +- src/lapack/stdlib_lapack_cosine_sine2.fypp | 135 +- src/lapack/stdlib_lapack_eigv_comp.fypp | 12 +- src/lapack/stdlib_lapack_eigv_gen2.fypp | 33 +- src/lapack/stdlib_lapack_eigv_gen3.fypp | 138 +- src/lapack/stdlib_lapack_eigv_sym.fypp | 72 +- src/lapack/stdlib_lapack_eigv_tridiag.fypp | 2 +- src/lapack/stdlib_lapack_eigv_tridiag2.fypp | 6 +- src/lapack/stdlib_lapack_eigv_tridiag3.fypp | 6 +- src/lapack/stdlib_lapack_others.fypp | 2 +- src/lapack/stdlib_lapack_solve_chol_comp.fypp | 2 +- src/lapack/stdlib_lapack_solve_ldl_comp.fypp | 24 +- src/lapack/stdlib_lapack_solve_ldl_comp3.fypp | 12 +- src/lapack/stdlib_lapack_solve_lu_comp.fypp | 4 +- src/lapack/stdlib_linalg_lapack_aux.fypp | 2 +- src/stdlib_linalg_blas.fypp | 280 +- src/stdlib_linalg_cholesky.fypp | 2 +- src/stdlib_linalg_constants.fypp | 2 +- src/stdlib_linalg_determinant.fypp | 2 +- src/stdlib_linalg_eigenvalues.fypp | 2 +- src/stdlib_linalg_inverse.fypp | 2 +- src/stdlib_linalg_lapack.fypp | 3034 ++++++++--------- src/stdlib_linalg_least_squares.fypp | 2 +- src/stdlib_linalg_norms.fypp | 2 +- src/stdlib_linalg_pinv.fypp | 2 +- src/stdlib_linalg_qr.fypp | 2 +- src/stdlib_linalg_schur.fypp | 2 +- src/stdlib_linalg_solve.fypp | 2 +- src/stdlib_linalg_state.fypp | 2 +- src/stdlib_linalg_svd.fypp | 2 +- 51 files changed, 2222 insertions(+), 2384 deletions(-) diff --git a/doc/specs/stdlib_linalg.md b/doc/specs/stdlib_linalg.md index 6cd11969e..33fa43ed0 100644 --- a/doc/specs/stdlib_linalg.md +++ b/doc/specs/stdlib_linalg.md @@ -91,7 +91,7 @@ for example: interface axpy pure subroutine caxpy(n,ca,cx,incx,cy,incy) import sp,dp,qp,ilp,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: ca,cx(*) integer(ilp), intent(in) :: incx,incy,n complex(sp), intent(inout) :: cy(*) diff --git a/example/linalg/example_blas_gemv.f90 b/example/linalg/example_blas_gemv.f90 index e4594362f..8e5423b95 100644 --- a/example/linalg/example_blas_gemv.f90 +++ b/example/linalg/example_blas_gemv.f90 @@ -1,7 +1,7 @@ program example_gemv use stdlib_linalg, only: eye use stdlib_linalg_blas, only: sp,gemv - implicit none(type,external) + implicit none real(sp) :: A(2, 2), B(2), C(2) B = [1.0,2.0] A = eye(2) diff --git a/example/linalg/example_lapack_getrf.f90 b/example/linalg/example_lapack_getrf.f90 index 221d83a71..5a5dda3b3 100644 --- a/example/linalg/example_lapack_getrf.f90 +++ b/example/linalg/example_lapack_getrf.f90 @@ -1,7 +1,7 @@ program example_getrf use stdlib_linalg, only: eye use stdlib_linalg_lapack, only: dp,ilp,getrf - implicit none(type,external) + implicit none real(dp) :: A(3, 3) integer(ilp) :: ipiv(3),info diff --git a/example/linalg/example_pseudoinverse.f90 b/example/linalg/example_pseudoinverse.f90 index 6cf01642b..0fc80ac53 100644 --- a/example/linalg/example_pseudoinverse.f90 +++ b/example/linalg/example_pseudoinverse.f90 @@ -1,7 +1,7 @@ ! Matrix pseudo-inversion example: function, subroutine, and operator interfaces program example_pseudoinverse use stdlib_linalg, only: pinv, pseudoinvert, operator(.pinv.), linalg_state_type - implicit none(type,external) + implicit none real :: A(15,5), Am1(5,15) type(linalg_state_type) :: state diff --git a/example/linalg/example_qr.f90 b/example/linalg/example_qr.f90 index 4e8d19e3e..154d1ca22 100644 --- a/example/linalg/example_qr.f90 +++ b/example/linalg/example_qr.f90 @@ -1,6 +1,6 @@ program example_qr use stdlib_linalg, only: qr - implicit none(type,external) + implicit none real :: A(104, 32), Q(104,32), R(32,32) ! Create a random matrix diff --git a/example/linalg/example_qr_space.f90 b/example/linalg/example_qr_space.f90 index 22235ca12..5dde7fecf 100644 --- a/example/linalg/example_qr_space.f90 +++ b/example/linalg/example_qr_space.f90 @@ -2,7 +2,7 @@ program example_qr_space use stdlib_linalg_constants, only: ilp use stdlib_linalg, only: qr, qr_space, linalg_state_type - implicit none(type,external) + implicit none real :: A(104, 32), Q(104,32), R(32,32) real, allocatable :: work(:) integer(ilp) :: lwork diff --git a/legacy/stdlib_linalg_blas_c.fypp b/legacy/stdlib_linalg_blas_c.fypp index 361ce2a83..c0ff467c9 100644 --- a/legacy/stdlib_linalg_blas_c.fypp +++ b/legacy/stdlib_linalg_blas_c.fypp @@ -3,7 +3,7 @@ module stdlib_linalg_blas_c use stdlib_linalg_constants use stdlib_linalg_blas_aux use stdlib_linalg_blas_s - implicit none(type,external) + implicit none private diff --git a/legacy/stdlib_linalg_blas_d.fypp b/legacy/stdlib_linalg_blas_d.fypp index 0905fee5d..d03c959ef 100644 --- a/legacy/stdlib_linalg_blas_d.fypp +++ b/legacy/stdlib_linalg_blas_d.fypp @@ -4,7 +4,7 @@ module stdlib_linalg_blas_d use stdlib_linalg_blas_aux use stdlib_linalg_blas_s use stdlib_linalg_blas_c - implicit none(type,external) + implicit none private diff --git a/legacy/stdlib_linalg_blas_q.fypp b/legacy/stdlib_linalg_blas_q.fypp index 31a8c2026..12e6f11db 100644 --- a/legacy/stdlib_linalg_blas_q.fypp +++ b/legacy/stdlib_linalg_blas_q.fypp @@ -8,7 +8,7 @@ module stdlib_linalg_blas_${ri}$ use stdlib_linalg_blas_c use stdlib_linalg_blas_d use stdlib_linalg_blas_z - implicit none(type,external) + implicit none private diff --git a/legacy/stdlib_linalg_blas_s.fypp b/legacy/stdlib_linalg_blas_s.fypp index 583a6ea90..d1b0745c4 100644 --- a/legacy/stdlib_linalg_blas_s.fypp +++ b/legacy/stdlib_linalg_blas_s.fypp @@ -2,7 +2,7 @@ module stdlib_linalg_blas_s use stdlib_linalg_constants use stdlib_linalg_blas_aux - implicit none(type,external) + implicit none private diff --git a/legacy/stdlib_linalg_blas_w.fypp b/legacy/stdlib_linalg_blas_w.fypp index 47f87a7f6..16af45722 100644 --- a/legacy/stdlib_linalg_blas_w.fypp +++ b/legacy/stdlib_linalg_blas_w.fypp @@ -13,7 +13,7 @@ module stdlib_linalg_blas_${ci}$ use stdlib_linalg_blas_${ri}$ #:endif #:endfor - implicit none(type,external) + implicit none private diff --git a/legacy/stdlib_linalg_blas_z.fypp b/legacy/stdlib_linalg_blas_z.fypp index 90cb586ac..657d6ff9a 100644 --- a/legacy/stdlib_linalg_blas_z.fypp +++ b/legacy/stdlib_linalg_blas_z.fypp @@ -5,7 +5,7 @@ module stdlib_linalg_blas_z use stdlib_linalg_blas_s use stdlib_linalg_blas_c use stdlib_linalg_blas_d - implicit none(type,external) + implicit none private diff --git a/legacy/stdlib_linalg_lapack_c.fypp b/legacy/stdlib_linalg_lapack_c.fypp index 74c140139..115097320 100644 --- a/legacy/stdlib_linalg_lapack_c.fypp +++ b/legacy/stdlib_linalg_lapack_c.fypp @@ -4,7 +4,7 @@ module stdlib_linalg_lapack_c use stdlib_linalg_blas use stdlib_linalg_lapack_aux use stdlib_linalg_lapack_s - implicit none(type,external) + implicit none private @@ -1703,7 +1703,7 @@ module stdlib_linalg_lapack_c complex(sp), intent(inout) :: a(lda,*), b(ldb,*) ! ===================================================================== ! Parameters - real(sp), parameter :: sclfac = 1.0e+1_sp + real(sp), parameter :: sclfac = ten @@ -9899,8 +9899,6 @@ module stdlib_linalg_lapack_c complex(sp), intent(out) :: v(*) ! ================================================================ ! Parameters - real(sp), parameter :: rzero = 0.0_sp - ! Local Scalars complex(sp) :: cdum, h21s, h31s @@ -9918,7 +9916,7 @@ module stdlib_linalg_lapack_c end if if( n==2_${ik}$ ) then s = cabs1( h( 1_${ik}$, 1_${ik}$ )-s2 ) + cabs1( h( 2_${ik}$, 1_${ik}$ ) ) - if( s==rzero ) then + if( s==zero ) then v( 1_${ik}$ ) = czero v( 2_${ik}$ ) = czero else @@ -20652,9 +20650,9 @@ module stdlib_linalg_lapack_c end do end if do j = 1, n - s( j ) = 1.0_sp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_sp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -28917,7 +28915,7 @@ module stdlib_linalg_lapack_c ! ==================================================================== ! Parameters - real(sp), parameter :: realone = 1.0_sp + ! Local Scalars @@ -28932,15 +28930,15 @@ module stdlib_linalg_lapack_c info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -29232,8 +29230,7 @@ module stdlib_linalg_lapack_c ! ===================================================================== ! Parameters real(sp), parameter :: alphasq = 0.01_sp - real(sp), parameter :: realone = 1.0_sp - real(sp), parameter :: realzero = 0.0_sp + ! Local Scalars @@ -29267,11 +29264,11 @@ module stdlib_linalg_lapack_c end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_classq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_classq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -29284,11 +29281,11 @@ module stdlib_linalg_lapack_c call stdlib${ii}$_cgemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_cgemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_cgemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_classq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_classq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -29314,11 +29311,11 @@ module stdlib_linalg_lapack_c call stdlib${ii}$_cgemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_cgemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_cgemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_classq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_classq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do @@ -31847,7 +31844,7 @@ module stdlib_linalg_lapack_c end if else nu = sigma21 - mu = sqrt( 1.0_sp - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -35616,9 +35613,9 @@ module stdlib_linalg_lapack_c end do end if do j = 1, n - s( j ) = 1.0_sp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_sp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -36236,8 +36233,6 @@ module stdlib_linalg_lapack_c complex(sp), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: rzero = 0.0e+0_sp - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -36332,7 +36327,7 @@ module stdlib_linalg_lapack_c d( i ) = real( ab( abdpos, i ),KIND=sp) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -36358,7 +36353,7 @@ module stdlib_linalg_lapack_c abstmp = abs( tmp ) ab( abofdpos, i+1 ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -36374,7 +36369,7 @@ module stdlib_linalg_lapack_c abstmp = abs( tmp ) ab( abofdpos, i ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -36508,8 +36503,6 @@ module stdlib_linalg_lapack_c complex(sp), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: rone = 1.0e+0_sp - ! Local Scalars logical(lk) :: lquery, upper @@ -36611,7 +36604,7 @@ module stdlib_linalg_lapack_c ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_cher2k( uplo, 'CONJUGATE', pn, pk,-cone, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -36647,7 +36640,7 @@ module stdlib_linalg_lapack_c ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_cher2k( uplo, 'NO TRANSPOSE', pn, pk,-cone, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 @@ -39956,8 +39949,6 @@ module stdlib_linalg_lapack_c complex(sp), intent(out) :: w(*) ! ========================================================= ! Parameters - real(sp), parameter :: rzero = 0.0_sp - real(sp), parameter :: rone = 1.0_sp real(sp), parameter :: dat1 = 3.0_sp/4.0_sp integer(${ik}$), parameter :: kexsh = 10_${ik}$ @@ -40000,7 +39991,7 @@ module stdlib_linalg_lapack_c jhi = ihi end if do i = ilo + 1, ihi - if( aimag( h( i, i-1 ) )/=rzero ) then + if( aimag( h( i, i-1 ) )/=zero ) then ! ==== the following redundant normalization ! . avoids problems with both gradual and ! . sudden underflow in abs(h(i,i-1)) ==== @@ -40016,7 +40007,7 @@ module stdlib_linalg_lapack_c nz = ihiz - iloz + 1_${ik}$ ! set machine-dependent constants for the stopping criterion. safmin = stdlib${ii}$_slamch( 'SAFE MINIMUM' ) - safmax = rone / safmin + safmax = one / safmin call stdlib${ii}$_slabad( safmin, safmax ) ulp = stdlib${ii}$_slamch( 'PRECISION' ) smlnum = safmin*( real( nh,KIND=sp) / ulp ) @@ -40094,14 +40085,14 @@ module stdlib_linalg_lapack_c t = h( i, i ) u = sqrt( h( i-1, i ) )*sqrt( h( i, i-1 ) ) s = cabs1( u ) - if( s/=rzero ) then + if( s/=zero ) then x = half*( h( i-1, i-1 )-t ) sx = cabs1( x ) s = max( s, cabs1( x ) ) y = s*sqrt( ( x / s )**2_${ik}$+( u / s )**2_${ik}$ ) - if( sx>rzero ) then + if( sx>zero ) then if( real( x / sx,KIND=sp)*real( y,KIND=sp)+aimag( x / sx )*aimag( y )& - =ktop) then if( h( k+1, k )/=czero ) then tst1 = cabs1( h( k, k ) ) + cabs1( h( k+1, k+1 ) ) - if( tst1==rzero ) then + if( tst1==zero ) then if( k>=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -44554,7 +44542,7 @@ module stdlib_linalg_lapack_c scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & k+1, k ) = czero end if end if @@ -44672,7 +44660,7 @@ module stdlib_linalg_lapack_c if( k=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -44689,7 +44677,7 @@ module stdlib_linalg_lapack_c scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& k ) = czero end if end if @@ -59653,8 +59641,6 @@ module stdlib_linalg_lapack_c complex(sp), intent(out) :: work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: rzero = 0.0e+0_sp - ! Local Scalars logical(lk) :: bothv, fromqr, leftv, noinit, rightv @@ -59750,7 +59736,7 @@ module stdlib_linalg_lapack_c if( stdlib${ii}$_sisnan( hnorm ) ) then info = -6_${ik}$ return - else if( (hnorm>rzero) ) then + else if( (hnorm>zero) ) then eps3 = hnorm*ulp else eps3 = smlnum @@ -60327,9 +60313,6 @@ module stdlib_linalg_lapack_c complex(sp), intent(out) :: sh(*), t(ldt,*), v(ldv,*), work(*), wv(ldwv,*) ! ================================================================ ! Parameters - real(sp), parameter :: rzero = 0.0_sp - real(sp), parameter :: rone = 1.0_sp - ! Local Scalars complex(sp) :: beta, cdum, s, tau @@ -60373,7 +60356,7 @@ module stdlib_linalg_lapack_c if( nw<1 )return ! ==== machine constants ==== safmin = stdlib${ii}$_slamch( 'SAFE MINIMUM' ) - safmax = rone / safmin + safmax = one / safmin call stdlib${ii}$_slabad( safmin, safmax ) ulp = stdlib${ii}$_slamch( 'PRECISION' ) smlnum = safmin*( real( n,KIND=sp) / ulp ) @@ -60414,7 +60397,7 @@ module stdlib_linalg_lapack_c do knt = infqr + 1, jw ! ==== small spike tip deflation test ==== foo = cabs1( t( ns, ns ) ) - if( foo==rzero )foo = cabs1( s ) + if( foo==zero )foo = cabs1( s ) if( cabs1( s )*cabs1( v( 1_${ik}$, ns ) )<=max( smlnum, ulp*foo ) )then ! ==== cone more converged eigenvalue ==== ns = ns - 1_${ik}$ @@ -78376,7 +78359,6 @@ module stdlib_linalg_lapack_c ! Parameters integer(${ik}$), parameter :: ntiny = 15_${ik}$ integer(${ik}$), parameter :: nl = 49_${ik}$ - real(sp), parameter :: rzero = 0.0_sp ! ==== matrices of order ntiny or smaller must be processed by ! . stdlib${ii}$_clahqr because of insufficient subdiagonal scratch space. ! . (this is a hard limit.) ==== @@ -78402,7 +78384,7 @@ module stdlib_linalg_lapack_c wantt = stdlib_lsame( job, 'S' ) initz = stdlib_lsame( compz, 'I' ) wantz = initz .or. stdlib_lsame( compz, 'V' ) - work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=sp), rzero,KIND=sp) + work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=sp), zero,KIND=sp) lquery = lwork==-1_${ik}$ info = 0_${ik}$ if( .not.stdlib_lsame( job, 'E' ) .and. .not.wantt ) then @@ -78436,7 +78418,7 @@ module stdlib_linalg_lapack_c ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( work( 1_${ik}$ ),KIND=sp), real( max( 1_${ik}$,n ),KIND=sp) ), & - rzero,KIND=sp) + zero,KIND=sp) return else ! ==== copy eigenvalues isolated by stdlib${ii}$_cgebal ==== @@ -78492,7 +78474,7 @@ module stdlib_linalg_lapack_c ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( max( 1_${ik}$, n ),KIND=sp),real( work( 1_${ik}$ ),KIND=sp) ), & - rzero,KIND=sp) + zero,KIND=sp) end if end subroutine stdlib${ii}$_chseqr @@ -79112,9 +79094,6 @@ module stdlib_linalg_lapack_c complex(sp), intent(out) :: sh(*), t(ldt,*), v(ldv,*), work(*), wv(ldwv,*) ! ================================================================ ! Parameters - real(sp), parameter :: rzero = 0.0_sp - real(sp), parameter :: rone = 1.0_sp - ! Local Scalars complex(sp) :: beta, cdum, s, tau @@ -79162,7 +79141,7 @@ module stdlib_linalg_lapack_c if( nw<1 )return ! ==== machine constants ==== safmin = stdlib${ii}$_slamch( 'SAFE MINIMUM' ) - safmax = rone / safmin + safmax = one / safmin call stdlib${ii}$_slabad( safmin, safmax ) ulp = stdlib${ii}$_slamch( 'PRECISION' ) smlnum = safmin*( real( n,KIND=sp) / ulp ) @@ -79209,7 +79188,7 @@ module stdlib_linalg_lapack_c do knt = infqr + 1, jw ! ==== small spike tip deflation test ==== foo = cabs1( t( ns, ns ) ) - if( foo==rzero )foo = cabs1( s ) + if( foo==zero )foo = cabs1( s ) if( cabs1( s )*cabs1( v( 1_${ik}$, ns ) )<=max( smlnum, ulp*foo ) )then ! ==== cone more converged eigenvalue ==== ns = ns - 1_${ik}$ diff --git a/legacy/stdlib_linalg_lapack_d.fypp b/legacy/stdlib_linalg_lapack_d.fypp index 4b390e4ad..4d619bc05 100644 --- a/legacy/stdlib_linalg_lapack_d.fypp +++ b/legacy/stdlib_linalg_lapack_d.fypp @@ -5,7 +5,7 @@ module stdlib_linalg_lapack_d use stdlib_linalg_lapack_aux use stdlib_linalg_lapack_s use stdlib_linalg_lapack_c - implicit none(type,external) + implicit none private @@ -6195,12 +6195,12 @@ module stdlib_linalg_lapack_d ! convert 48-bit integer to a realnumber in the interval (0,1,KIND=dp) x( i ) = r*( real( it1,KIND=dp)+r*( real( it2,KIND=dp)+r*( real( it3,KIND=dp)+& r*real( it4,KIND=dp) ) ) ) - if (x( i )==1.0_dp) then + if (x( i )==one) then ! if a real number has n bits of precision, and the first ! n bits of the 48-bit integer above happen to be all 1 (which ! will occur about once every 2**n calls), then x( i ) will ! be rounded to exactly one. - ! since x( i ) is not supposed to return exactly 0.0_dp or 1.0_dp, + ! since x( i ) is not supposed to return exactly 0.0_dp or one, ! the statistically correct thing to do in this situation is ! simply to iterate again. ! n.b. the case x( i ) = 0.0_dp should not be possible. @@ -11061,8 +11061,7 @@ module stdlib_linalg_lapack_d ! ===================================================================== ! Parameters real(dp), parameter :: alphasq = 0.01_dp - real(dp), parameter :: realone = 1.0_dp - real(dp), parameter :: realzero = 0.0_dp + ! Local Scalars @@ -11096,11 +11095,11 @@ module stdlib_linalg_lapack_d end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_dlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_dlassq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -11113,11 +11112,11 @@ module stdlib_linalg_lapack_d call stdlib${ii}$_dgemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_dgemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_dgemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_dlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_dlassq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -11143,11 +11142,11 @@ module stdlib_linalg_lapack_d call stdlib${ii}$_dgemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_dgemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_dgemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_dlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_dlassq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do @@ -16898,7 +16897,7 @@ module stdlib_linalg_lapack_d ! ===================================================================== ! Parameters real(dp), parameter :: fudge = 2.1_dp - real(dp), parameter :: relfac = 2.0_dp + real(dp), parameter :: relfac = two ! Local Scalars @@ -18055,9 +18054,9 @@ module stdlib_linalg_lapack_d end do end if do j = 1, n - s( j ) = 1.0_dp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_dp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -24348,7 +24347,7 @@ module stdlib_linalg_lapack_d end if else nu = sigma21 - mu = sqrt( 1.0_dp - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -27049,7 +27048,7 @@ module stdlib_linalg_lapack_d real(dp), intent(out) :: lscale(*), rscale(*), work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: sclfac = 1.0e+1_dp + real(dp), parameter :: sclfac = ten ! Local Scalars @@ -35724,7 +35723,7 @@ module stdlib_linalg_lapack_d ! ==================================================================== ! Parameters - real(dp), parameter :: realone = 1.0_dp + ! Local Scalars @@ -35738,15 +35737,15 @@ module stdlib_linalg_lapack_d info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -41264,8 +41263,6 @@ module stdlib_linalg_lapack_d real(dp), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: rzero = 0.0e+0_dp - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -41358,7 +41355,7 @@ module stdlib_linalg_lapack_d d( i ) = ( ab( abdpos, i ) ) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -48644,7 +48641,7 @@ module stdlib_linalg_lapack_d real(dp), intent(out) :: p, q ! ===================================================================== ! Parameters - real(dp), parameter :: bs = 2.0_dp + real(dp), parameter :: bs = two @@ -57048,8 +57045,6 @@ module stdlib_linalg_lapack_d real(dp), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: rone = 1.0e+0_dp - ! Local Scalars logical(lk) :: lquery, upper @@ -57151,7 +57146,7 @@ module stdlib_linalg_lapack_d ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_dsyr2k( uplo, 'CONJUGATE', pn, pk,-one, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -57187,7 +57182,7 @@ module stdlib_linalg_lapack_d ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_dsyr2k( uplo, 'NO TRANSPOSE', pn, pk,-one, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 @@ -82086,7 +82081,7 @@ module stdlib_linalg_lapack_d real(dp), parameter :: fourth = one/four real(dp), parameter :: fac = half real(dp), parameter :: maxgrowth = 64.0_dp - real(dp), parameter :: fudge = 2.0_dp + real(dp), parameter :: fudge = two integer(${ik}$), parameter :: maxtry = 6_${ik}$ integer(${ik}$), parameter :: allrng = 1_${ik}$ integer(${ik}$), parameter :: indrng = 2_${ik}$ diff --git a/legacy/stdlib_linalg_lapack_q.fypp b/legacy/stdlib_linalg_lapack_q.fypp index bba1a4fea..94c6592e5 100644 --- a/legacy/stdlib_linalg_lapack_q.fypp +++ b/legacy/stdlib_linalg_lapack_q.fypp @@ -9,7 +9,7 @@ module stdlib_linalg_lapack_${ri}$ use stdlib_linalg_lapack_c use stdlib_linalg_lapack_d use stdlib_linalg_lapack_z - implicit none(type,external) + implicit none private @@ -734,7 +734,7 @@ module stdlib_linalg_lapack_${ri}$ end if else nu = sigma21 - mu = sqrt( 1.0_${rk}$ - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -16449,7 +16449,7 @@ module stdlib_linalg_lapack_${ri}$ real(${rk}$), intent(out) :: lscale(*), rscale(*), work(*) ! ===================================================================== ! Parameters - real(${rk}$), parameter :: sclfac = 1.0e+1_${rk}$ + real(${rk}$), parameter :: sclfac = ten ! Local Scalars @@ -25027,7 +25027,7 @@ module stdlib_linalg_lapack_${ri}$ real(${rk}$), intent(out) :: p, q ! ===================================================================== ! Parameters - real(${rk}$), parameter :: bs = 2.0_${rk}$ + real(${rk}$), parameter :: bs = two @@ -40420,7 +40420,7 @@ module stdlib_linalg_lapack_${ri}$ real(${rk}$), parameter :: fourth = one/four real(${rk}$), parameter :: fac = half real(${rk}$), parameter :: maxgrowth = 64.0_${rk}$ - real(${rk}$), parameter :: fudge = 2.0_${rk}$ + real(${rk}$), parameter :: fudge = two integer(${ik}$), parameter :: maxtry = 6_${ik}$ integer(${ik}$), parameter :: allrng = 1_${ik}$ integer(${ik}$), parameter :: indrng = 2_${ik}$ @@ -42568,12 +42568,12 @@ module stdlib_linalg_lapack_${ri}$ ! convert 48-bit integer to a realnumber in the interval (0,1,KIND=${rk}$) x( i ) = r*( real( it1,KIND=${rk}$)+r*( real( it2,KIND=${rk}$)+r*( real( it3,KIND=${rk}$)+& r*real( it4,KIND=${rk}$) ) ) ) - if (x( i )==1.0_${rk}$) then + if (x( i )==one) then ! if a real number has n bits of precision, and the first ! n bits of the 48-bit integer above happen to be all 1 (which ! will occur about once every 2**n calls), then x( i ) will ! be rounded to exactly one. - ! since x( i ) is not supposed to return exactly 0.0_${rk}$ or 1.0_${rk}$, + ! since x( i ) is not supposed to return exactly 0.0_${rk}$ or one, ! the statistically correct thing to do in this situation is ! simply to iterate again. ! n.b. the case x( i ) = 0.0_${rk}$ should not be possible. @@ -51489,7 +51489,7 @@ module stdlib_linalg_lapack_${ri}$ ! ==================================================================== ! Parameters - real(${rk}$), parameter :: realone = 1.0_${rk}$ + ! Local Scalars @@ -51503,15 +51503,15 @@ module stdlib_linalg_lapack_${ri}$ info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -52378,8 +52378,7 @@ module stdlib_linalg_lapack_${ri}$ ! ===================================================================== ! Parameters real(${rk}$), parameter :: alphasq = 0.01_${rk}$ - real(${rk}$), parameter :: realone = 1.0_${rk}$ - real(${rk}$), parameter :: realzero = 0.0_${rk}$ + ! Local Scalars @@ -52413,11 +52412,11 @@ module stdlib_linalg_lapack_${ri}$ end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ri}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ri}$lassq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -52430,11 +52429,11 @@ module stdlib_linalg_lapack_${ri}$ call stdlib${ii}$_${ri}$gemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_${ri}$gemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_${ri}$gemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ri}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ri}$lassq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -52460,11 +52459,11 @@ module stdlib_linalg_lapack_${ri}$ call stdlib${ii}$_${ri}$gemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_${ri}$gemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_${ri}$gemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ri}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ri}$lassq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do @@ -65697,7 +65696,7 @@ module stdlib_linalg_lapack_${ri}$ ! ===================================================================== ! Parameters real(${rk}$), parameter :: fudge = 2.1_${rk}$ - real(${rk}$), parameter :: relfac = 2.0_${rk}$ + real(${rk}$), parameter :: relfac = two ! Local Scalars @@ -69090,9 +69089,9 @@ module stdlib_linalg_lapack_${ri}$ end do end if do j = 1, n - s( j ) = 1.0_${rk}$ / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_${rk}$ * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -72655,8 +72654,6 @@ module stdlib_linalg_lapack_${ri}$ real(${rk}$), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(${rk}$), parameter :: rzero = 0.0e+0_${rk}$ - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -72749,7 +72746,7 @@ module stdlib_linalg_lapack_${ri}$ d( i ) = ( ab( abdpos, i ) ) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -72900,8 +72897,6 @@ module stdlib_linalg_lapack_${ri}$ real(${rk}$), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(${rk}$), parameter :: rone = 1.0e+0_${rk}$ - ! Local Scalars logical(lk) :: lquery, upper @@ -73003,7 +72998,7 @@ module stdlib_linalg_lapack_${ri}$ ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_${ri}$syr2k( uplo, 'CONJUGATE', pn, pk,-one, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -73039,7 +73034,7 @@ module stdlib_linalg_lapack_${ri}$ ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_${ri}$syr2k( uplo, 'NO TRANSPOSE', pn, pk,-one, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 diff --git a/legacy/stdlib_linalg_lapack_s.fypp b/legacy/stdlib_linalg_lapack_s.fypp index 5bdfee21f..41203e87a 100644 --- a/legacy/stdlib_linalg_lapack_s.fypp +++ b/legacy/stdlib_linalg_lapack_s.fypp @@ -3,7 +3,7 @@ module stdlib_linalg_lapack_s use stdlib_linalg_constants use stdlib_linalg_blas use stdlib_linalg_lapack_aux - implicit none(type,external) + implicit none private @@ -6224,13 +6224,13 @@ module stdlib_linalg_lapack_s ! convert 48-bit integer to a realnumber in the interval (0,1,KIND=sp) x( i ) = r*( real( it1,KIND=sp)+r*( real( it2,KIND=sp)+r*( real( it3,KIND=sp)+& r*real( it4,KIND=sp) ) ) ) - if (x( i )==1.0_sp) then + if (x( i )==one) then ! if a real number has n bits of precision, and the first ! n bits of the 48-bit integer above happen to be all 1 (which ! will occur about once every 2**n calls), then x( i ) will ! be rounded to exactly one. in ieee single precision arithmetic, ! this will happen relatively often since n = 24. - ! since x( i ) is not supposed to return exactly 0.0_sp or 1.0_sp, + ! since x( i ) is not supposed to return exactly 0.0_sp or one, ! the statistically correct thing to do in this situation is ! simply to iterate again. ! n.b. the case x( i ) = 0.0_sp should not be possible. @@ -11040,8 +11040,7 @@ module stdlib_linalg_lapack_s ! ===================================================================== ! Parameters real(sp), parameter :: alphasq = 0.01_sp - real(sp), parameter :: realone = 1.0_sp - real(sp), parameter :: realzero = 0.0_sp + ! Local Scalars @@ -11075,11 +11074,11 @@ module stdlib_linalg_lapack_s end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_slassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_slassq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -11092,11 +11091,11 @@ module stdlib_linalg_lapack_s call stdlib${ii}$_sgemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_sgemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_sgemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_slassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_slassq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -11122,11 +11121,11 @@ module stdlib_linalg_lapack_s call stdlib${ii}$_sgemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_sgemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_sgemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_slassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_slassq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do @@ -16876,7 +16875,7 @@ module stdlib_linalg_lapack_s ! ===================================================================== ! Parameters real(sp), parameter :: fudge = 2.1_sp - real(sp), parameter :: relfac = 2.0_sp + real(sp), parameter :: relfac = two ! Local Scalars @@ -18033,9 +18032,9 @@ module stdlib_linalg_lapack_s end do end if do j = 1, n - s( j ) = 1.0_sp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_sp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -24293,7 +24292,7 @@ module stdlib_linalg_lapack_s end if else nu = sigma21 - mu = sqrt( 1.0_sp - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -26994,7 +26993,7 @@ module stdlib_linalg_lapack_s real(sp), intent(out) :: lscale(*), rscale(*), work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: sclfac = 1.0e+1_sp + real(sp), parameter :: sclfac = ten ! Local Scalars @@ -27814,7 +27813,7 @@ module stdlib_linalg_lapack_s go to 10 end if ! compute the estimate of the reciprocal condition number. - if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_gbrcond = ( 1.0_sp / ainvnm ) + if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_gbrcond = ( one / ainvnm ) return end function stdlib${ii}$_sla_gbrcond @@ -28143,7 +28142,7 @@ module stdlib_linalg_lapack_s go to 10 end if ! compute the estimate of the reciprocal condition number. - if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_gercond = ( 1.0_sp / ainvnm ) + if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_gercond = ( one / ainvnm ) return end function stdlib${ii}$_sla_gercond @@ -28343,7 +28342,7 @@ module stdlib_linalg_lapack_s go to 10 end if ! compute the estimate of the reciprocal condition number. - if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_porcond = ( 1.0_sp / ainvnm ) + if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_porcond = ( one / ainvnm ) return end function stdlib${ii}$_sla_porcond @@ -28699,7 +28698,7 @@ module stdlib_linalg_lapack_s go to 10 end if ! compute the estimate of the reciprocal condition number. - if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_syrcond = ( 1.0_sp / ainvnm ) + if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_syrcond = ( one / ainvnm ) return end function stdlib${ii}$_sla_syrcond @@ -35671,7 +35670,7 @@ module stdlib_linalg_lapack_s ! ==================================================================== ! Parameters - real(sp), parameter :: realone = 1.0_sp + ! Local Scalars @@ -35685,15 +35684,15 @@ module stdlib_linalg_lapack_s info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -41211,8 +41210,6 @@ module stdlib_linalg_lapack_s real(sp), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: rzero = 0.0e+0_sp - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -41305,7 +41302,7 @@ module stdlib_linalg_lapack_s d( i ) = ( ab( abdpos, i ) ) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -47515,7 +47512,7 @@ module stdlib_linalg_lapack_s real(sp), intent(out) :: p, q ! ===================================================================== ! Parameters - real(sp), parameter :: bs = 2.0_sp + real(sp), parameter :: bs = two @@ -55560,8 +55557,6 @@ module stdlib_linalg_lapack_s real(sp), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: rone = 1.0e+0_sp - ! Local Scalars logical(lk) :: lquery, upper @@ -55663,7 +55658,7 @@ module stdlib_linalg_lapack_s ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_ssyr2k( uplo, 'CONJUGATE', pn, pk,-one, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -55699,7 +55694,7 @@ module stdlib_linalg_lapack_s ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_ssyr2k( uplo, 'NO TRANSPOSE', pn, pk,-one, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 @@ -81682,7 +81677,7 @@ module stdlib_linalg_lapack_s real(sp), parameter :: fourth = one/four real(sp), parameter :: fac = half real(sp), parameter :: maxgrowth = 64.0_sp - real(sp), parameter :: fudge = 2.0_sp + real(sp), parameter :: fudge = two integer(${ik}$), parameter :: maxtry = 6_${ik}$ integer(${ik}$), parameter :: allrng = 1_${ik}$ integer(${ik}$), parameter :: indrng = 2_${ik}$ diff --git a/legacy/stdlib_linalg_lapack_w.fypp b/legacy/stdlib_linalg_lapack_w.fypp index 5d640ed4c..056f39ccd 100644 --- a/legacy/stdlib_linalg_lapack_w.fypp +++ b/legacy/stdlib_linalg_lapack_w.fypp @@ -11,7 +11,7 @@ module stdlib_linalg_lapack_${ci}$ use stdlib_linalg_lapack_${ri}$ #:endif #:endfor - implicit none(type,external) + implicit none private public :: sp,dp,${ck}$,lk,ilp,ilp64 @@ -744,7 +744,7 @@ module stdlib_linalg_lapack_${ci}$ end if else nu = sigma21 - mu = sqrt( 1.0_${ck}$ - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -17384,7 +17384,7 @@ module stdlib_linalg_lapack_${ci}$ complex(${ck}$), intent(inout) :: a(lda,*), b(ldb,*) ! ===================================================================== ! Parameters - real(${ck}$), parameter :: sclfac = 1.0e+1_${ck}$ + real(${ck}$), parameter :: sclfac = ten @@ -24740,9 +24740,9 @@ module stdlib_linalg_lapack_${ci}$ end do end if do j = 1, n - s( j ) = 1.0_${ck}$ / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_${ck}$ * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -28585,8 +28585,6 @@ module stdlib_linalg_lapack_${ci}$ complex(${ck}$), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(${ck}$), parameter :: rzero = 0.0e+0_${ck}$ - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -28681,7 +28679,7 @@ module stdlib_linalg_lapack_${ci}$ d( i ) = real( ab( abdpos, i ),KIND=${ck}$) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -28707,7 +28705,7 @@ module stdlib_linalg_lapack_${ci}$ abstmp = abs( tmp ) ab( abofdpos, i+1 ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -28723,7 +28721,7 @@ module stdlib_linalg_lapack_${ci}$ abstmp = abs( tmp ) ab( abofdpos, i ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -28857,8 +28855,6 @@ module stdlib_linalg_lapack_${ci}$ complex(${ck}$), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(${ck}$), parameter :: rone = 1.0e+0_${ck}$ - ! Local Scalars logical(lk) :: lquery, upper @@ -28960,7 +28956,7 @@ module stdlib_linalg_lapack_${ci}$ ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_${ci}$her2k( uplo, 'CONJUGATE', pn, pk,-cone, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -28996,7 +28992,7 @@ module stdlib_linalg_lapack_${ci}$ ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_${ci}$her2k( uplo, 'NO TRANSPOSE', pn, pk,-cone, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 @@ -34089,8 +34085,6 @@ module stdlib_linalg_lapack_${ci}$ complex(${ck}$), intent(out) :: work(*) ! ===================================================================== ! Parameters - real(${ck}$), parameter :: rzero = 0.0e+0_${ck}$ - ! Local Scalars logical(lk) :: bothv, fromqr, leftv, noinit, rightv @@ -34186,7 +34180,7 @@ module stdlib_linalg_lapack_${ci}$ if( stdlib${ii}$_${c2ri(ci)}$isnan( hnorm ) ) then info = -6_${ik}$ return - else if( hnorm>rzero ) then + else if( hnorm>zero ) then eps3 = hnorm*ulp else eps3 = smlnum @@ -34263,7 +34257,6 @@ module stdlib_linalg_lapack_${ci}$ ! Parameters integer(${ik}$), parameter :: ntiny = 15_${ik}$ integer(${ik}$), parameter :: nl = 49_${ik}$ - real(${ck}$), parameter :: rzero = 0.0_${ck}$ ! ==== matrices of order ntiny or smaller must be processed by ! . stdlib${ii}$_${ci}$lahqr because of insufficient subdiagonal scratch space. ! . (this is a hard limit.) ==== @@ -34289,7 +34282,7 @@ module stdlib_linalg_lapack_${ci}$ wantt = stdlib_lsame( job, 'S' ) initz = stdlib_lsame( compz, 'I' ) wantz = initz .or. stdlib_lsame( compz, 'V' ) - work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=${ck}$), rzero,KIND=${ck}$) + work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=${ck}$), zero,KIND=${ck}$) lquery = lwork==-1_${ik}$ info = 0_${ik}$ if( .not.stdlib_lsame( job, 'E' ) .and. .not.wantt ) then @@ -34323,7 +34316,7 @@ module stdlib_linalg_lapack_${ci}$ ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( work( 1_${ik}$ ),KIND=${ck}$), real( max( 1_${ik}$,n ),KIND=${ck}$) ), & - rzero,KIND=${ck}$) + zero,KIND=${ck}$) return else ! ==== copy eigenvalues isolated by stdlib${ii}$_${ci}$gebal ==== @@ -34379,7 +34372,7 @@ module stdlib_linalg_lapack_${ci}$ ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( max( 1_${ik}$, n ),KIND=${ck}$),real( work( 1_${ik}$ ),KIND=${ck}$) ), & - rzero,KIND=${ck}$) + zero,KIND=${ck}$) end if end subroutine stdlib${ii}$_${ci}$hseqr @@ -37496,7 +37489,7 @@ module stdlib_linalg_lapack_${ci}$ complex(${ck}$), intent(out) :: q2(ldq2,*) ! ===================================================================== ! Parameters - real(${ck}$), parameter :: mone = -1.0_${ck}$ + real(${ck}$), parameter :: mone = -one ! Local Scalars integer(${ik}$) :: i, imax, j, jlam, jmax, jp, k2, n1, n1p1, n2 @@ -40421,14 +40414,9 @@ module stdlib_linalg_lapack_${ci}$ complex(${ck}$), intent(out) :: w(*) ! ========================================================= ! Parameters - real(${ck}$), parameter :: rzero = 0.0_${ck}$ - real(${ck}$), parameter :: rone = 1.0_${ck}$ real(${ck}$), parameter :: dat1 = 3.0_${ck}$/4.0_${ck}$ integer(${ik}$), parameter :: kexsh = 10_${ik}$ - - - ! Local Scalars complex(${ck}$) :: cdum, h11, h11s, h22, sc, sum, t, t1, temp, u, v2, x, y real(${ck}$) :: aa, ab, ba, bb, h10, h21, rtemp, s, safmax, safmin, smlnum, sx, t2, tst, & @@ -40465,7 +40453,7 @@ module stdlib_linalg_lapack_${ci}$ jhi = ihi end if do i = ilo + 1, ihi - if( aimag( h( i, i-1 ) )/=rzero ) then + if( aimag( h( i, i-1 ) )/=zero ) then ! ==== the following redundant normalization ! . avoids problems with both gradual and ! . sudden underflow in abs(h(i,i-1)) ==== @@ -40481,7 +40469,7 @@ module stdlib_linalg_lapack_${ci}$ nz = ihiz - iloz + 1_${ik}$ ! set machine-dependent constants for the stopping criterion. safmin = stdlib${ii}$_${c2ri(ci)}$lamch( 'SAFE MINIMUM' ) - safmax = rone / safmin + safmax = one / safmin call stdlib${ii}$_${c2ri(ci)}$labad( safmin, safmax ) ulp = stdlib${ii}$_${c2ri(ci)}$lamch( 'PRECISION' ) smlnum = safmin*( real( nh,KIND=${ck}$) / ulp ) @@ -40559,14 +40547,14 @@ module stdlib_linalg_lapack_${ci}$ t = h( i, i ) u = sqrt( h( i-1, i ) )*sqrt( h( i, i-1 ) ) s = cabs1( u ) - if( s/=rzero ) then + if( s/=zero ) then x = half*( h( i-1, i-1 )-t ) sx = cabs1( x ) s = max( s, cabs1( x ) ) y = s*sqrt( ( x / s )**2_${ik}$+( u / s )**2_${ik}$ ) - if( sx>rzero ) then + if( sx>zero ) then if( real( x / sx,KIND=${ck}$)*real( y,KIND=${ck}$)+aimag( x / sx )*aimag( y )& - =ktop ) then if( h( k+1, k )/=czero ) then tst1 = cabs1( h( k, k ) ) + cabs1( h( k+1, k+1 ) ) - if( tst1==rzero ) then + if( tst1==zero ) then if( k>=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -47211,7 +47188,7 @@ module stdlib_linalg_lapack_${ci}$ scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & k+1, k ) = czero end if end if @@ -47329,7 +47306,7 @@ module stdlib_linalg_lapack_${ci}$ if( k=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -47346,7 +47323,7 @@ module stdlib_linalg_lapack_${ci}$ scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& k ) = czero end if end if @@ -64444,9 +64421,9 @@ module stdlib_linalg_lapack_${ci}$ end do end if do j = 1, n - s( j ) = 1.0_${ck}$ / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_${ck}$ * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -75984,7 +75961,7 @@ module stdlib_linalg_lapack_${ci}$ ! ==================================================================== ! Parameters - real(${ck}$), parameter :: realone = 1.0_${ck}$ + ! Local Scalars @@ -75999,15 +75976,15 @@ module stdlib_linalg_lapack_${ci}$ info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -76881,8 +76858,7 @@ module stdlib_linalg_lapack_${ci}$ ! ===================================================================== ! Parameters real(${ck}$), parameter :: alphasq = 0.01_${ck}$ - real(${ck}$), parameter :: realone = 1.0_${ck}$ - real(${ck}$), parameter :: realzero = 0.0_${ck}$ + ! Local Scalars @@ -76916,11 +76892,11 @@ module stdlib_linalg_lapack_${ci}$ end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ci}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ci}$lassq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -76933,11 +76909,11 @@ module stdlib_linalg_lapack_${ci}$ call stdlib${ii}$_${ci}$gemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_${ci}$gemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_${ci}$gemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ci}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ci}$lassq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -76963,11 +76939,11 @@ module stdlib_linalg_lapack_${ci}$ call stdlib${ii}$_${ci}$gemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_${ci}$gemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_${ci}$gemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ci}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ci}$lassq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do diff --git a/legacy/stdlib_linalg_lapack_z.fypp b/legacy/stdlib_linalg_lapack_z.fypp index dd823c5bb..5fb54f73a 100644 --- a/legacy/stdlib_linalg_lapack_z.fypp +++ b/legacy/stdlib_linalg_lapack_z.fypp @@ -6,7 +6,7 @@ module stdlib_linalg_lapack_z use stdlib_linalg_lapack_s use stdlib_linalg_lapack_c use stdlib_linalg_lapack_d - implicit none(type,external) + implicit none private @@ -1797,7 +1797,7 @@ module stdlib_linalg_lapack_z complex(dp), intent(inout) :: a(lda,*), b(ldb,*) ! ===================================================================== ! Parameters - real(dp), parameter :: sclfac = 1.0e+1_dp + real(dp), parameter :: sclfac = ten @@ -10012,8 +10012,6 @@ module stdlib_linalg_lapack_z complex(dp), intent(out) :: v(*) ! ================================================================ ! Parameters - real(dp), parameter :: rzero = 0.0_dp - ! Local Scalars complex(dp) :: cdum, h21s, h31s @@ -10031,7 +10029,7 @@ module stdlib_linalg_lapack_z end if if( n==2_${ik}$ ) then s = cabs1( h( 1_${ik}$, 1_${ik}$ )-s2 ) + cabs1( h( 2_${ik}$, 1_${ik}$ ) ) - if( s==rzero ) then + if( s==zero ) then v( 1_${ik}$ ) = czero v( 2_${ik}$ ) = czero else @@ -21070,9 +21068,9 @@ module stdlib_linalg_lapack_z end do end if do j = 1, n - s( j ) = 1.0_dp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_dp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -29337,7 +29335,7 @@ module stdlib_linalg_lapack_z ! ==================================================================== ! Parameters - real(dp), parameter :: realone = 1.0_dp + ! Local Scalars @@ -29352,15 +29350,15 @@ module stdlib_linalg_lapack_z info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -29652,8 +29650,7 @@ module stdlib_linalg_lapack_z ! ===================================================================== ! Parameters real(dp), parameter :: alphasq = 0.01_dp - real(dp), parameter :: realone = 1.0_dp - real(dp), parameter :: realzero = 0.0_dp + ! Local Scalars @@ -29687,11 +29684,11 @@ module stdlib_linalg_lapack_z end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_zlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_zlassq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -29704,11 +29701,11 @@ module stdlib_linalg_lapack_z call stdlib${ii}$_zgemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_zgemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_zgemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_zlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_zlassq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -29734,11 +29731,11 @@ module stdlib_linalg_lapack_z call stdlib${ii}$_zgemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_zgemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_zgemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_zlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_zlassq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do @@ -32261,7 +32258,7 @@ module stdlib_linalg_lapack_z end if else nu = sigma21 - mu = sqrt( 1.0_dp - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -36030,9 +36027,9 @@ module stdlib_linalg_lapack_z end do end if do j = 1, n - s( j ) = 1.0_dp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_dp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -36650,8 +36647,6 @@ module stdlib_linalg_lapack_z complex(dp), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: rzero = 0.0e+0_dp - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -36746,7 +36741,7 @@ module stdlib_linalg_lapack_z d( i ) = real( ab( abdpos, i ),KIND=dp) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -36772,7 +36767,7 @@ module stdlib_linalg_lapack_z abstmp = abs( tmp ) ab( abofdpos, i+1 ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -36788,7 +36783,7 @@ module stdlib_linalg_lapack_z abstmp = abs( tmp ) ab( abofdpos, i ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -36922,8 +36917,6 @@ module stdlib_linalg_lapack_z complex(dp), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: rone = 1.0e+0_dp - ! Local Scalars logical(lk) :: lquery, upper @@ -37025,7 +37018,7 @@ module stdlib_linalg_lapack_z ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_zher2k( uplo, 'CONJUGATE', pn, pk,-cone, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -37061,7 +37054,7 @@ module stdlib_linalg_lapack_z ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_zher2k( uplo, 'NO TRANSPOSE', pn, pk,-cone, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 @@ -40362,8 +40355,6 @@ module stdlib_linalg_lapack_z complex(dp), intent(out) :: w(*) ! ========================================================= ! Parameters - real(dp), parameter :: rzero = 0.0_dp - real(dp), parameter :: rone = 1.0_dp real(dp), parameter :: dat1 = 3.0_dp/4.0_dp integer(${ik}$), parameter :: kexsh = 10_${ik}$ @@ -40406,7 +40397,7 @@ module stdlib_linalg_lapack_z jhi = ihi end if do i = ilo + 1, ihi - if( aimag( h( i, i-1 ) )/=rzero ) then + if( aimag( h( i, i-1 ) )/=zero ) then ! ==== the following redundant normalization ! . avoids problems with both gradual and ! . sudden underflow in abs(h(i,i-1)) ==== @@ -40422,7 +40413,7 @@ module stdlib_linalg_lapack_z nz = ihiz - iloz + 1_${ik}$ ! set machine-dependent constants for the stopping criterion. safmin = stdlib${ii}$_dlamch( 'SAFE MINIMUM' ) - safmax = rone / safmin + safmax = one / safmin call stdlib${ii}$_dlabad( safmin, safmax ) ulp = stdlib${ii}$_dlamch( 'PRECISION' ) smlnum = safmin*( real( nh,KIND=dp) / ulp ) @@ -40500,14 +40491,14 @@ module stdlib_linalg_lapack_z t = h( i, i ) u = sqrt( h( i-1, i ) )*sqrt( h( i, i-1 ) ) s = cabs1( u ) - if( s/=rzero ) then + if( s/=zero ) then x = half*( h( i-1, i-1 )-t ) sx = cabs1( x ) s = max( s, cabs1( x ) ) y = s*sqrt( ( x / s )**2_${ik}$+( u / s )**2_${ik}$ ) - if( sx>rzero ) then + if( sx>zero ) then if( real( x / sx,KIND=dp)*real( y,KIND=dp)+aimag( x / sx )*aimag( y )& - =ktop ) then if( h( k+1, k )/=czero ) then tst1 = cabs1( h( k, k ) ) + cabs1( h( k+1, k+1 ) ) - if( tst1==rzero ) then + if( tst1==zero ) then if( k>=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -44960,7 +44948,7 @@ module stdlib_linalg_lapack_z scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & k+1, k ) = czero end if end if @@ -45078,7 +45066,7 @@ module stdlib_linalg_lapack_z if( k=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -45095,7 +45083,7 @@ module stdlib_linalg_lapack_z scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& k ) = czero end if end if @@ -59945,8 +59933,6 @@ module stdlib_linalg_lapack_z complex(dp), intent(out) :: work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: rzero = 0.0e+0_dp - ! Local Scalars logical(lk) :: bothv, fromqr, leftv, noinit, rightv @@ -60042,7 +60028,7 @@ module stdlib_linalg_lapack_z if( stdlib${ii}$_disnan( hnorm ) ) then info = -6_${ik}$ return - else if( hnorm>rzero ) then + else if( hnorm>zero ) then eps3 = hnorm*ulp else eps3 = smlnum @@ -60619,9 +60605,6 @@ module stdlib_linalg_lapack_z complex(dp), intent(out) :: sh(*), t(ldt,*), v(ldv,*), work(*), wv(ldwv,*) ! ================================================================ ! Parameters - real(dp), parameter :: rzero = 0.0_dp - real(dp), parameter :: rone = 1.0_dp - ! Local Scalars complex(dp) :: beta, cdum, s, tau @@ -60665,7 +60648,7 @@ module stdlib_linalg_lapack_z if( nw<1 )return ! ==== machine constants ==== safmin = stdlib${ii}$_dlamch( 'SAFE MINIMUM' ) - safmax = rone / safmin + safmax = one / safmin call stdlib${ii}$_dlabad( safmin, safmax ) ulp = stdlib${ii}$_dlamch( 'PRECISION' ) smlnum = safmin*( real( n,KIND=dp) / ulp ) @@ -60706,7 +60689,7 @@ module stdlib_linalg_lapack_z do knt = infqr + 1, jw ! ==== small spike tip deflation test ==== foo = cabs1( t( ns, ns ) ) - if( foo==rzero )foo = cabs1( s ) + if( foo==zero )foo = cabs1( s ) if( cabs1( s )*cabs1( v( 1_${ik}$, ns ) )<=max( smlnum, ulp*foo ) )then ! ==== cone more converged eigenvalue ==== ns = ns - 1_${ik}$ @@ -78850,7 +78833,6 @@ module stdlib_linalg_lapack_z ! Parameters integer(${ik}$), parameter :: ntiny = 15_${ik}$ integer(${ik}$), parameter :: nl = 49_${ik}$ - real(dp), parameter :: rzero = 0.0_dp ! ==== matrices of order ntiny or smaller must be processed by ! . stdlib${ii}$_zlahqr because of insufficient subdiagonal scratch space. ! . (this is a hard limit.) ==== @@ -78876,7 +78858,7 @@ module stdlib_linalg_lapack_z wantt = stdlib_lsame( job, 'S' ) initz = stdlib_lsame( compz, 'I' ) wantz = initz .or. stdlib_lsame( compz, 'V' ) - work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=dp), rzero,KIND=dp) + work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=dp), zero,KIND=dp) lquery = lwork==-1_${ik}$ info = 0_${ik}$ if( .not.stdlib_lsame( job, 'E' ) .and. .not.wantt ) then @@ -78910,7 +78892,7 @@ module stdlib_linalg_lapack_z ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( work( 1_${ik}$ ),KIND=dp), real( max( 1_${ik}$,n ),KIND=dp) ), & - rzero,KIND=dp) + zero,KIND=dp) return else ! ==== copy eigenvalues isolated by stdlib${ii}$_zgebal ==== @@ -78966,7 +78948,7 @@ module stdlib_linalg_lapack_z ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( max( 1_${ik}$, n ),KIND=dp),real( work( 1_${ik}$ ),KIND=dp) ), & - rzero,KIND=dp) + zero,KIND=dp) end if end subroutine stdlib${ii}$_zhseqr @@ -79586,9 +79568,6 @@ module stdlib_linalg_lapack_z complex(dp), intent(out) :: sh(*), t(ldt,*), v(ldv,*), work(*), wv(ldwv,*) ! ================================================================ ! Parameters - real(dp), parameter :: rzero = 0.0_dp - real(dp), parameter :: rone = 1.0_dp - ! Local Scalars complex(dp) :: beta, cdum, s, tau @@ -79636,7 +79615,7 @@ module stdlib_linalg_lapack_z if( nw<1 )return ! ==== machine constants ==== safmin = stdlib${ii}$_dlamch( 'SAFE MINIMUM' ) - safmax = rone / safmin + safmax = one / safmin call stdlib${ii}$_dlabad( safmin, safmax ) ulp = stdlib${ii}$_dlamch( 'PRECISION' ) smlnum = safmin*( real( n,KIND=dp) / ulp ) @@ -79683,7 +79662,7 @@ module stdlib_linalg_lapack_z do knt = infqr + 1, jw ! ==== small spike tip deflation test ==== foo = cabs1( t( ns, ns ) ) - if( foo==rzero )foo = cabs1( s ) + if( foo==zero )foo = cabs1( s ) if( cabs1( s )*cabs1( v( 1_${ik}$, ns ) )<=max( smlnum, ulp*foo ) )then ! ==== cone more converged eigenvalue ==== ns = ns - 1_${ik}$ diff --git a/src/blas/stdlib_linalg_blas_aux.fypp b/src/blas/stdlib_linalg_blas_aux.fypp index 692d7b8fa..a449cbf21 100644 --- a/src/blas/stdlib_linalg_blas_aux.fypp +++ b/src/blas/stdlib_linalg_blas_aux.fypp @@ -2,7 +2,7 @@ #:set RC_KINDS_TYPES = REAL_KINDS_TYPES + CMPLX_KINDS_TYPES module stdlib_linalg_blas_aux use stdlib_linalg_constants - implicit none(type,external) + implicit none private diff --git a/src/lapack/stdlib_lapack_blas_like_base.fypp b/src/lapack/stdlib_lapack_blas_like_base.fypp index 44e3103e7..9ed689178 100644 --- a/src/lapack/stdlib_lapack_blas_like_base.fypp +++ b/src/lapack/stdlib_lapack_blas_like_base.fypp @@ -876,13 +876,13 @@ submodule(stdlib_lapack_base) stdlib_lapack_blas_like_base ! convert 48-bit integer to a realnumber in the interval (0,1,KIND=sp) x( i ) = r*( real( it1,KIND=sp)+r*( real( it2,KIND=sp)+r*( real( it3,KIND=sp)+& r*real( it4,KIND=sp) ) ) ) - if (x( i )==1.0_sp) then + if (x( i )==one) then ! if a real number has n bits of precision, and the first ! n bits of the 48-bit integer above happen to be all 1 (which ! will occur about once every 2**n calls), then x( i ) will ! be rounded to exactly one. in ieee single precision arithmetic, ! this will happen relatively often since n = 24. - ! since x( i ) is not supposed to return exactly 0.0_sp or 1.0_sp, + ! since x( i ) is not supposed to return exactly 0.0_sp or one, ! the statistically correct thing to do in this situation is ! simply to iterate again. ! n.b. the case x( i ) = 0.0_sp should not be possible. @@ -1078,12 +1078,12 @@ submodule(stdlib_lapack_base) stdlib_lapack_blas_like_base ! convert 48-bit integer to a realnumber in the interval (0,1,KIND=dp) x( i ) = r*( real( it1,KIND=dp)+r*( real( it2,KIND=dp)+r*( real( it3,KIND=dp)+& r*real( it4,KIND=dp) ) ) ) - if (x( i )==1.0_dp) then + if (x( i )==one) then ! if a real number has n bits of precision, and the first ! n bits of the 48-bit integer above happen to be all 1 (which ! will occur about once every 2**n calls), then x( i ) will ! be rounded to exactly one. - ! since x( i ) is not supposed to return exactly 0.0_dp or 1.0_dp, + ! since x( i ) is not supposed to return exactly 0.0_dp or one, ! the statistically correct thing to do in this situation is ! simply to iterate again. ! n.b. the case x( i ) = 0.0_dp should not be possible. @@ -1281,12 +1281,12 @@ submodule(stdlib_lapack_base) stdlib_lapack_blas_like_base ! convert 48-bit integer to a realnumber in the interval (0,1,KIND=${rk}$) x( i ) = r*( real( it1,KIND=${rk}$)+r*( real( it2,KIND=${rk}$)+r*( real( it3,KIND=${rk}$)+& r*real( it4,KIND=${rk}$) ) ) ) - if (x( i )==1.0_${rk}$) then + if (x( i )==one) then ! if a real number has n bits of precision, and the first ! n bits of the 48-bit integer above happen to be all 1 (which ! will occur about once every 2**n calls), then x( i ) will ! be rounded to exactly one. - ! since x( i ) is not supposed to return exactly 0.0_${rk}$ or 1.0_${rk}$, + ! since x( i ) is not supposed to return exactly 0.0_${rk}$ or one, ! the statistically correct thing to do in this situation is ! simply to iterate again. ! n.b. the case x( i ) = 0.0_${rk}$ should not be possible. diff --git a/src/lapack/stdlib_lapack_blas_like_scalar.fypp b/src/lapack/stdlib_lapack_blas_like_scalar.fypp index e9ed0a2f7..ed55d498d 100644 --- a/src/lapack/stdlib_lapack_blas_like_scalar.fypp +++ b/src/lapack/stdlib_lapack_blas_like_scalar.fypp @@ -160,7 +160,7 @@ submodule(stdlib_lapack_base) stdlib_lapack_blas_like_scalar real(sp), intent(out) :: p, q ! ===================================================================== ! Parameters - real(sp), parameter :: bs = 2.0_sp + real(sp), parameter :: bs = two @@ -227,7 +227,7 @@ submodule(stdlib_lapack_base) stdlib_lapack_blas_like_scalar real(dp), intent(out) :: p, q ! ===================================================================== ! Parameters - real(dp), parameter :: bs = 2.0_dp + real(dp), parameter :: bs = two @@ -296,7 +296,7 @@ submodule(stdlib_lapack_base) stdlib_lapack_blas_like_scalar real(${rk}$), intent(out) :: p, q ! ===================================================================== ! Parameters - real(${rk}$), parameter :: bs = 2.0_${rk}$ + real(${rk}$), parameter :: bs = two diff --git a/src/lapack/stdlib_lapack_cosine_sine.fypp b/src/lapack/stdlib_lapack_cosine_sine.fypp index ed063d86f..6c44da609 100644 --- a/src/lapack/stdlib_lapack_cosine_sine.fypp +++ b/src/lapack/stdlib_lapack_cosine_sine.fypp @@ -213,7 +213,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine end if else nu = sigma21 - mu = sqrt( 1.0_sp - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -820,7 +820,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine end if else nu = sigma21 - mu = sqrt( 1.0_dp - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -1429,7 +1429,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine end if else nu = sigma21 - mu = sqrt( 1.0_${rk}$ - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -2041,7 +2041,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine end if else nu = sigma21 - mu = sqrt( 1.0_sp - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -2653,7 +2653,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine end if else nu = sigma21 - mu = sqrt( 1.0_dp - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -3264,7 +3264,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine end if else nu = sigma21 - mu = sqrt( 1.0_${ck}$ - nu**2_${ik}$ ) + mu = sqrt( one - nu**2_${ik}$ ) if( nu < thresh ) then mu = one nu = zero @@ -5895,7 +5895,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine ! ==================================================================== ! Parameters - real(sp), parameter :: realone = 1.0_sp + ! Local Scalars @@ -5908,15 +5908,15 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -6216,7 +6216,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine ! ==================================================================== ! Parameters - real(dp), parameter :: realone = 1.0_dp + ! Local Scalars @@ -6229,15 +6229,15 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -6539,7 +6539,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine ! ==================================================================== ! Parameters - real(${ck}$), parameter :: realone = 1.0_${ck}$ + ! Local Scalars @@ -6552,15 +6552,15 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -8623,8 +8623,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine ! ===================================================================== ! Parameters real(sp), parameter :: alphasq = 0.01_sp - real(sp), parameter :: realone = 1.0_sp - real(sp), parameter :: realzero = 0.0_sp + ! Local Scalars @@ -8657,11 +8656,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_classq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_classq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -8674,11 +8673,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine call stdlib${ii}$_cgemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_cgemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_cgemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_classq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_classq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -8704,11 +8703,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine call stdlib${ii}$_cgemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_cgemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_cgemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_classq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_classq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do @@ -8750,8 +8749,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine ! ===================================================================== ! Parameters real(dp), parameter :: alphasq = 0.01_dp - real(dp), parameter :: realone = 1.0_dp - real(dp), parameter :: realzero = 0.0_dp + ! Local Scalars @@ -8784,11 +8782,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_zlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_zlassq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -8801,11 +8799,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine call stdlib${ii}$_zgemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_zgemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_zgemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_zlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_zlassq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -8831,11 +8829,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine call stdlib${ii}$_zgemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_zgemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_zgemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_zlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_zlassq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do @@ -8879,8 +8877,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine ! ===================================================================== ! Parameters real(${ck}$), parameter :: alphasq = 0.01_${ck}$ - real(${ck}$), parameter :: realone = 1.0_${ck}$ - real(${ck}$), parameter :: realzero = 0.0_${ck}$ + ! Local Scalars @@ -8913,11 +8910,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ci}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ci}$lassq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -8930,11 +8927,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine call stdlib${ii}$_${ci}$gemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_${ci}$gemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_${ci}$gemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ci}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ci}$lassq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -8960,11 +8957,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine call stdlib${ii}$_${ci}$gemv( 'C', m2, n, cone, q2, ldq2, x2, incx2, cone, work, 1_${ik}$ ) call stdlib${ii}$_${ci}$gemv( 'N', m1, n, cnegone, q1, ldq1, work, 1_${ik}$, cone, x1,incx1 ) call stdlib${ii}$_${ci}$gemv( 'N', m2, n, cnegone, q2, ldq2, work, 1_${ik}$, cone, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ci}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ci}$lassq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do diff --git a/src/lapack/stdlib_lapack_cosine_sine2.fypp b/src/lapack/stdlib_lapack_cosine_sine2.fypp index 33aa256cd..079619187 100644 --- a/src/lapack/stdlib_lapack_cosine_sine2.fypp +++ b/src/lapack/stdlib_lapack_cosine_sine2.fypp @@ -2117,7 +2117,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 ! ==================================================================== ! Parameters - real(sp), parameter :: realone = 1.0_sp + ! Local Scalars @@ -2130,15 +2130,15 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -2445,7 +2445,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 ! ==================================================================== ! Parameters - real(dp), parameter :: realone = 1.0_dp + ! Local Scalars @@ -2458,15 +2458,15 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -2774,7 +2774,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 ! ==================================================================== ! Parameters - real(${rk}$), parameter :: realone = 1.0_${rk}$ + ! Local Scalars @@ -2787,15 +2787,15 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 info = 0_${ik}$ colmajor = .not. stdlib_lsame( trans, 'T' ) if( .not. stdlib_lsame( signs, 'O' ) ) then - z1 = realone - z2 = realone - z3 = realone - z4 = realone + z1 = one + z2 = one + z3 = one + z4 = one else - z1 = realone - z2 = -realone - z3 = realone - z4 = -realone + z1 = one + z2 = -one + z3 = one + z4 = -one end if lquery = lwork == -1_${ik}$ if( m < 0_${ik}$ ) then @@ -4825,8 +4825,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 ! ===================================================================== ! Parameters real(sp), parameter :: alphasq = 0.01_sp - real(sp), parameter :: realone = 1.0_sp - real(sp), parameter :: realzero = 0.0_sp + ! Local Scalars @@ -4859,11 +4858,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_slassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_slassq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -4876,11 +4875,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 call stdlib${ii}$_sgemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_sgemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_sgemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_slassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_slassq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -4906,11 +4905,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 call stdlib${ii}$_sgemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_sgemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_sgemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_slassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_slassq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do @@ -4952,8 +4951,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 ! ===================================================================== ! Parameters real(dp), parameter :: alphasq = 0.01_dp - real(dp), parameter :: realone = 1.0_dp - real(dp), parameter :: realzero = 0.0_dp + ! Local Scalars @@ -4986,11 +4984,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_dlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_dlassq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -5003,11 +5001,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 call stdlib${ii}$_dgemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_dgemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_dgemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_dlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_dlassq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -5033,11 +5031,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 call stdlib${ii}$_dgemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_dgemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_dgemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_dlassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_dlassq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do @@ -5081,8 +5079,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 ! ===================================================================== ! Parameters real(${rk}$), parameter :: alphasq = 0.01_${rk}$ - real(${rk}$), parameter :: realone = 1.0_${rk}$ - real(${rk}$), parameter :: realzero = 0.0_${rk}$ + ! Local Scalars @@ -5115,11 +5112,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 end if ! first, project x onto the orthogonal complement of q's column ! space - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ri}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ri}$lassq( m2, x2, incx2, scl2, ssq2 ) normsq1 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 if( m1 == 0_${ik}$ ) then @@ -5132,11 +5129,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 call stdlib${ii}$_${ri}$gemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_${ri}$gemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_${ri}$gemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ri}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ri}$lassq( m2, x2, incx2, scl2, ssq2 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if projection is sufficiently large in norm, then stop. @@ -5162,11 +5159,11 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_cosine_sine2 call stdlib${ii}$_${ri}$gemv( 'C', m2, n, one, q2, ldq2, x2, incx2, one, work, 1_${ik}$ ) call stdlib${ii}$_${ri}$gemv( 'N', m1, n, negone, q1, ldq1, work, 1_${ik}$, one, x1,incx1 ) call stdlib${ii}$_${ri}$gemv( 'N', m2, n, negone, q2, ldq2, work, 1_${ik}$, one, x2,incx2 ) - scl1 = realzero - ssq1 = realone + scl1 = zero + ssq1 = one call stdlib${ii}$_${ri}$lassq( m1, x1, incx1, scl1, ssq1 ) - scl2 = realzero - ssq2 = realone + scl2 = zero + ssq2 = one call stdlib${ii}$_${ri}$lassq( m1, x1, incx1, scl1, ssq1 ) normsq2 = scl1**2_${ik}$*ssq1 + scl2**2_${ik}$*ssq2 ! if second projection is sufficiently large in norm, then do diff --git a/src/lapack/stdlib_lapack_eigv_comp.fypp b/src/lapack/stdlib_lapack_eigv_comp.fypp index 9eaa806fa..3aefa4a6f 100644 --- a/src/lapack/stdlib_lapack_eigv_comp.fypp +++ b/src/lapack/stdlib_lapack_eigv_comp.fypp @@ -30,7 +30,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_comp real(sp), intent(out) :: lscale(*), rscale(*), work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: sclfac = 1.0e+1_sp + real(sp), parameter :: sclfac = ten ! Local Scalars @@ -323,7 +323,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_comp real(dp), intent(out) :: lscale(*), rscale(*), work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: sclfac = 1.0e+1_dp + real(dp), parameter :: sclfac = ten ! Local Scalars @@ -618,7 +618,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_comp real(${rk}$), intent(out) :: lscale(*), rscale(*), work(*) ! ===================================================================== ! Parameters - real(${rk}$), parameter :: sclfac = 1.0e+1_${rk}$ + real(${rk}$), parameter :: sclfac = ten ! Local Scalars @@ -914,7 +914,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_comp complex(sp), intent(inout) :: a(lda,*), b(ldb,*) ! ===================================================================== ! Parameters - real(sp), parameter :: sclfac = 1.0e+1_sp + real(sp), parameter :: sclfac = ten @@ -1217,7 +1217,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_comp complex(dp), intent(inout) :: a(lda,*), b(ldb,*) ! ===================================================================== ! Parameters - real(dp), parameter :: sclfac = 1.0e+1_dp + real(dp), parameter :: sclfac = ten @@ -1522,7 +1522,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_comp complex(${ck}$), intent(inout) :: a(lda,*), b(ldb,*) ! ===================================================================== ! Parameters - real(${ck}$), parameter :: sclfac = 1.0e+1_${ck}$ + real(${ck}$), parameter :: sclfac = ten diff --git a/src/lapack/stdlib_lapack_eigv_gen2.fypp b/src/lapack/stdlib_lapack_eigv_gen2.fypp index 03e8a482c..66842fc47 100644 --- a/src/lapack/stdlib_lapack_eigv_gen2.fypp +++ b/src/lapack/stdlib_lapack_eigv_gen2.fypp @@ -474,7 +474,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 ! Parameters integer(${ik}$), parameter :: ntiny = 15_${ik}$ integer(${ik}$), parameter :: nl = 49_${ik}$ - real(sp), parameter :: rzero = 0.0_sp ! ==== matrices of order ntiny or smaller must be processed by ! . stdlib${ii}$_clahqr because of insufficient subdiagonal scratch space. ! . (this is a hard limit.) ==== @@ -499,7 +498,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 wantt = stdlib_lsame( job, 'S' ) initz = stdlib_lsame( compz, 'I' ) wantz = initz .or. stdlib_lsame( compz, 'V' ) - work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=sp), rzero,KIND=sp) + work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=sp), zero,KIND=sp) lquery = lwork==-1_${ik}$ info = 0_${ik}$ if( .not.stdlib_lsame( job, 'E' ) .and. .not.wantt ) then @@ -533,7 +532,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( work( 1_${ik}$ ),KIND=sp), real( max( 1_${ik}$,n ),KIND=sp) ), & - rzero,KIND=sp) + zero,KIND=sp) return else ! ==== copy eigenvalues isolated by stdlib${ii}$_cgebal ==== @@ -589,7 +588,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( max( 1_${ik}$, n ),KIND=sp),real( work( 1_${ik}$ ),KIND=sp) ), & - rzero,KIND=sp) + zero,KIND=sp) end if end subroutine stdlib${ii}$_chseqr @@ -618,7 +617,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 ! Parameters integer(${ik}$), parameter :: ntiny = 15_${ik}$ integer(${ik}$), parameter :: nl = 49_${ik}$ - real(dp), parameter :: rzero = 0.0_dp ! ==== matrices of order ntiny or smaller must be processed by ! . stdlib${ii}$_zlahqr because of insufficient subdiagonal scratch space. ! . (this is a hard limit.) ==== @@ -643,7 +641,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 wantt = stdlib_lsame( job, 'S' ) initz = stdlib_lsame( compz, 'I' ) wantz = initz .or. stdlib_lsame( compz, 'V' ) - work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=dp), rzero,KIND=dp) + work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=dp), zero,KIND=dp) lquery = lwork==-1_${ik}$ info = 0_${ik}$ if( .not.stdlib_lsame( job, 'E' ) .and. .not.wantt ) then @@ -677,7 +675,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( work( 1_${ik}$ ),KIND=dp), real( max( 1_${ik}$,n ),KIND=dp) ), & - rzero,KIND=dp) + zero,KIND=dp) return else ! ==== copy eigenvalues isolated by stdlib${ii}$_zgebal ==== @@ -733,7 +731,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( max( 1_${ik}$, n ),KIND=dp),real( work( 1_${ik}$ ),KIND=dp) ), & - rzero,KIND=dp) + zero,KIND=dp) end if end subroutine stdlib${ii}$_zhseqr @@ -764,7 +762,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 ! Parameters integer(${ik}$), parameter :: ntiny = 15_${ik}$ integer(${ik}$), parameter :: nl = 49_${ik}$ - real(${ck}$), parameter :: rzero = 0.0_${ck}$ ! ==== matrices of order ntiny or smaller must be processed by ! . stdlib${ii}$_${ci}$lahqr because of insufficient subdiagonal scratch space. ! . (this is a hard limit.) ==== @@ -789,7 +786,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 wantt = stdlib_lsame( job, 'S' ) initz = stdlib_lsame( compz, 'I' ) wantz = initz .or. stdlib_lsame( compz, 'V' ) - work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=${ck}$), rzero,KIND=${ck}$) + work( 1_${ik}$ ) = cmplx( real( max( 1_${ik}$, n ),KIND=${ck}$), zero,KIND=${ck}$) lquery = lwork==-1_${ik}$ info = 0_${ik}$ if( .not.stdlib_lsame( job, 'E' ) .and. .not.wantt ) then @@ -823,7 +820,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( work( 1_${ik}$ ),KIND=${ck}$), real( max( 1_${ik}$,n ),KIND=${ck}$) ), & - rzero,KIND=${ck}$) + zero,KIND=${ck}$) return else ! ==== copy eigenvalues isolated by stdlib${ii}$_${ci}$gebal ==== @@ -879,7 +876,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 ! ==== ensure reported workspace size is backward-compatible with ! . previous lapack versions. ==== work( 1_${ik}$ ) = cmplx( max( real( max( 1_${ik}$, n ),KIND=${ck}$),real( work( 1_${ik}$ ),KIND=${ck}$) ), & - rzero,KIND=${ck}$) + zero,KIND=${ck}$) end if end subroutine stdlib${ii}$_${ci}$hseqr @@ -1560,8 +1557,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 complex(sp), intent(out) :: work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: rzero = 0.0e+0_sp - ! Local Scalars logical(lk) :: bothv, fromqr, leftv, noinit, rightv @@ -1656,7 +1651,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 if( stdlib${ii}$_sisnan( hnorm ) ) then info = -6_${ik}$ return - else if( (hnorm>rzero) ) then + else if( (hnorm>zero) ) then eps3 = hnorm*ulp else eps3 = smlnum @@ -1733,8 +1728,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 complex(dp), intent(out) :: work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: rzero = 0.0e+0_dp - ! Local Scalars logical(lk) :: bothv, fromqr, leftv, noinit, rightv @@ -1829,7 +1822,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 if( stdlib${ii}$_disnan( hnorm ) ) then info = -6_${ik}$ return - else if( hnorm>rzero ) then + else if( hnorm>zero ) then eps3 = hnorm*ulp else eps3 = smlnum @@ -1908,8 +1901,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 complex(${ck}$), intent(out) :: work(*) ! ===================================================================== ! Parameters - real(${ck}$), parameter :: rzero = 0.0e+0_${ck}$ - ! Local Scalars logical(lk) :: bothv, fromqr, leftv, noinit, rightv @@ -2004,7 +1995,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen2 if( stdlib${ii}$_${c2ri(ci)}$isnan( hnorm ) ) then info = -6_${ik}$ return - else if( hnorm>rzero ) then + else if( hnorm>zero ) then eps3 = hnorm*ulp else eps3 = smlnum diff --git a/src/lapack/stdlib_lapack_eigv_gen3.fypp b/src/lapack/stdlib_lapack_eigv_gen3.fypp index 2723301f3..790d1c257 100644 --- a/src/lapack/stdlib_lapack_eigv_gen3.fypp +++ b/src/lapack/stdlib_lapack_eigv_gen3.fypp @@ -2296,8 +2296,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 complex(sp), intent(out) :: w(*) ! ========================================================= ! Parameters - real(sp), parameter :: rzero = 0.0_sp - real(sp), parameter :: rone = 1.0_sp real(sp), parameter :: dat1 = 3.0_sp/4.0_sp integer(${ik}$), parameter :: kexsh = 10_${ik}$ @@ -2339,7 +2337,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 jhi = ihi end if do i = ilo + 1, ihi - if( aimag( h( i, i-1 ) )/=rzero ) then + if( aimag( h( i, i-1 ) )/=zero ) then ! ==== the following redundant normalization ! . avoids problems with both gradual and ! . sudden underflow in abs(h(i,i-1)) ==== @@ -2355,7 +2353,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 nz = ihiz - iloz + 1_${ik}$ ! set machine-dependent constants for the stopping criterion. safmin = stdlib${ii}$_slamch( 'SAFE MINIMUM' ) - safmax = rone / safmin + safmax = one / safmin call stdlib${ii}$_slabad( safmin, safmax ) ulp = stdlib${ii}$_slamch( 'PRECISION' ) smlnum = safmin*( real( nh,KIND=sp) / ulp ) @@ -2433,14 +2431,14 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 t = h( i, i ) u = sqrt( h( i-1, i ) )*sqrt( h( i, i-1 ) ) s = cabs1( u ) - if( s/=rzero ) then + if( s/=zero ) then x = half*( h( i-1, i-1 )-t ) sx = cabs1( x ) s = max( s, cabs1( x ) ) y = s*sqrt( ( x / s )**2_${ik}$+( u / s )**2_${ik}$ ) - if( sx>rzero ) then + if( sx>zero ) then if( real( x / sx,KIND=sp)*real( y,KIND=sp)+aimag( x / sx )*aimag( y )& - rzero ) then + if( sx>zero ) then if( real( x / sx,KIND=dp)*real( y,KIND=dp)+aimag( x / sx )*aimag( y )& - rzero ) then + if( sx>zero ) then if( real( x / sx,KIND=${ck}$)*real( y,KIND=${ck}$)+aimag( x / sx )*aimag( y )& - =ktop) then if( h( k+1, k )/=czero ) then tst1 = cabs1( h( k, k ) ) + cabs1( h( k+1, k+1 ) ) - if( tst1==rzero ) then + if( tst1==zero ) then if( k>=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -12379,7 +12343,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & k+1, k ) = czero end if end if @@ -12497,7 +12461,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 if( k=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -12514,7 +12478,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& k ) = czero end if end if @@ -12633,9 +12597,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 complex(dp), intent(out) :: u(ldu,*), v(ldv,*), wh(ldwh,*), wv(ldwv,*) ! ================================================================ ! Parameters - real(dp), parameter :: rzero = 0.0_dp - real(dp), parameter :: rone = 1.0_dp - ! Local Scalars complex(dp) :: alpha, beta, cdum, refsum @@ -12661,7 +12622,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 ns = nshfts - mod( nshfts, 2_${ik}$ ) ! ==== machine constants for deflation ==== safmin = stdlib${ii}$_dlamch( 'SAFE MINIMUM' ) - safmax = rone / safmin + safmax = one / safmin call stdlib${ii}$_dlabad( safmin, safmax ) ulp = stdlib${ii}$_dlamch( 'PRECISION' ) smlnum = safmin*( real( n,KIND=dp) / ulp ) @@ -12759,7 +12720,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 if( k>=ktop ) then if( h( k+1, k )/=czero ) then tst1 = cabs1( h( k, k ) ) + cabs1( h( k+1, k+1 ) ) - if( tst1==rzero ) then + if( tst1==zero ) then if( k>=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -12776,7 +12737,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & k+1, k ) = czero end if end if @@ -12894,7 +12855,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 if( k=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -12911,7 +12872,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& k ) = czero end if end if @@ -13032,9 +12993,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 complex(${ck}$), intent(out) :: u(ldu,*), v(ldv,*), wh(ldwh,*), wv(ldwv,*) ! ================================================================ ! Parameters - real(${ck}$), parameter :: rzero = 0.0_${ck}$ - real(${ck}$), parameter :: rone = 1.0_${ck}$ - ! Local Scalars complex(${ck}$) :: alpha, beta, cdum, refsum @@ -13060,7 +13018,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 ns = nshfts - mod( nshfts, 2_${ik}$ ) ! ==== machine constants for deflation ==== safmin = stdlib${ii}$_${c2ri(ci)}$lamch( 'SAFE MINIMUM' ) - safmax = rone / safmin + safmax = one / safmin call stdlib${ii}$_${c2ri(ci)}$labad( safmin, safmax ) ulp = stdlib${ii}$_${c2ri(ci)}$lamch( 'PRECISION' ) smlnum = safmin*( real( n,KIND=${ck}$) / ulp ) @@ -13158,7 +13116,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 if( k>=ktop ) then if( h( k+1, k )/=czero ) then tst1 = cabs1( h( k, k ) ) + cabs1( h( k+1, k+1 ) ) - if( tst1==rzero ) then + if( tst1==zero ) then if( k>=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -13175,7 +13133,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( & k+1, k ) = czero end if end if @@ -13293,7 +13251,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 if( k=ktop+1 )tst1 = tst1 + cabs1( h( k, k-1 ) ) if( k>=ktop+2 )tst1 = tst1 + cabs1( h( k, k-2 ) ) if( k>=ktop+3 )tst1 = tst1 + cabs1( h( k, k-3 ) ) @@ -13310,7 +13268,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_gen3 scl = h11 + h12 tst2 = h22*( h11 / scl ) - if( tst2==rzero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& + if( tst2==zero .or. h21*( h12 / scl )<=max( smlnum, ulp*tst2 ) )h( k+1,& k ) = czero end if end if diff --git a/src/lapack/stdlib_lapack_eigv_sym.fypp b/src/lapack/stdlib_lapack_eigv_sym.fypp index ad4f9d70a..1e5eb91d4 100644 --- a/src/lapack/stdlib_lapack_eigv_sym.fypp +++ b/src/lapack/stdlib_lapack_eigv_sym.fypp @@ -9651,8 +9651,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym complex(sp), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: rone = 1.0e+0_sp - ! Local Scalars logical(lk) :: lquery, upper @@ -9753,7 +9751,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_cher2k( uplo, 'CONJUGATE', pn, pk,-cone, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -9789,7 +9787,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_cher2k( uplo, 'NO TRANSPOSE', pn, pk,-cone, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 @@ -9826,8 +9824,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym complex(dp), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: rone = 1.0e+0_dp - ! Local Scalars logical(lk) :: lquery, upper @@ -9928,7 +9924,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_zher2k( uplo, 'CONJUGATE', pn, pk,-cone, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -9964,7 +9960,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_zher2k( uplo, 'NO TRANSPOSE', pn, pk,-cone, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 @@ -10003,8 +9999,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym complex(${ck}$), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(${ck}$), parameter :: rone = 1.0e+0_${ck}$ - ! Local Scalars logical(lk) :: lquery, upper @@ -10105,7 +10099,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_${ci}$her2k( uplo, 'CONJUGATE', pn, pk,-cone, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -10141,7 +10135,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_${ci}$her2k( uplo, 'NO TRANSPOSE', pn, pk,-cone, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 @@ -10184,8 +10178,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym complex(sp), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: rzero = 0.0e+0_sp - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -10279,7 +10271,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym d( i ) = real( ab( abdpos, i ),KIND=sp) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -10305,7 +10297,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym abstmp = abs( tmp ) ab( abofdpos, i+1 ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -10321,7 +10313,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym abstmp = abs( tmp ) ab( abofdpos, i ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -10456,8 +10448,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym complex(dp), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: rzero = 0.0e+0_dp - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -10551,7 +10541,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym d( i ) = real( ab( abdpos, i ),KIND=dp) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -10577,7 +10567,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym abstmp = abs( tmp ) ab( abofdpos, i+1 ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -10593,7 +10583,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym abstmp = abs( tmp ) ab( abofdpos, i ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -10730,8 +10720,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym complex(${ck}$), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(${ck}$), parameter :: rzero = 0.0e+0_${ck}$ - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -10825,7 +10813,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym d( i ) = real( ab( abdpos, i ),KIND=${ck}$) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -10851,7 +10839,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym abstmp = abs( tmp ) ab( abofdpos, i+1 ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -10867,7 +10855,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym abstmp = abs( tmp ) ab( abofdpos, i ) = abstmp e( i ) = abstmp - if( abstmp/=rzero ) then + if( abstmp/=zero ) then tmp = tmp / abstmp else tmp = cone @@ -11446,8 +11434,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym real(sp), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: rzero = 0.0e+0_sp - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -11539,7 +11525,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym d( i ) = ( ab( abdpos, i ) ) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -11691,8 +11677,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym real(dp), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: rzero = 0.0e+0_dp - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -11784,7 +11768,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym d( i ) = ( ab( abdpos, i ) ) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -11938,8 +11922,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym real(${rk}$), intent(out) :: hous(*), work(*) ! ===================================================================== ! Parameters - real(${rk}$), parameter :: rzero = 0.0e+0_${rk}$ - ! Local Scalars logical(lk) :: lquery, wantq, upper, afters1 @@ -12031,7 +12013,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym d( i ) = ( ab( abdpos, i ) ) end do do i = 1, n-1 - e( i ) = rzero + e( i ) = zero end do hous( 1_${ik}$ ) = 1_${ik}$ work( 1_${ik}$ ) = 1_${ik}$ @@ -12187,8 +12169,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym real(sp), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(sp), parameter :: rone = 1.0e+0_sp - ! Local Scalars logical(lk) :: lquery, upper @@ -12289,7 +12269,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_ssyr2k( uplo, 'CONJUGATE', pn, pk,-one, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -12325,7 +12305,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_ssyr2k( uplo, 'NO TRANSPOSE', pn, pk,-one, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 @@ -12362,8 +12342,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym real(dp), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(dp), parameter :: rone = 1.0e+0_dp - ! Local Scalars logical(lk) :: lquery, upper @@ -12464,7 +12442,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_dsyr2k( uplo, 'CONJUGATE', pn, pk,-one, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -12500,7 +12478,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_dsyr2k( uplo, 'NO TRANSPOSE', pn, pk,-one, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 @@ -12539,8 +12517,6 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym real(${rk}$), intent(out) :: ab(ldab,*), tau(*), work(*) ! ===================================================================== ! Parameters - real(${rk}$), parameter :: rone = 1.0e+0_${rk}$ - ! Local Scalars logical(lk) :: lquery, upper @@ -12641,7 +12617,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v'*w - w'*v call stdlib${ii}$_${ri}$syr2k( uplo, 'CONJUGATE', pn, pk,-one, a( i, i+kd ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) end do ! copy the upper band to ab which is the band storage matrix do j = n-kd+1, n @@ -12677,7 +12653,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_sym ! update the unreduced submatrix a(i+kd:n,i+kd:n), using ! an update of the form: a := a - v*w' - w*v' call stdlib${ii}$_${ri}$syr2k( uplo, 'NO TRANSPOSE', pn, pk,-one, a( i+kd, i ), lda,work( & - wpos ), ldw,rone, a( i+kd, i+kd ), lda ) + wpos ), ldw,one, a( i+kd, i+kd ), lda ) ! ================================================================== ! restore a for comparison and checking to be removed ! do 45 j = i, i+pk-1 diff --git a/src/lapack/stdlib_lapack_eigv_tridiag.fypp b/src/lapack/stdlib_lapack_eigv_tridiag.fypp index 5bb50387c..900472463 100644 --- a/src/lapack/stdlib_lapack_eigv_tridiag.fypp +++ b/src/lapack/stdlib_lapack_eigv_tridiag.fypp @@ -8398,7 +8398,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_tridiag complex(${ck}$), intent(out) :: q2(ldq2,*) ! ===================================================================== ! Parameters - real(${ck}$), parameter :: mone = -1.0_${ck}$ + real(${ck}$), parameter :: mone = -one ! Local Scalars integer(${ik}$) :: i, imax, j, jlam, jmax, jp, k2, n1, n1p1, n2 diff --git a/src/lapack/stdlib_lapack_eigv_tridiag2.fypp b/src/lapack/stdlib_lapack_eigv_tridiag2.fypp index 83e5fc2b9..396abb8df 100644 --- a/src/lapack/stdlib_lapack_eigv_tridiag2.fypp +++ b/src/lapack/stdlib_lapack_eigv_tridiag2.fypp @@ -2965,7 +2965,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_tridiag2 real(sp), parameter :: fourth = one/four real(sp), parameter :: fac = half real(sp), parameter :: maxgrowth = 64.0_sp - real(sp), parameter :: fudge = 2.0_sp + real(sp), parameter :: fudge = two integer(${ik}$), parameter :: maxtry = 6_${ik}$ integer(${ik}$), parameter :: allrng = 1_${ik}$ integer(${ik}$), parameter :: indrng = 2_${ik}$ @@ -3493,7 +3493,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_tridiag2 real(dp), parameter :: fourth = one/four real(dp), parameter :: fac = half real(dp), parameter :: maxgrowth = 64.0_dp - real(dp), parameter :: fudge = 2.0_dp + real(dp), parameter :: fudge = two integer(${ik}$), parameter :: maxtry = 6_${ik}$ integer(${ik}$), parameter :: allrng = 1_${ik}$ integer(${ik}$), parameter :: indrng = 2_${ik}$ @@ -4019,7 +4019,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_tridiag2 real(${rk}$), parameter :: fourth = one/four real(${rk}$), parameter :: fac = half real(${rk}$), parameter :: maxgrowth = 64.0_${rk}$ - real(${rk}$), parameter :: fudge = 2.0_${rk}$ + real(${rk}$), parameter :: fudge = two integer(${ik}$), parameter :: maxtry = 6_${ik}$ integer(${ik}$), parameter :: allrng = 1_${ik}$ integer(${ik}$), parameter :: indrng = 2_${ik}$ diff --git a/src/lapack/stdlib_lapack_eigv_tridiag3.fypp b/src/lapack/stdlib_lapack_eigv_tridiag3.fypp index af1036272..a4d1a3dac 100644 --- a/src/lapack/stdlib_lapack_eigv_tridiag3.fypp +++ b/src/lapack/stdlib_lapack_eigv_tridiag3.fypp @@ -2516,7 +2516,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_tridiag3 ! ===================================================================== ! Parameters real(sp), parameter :: fudge = 2.1_sp - real(sp), parameter :: relfac = 2.0_sp + real(sp), parameter :: relfac = two ! Local Scalars @@ -2908,7 +2908,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_tridiag3 ! ===================================================================== ! Parameters real(dp), parameter :: fudge = 2.1_dp - real(dp), parameter :: relfac = 2.0_dp + real(dp), parameter :: relfac = two ! Local Scalars @@ -3302,7 +3302,7 @@ submodule(stdlib_lapack_eig_svd_lsq) stdlib_lapack_eigv_tridiag3 ! ===================================================================== ! Parameters real(${rk}$), parameter :: fudge = 2.1_${rk}$ - real(${rk}$), parameter :: relfac = 2.0_${rk}$ + real(${rk}$), parameter :: relfac = two ! Local Scalars diff --git a/src/lapack/stdlib_lapack_others.fypp b/src/lapack/stdlib_lapack_others.fypp index 332686760..401ef7aed 100644 --- a/src/lapack/stdlib_lapack_others.fypp +++ b/src/lapack/stdlib_lapack_others.fypp @@ -4035,7 +4035,7 @@ submodule(stdlib_lapack_other) stdlib_lapack_others go to 10 end if ! compute the estimate of the reciprocal condition number. - if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_syrcond = ( 1.0_sp / ainvnm ) + if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_syrcond = ( one / ainvnm ) return end function stdlib${ii}$_sla_syrcond diff --git a/src/lapack/stdlib_lapack_solve_chol_comp.fypp b/src/lapack/stdlib_lapack_solve_chol_comp.fypp index e6591d419..71491bd52 100644 --- a/src/lapack/stdlib_lapack_solve_chol_comp.fypp +++ b/src/lapack/stdlib_lapack_solve_chol_comp.fypp @@ -7838,7 +7838,7 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_chol_comp go to 10 end if ! compute the estimate of the reciprocal condition number. - if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_porcond = ( 1.0_sp / ainvnm ) + if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_porcond = ( one / ainvnm ) return end function stdlib${ii}$_sla_porcond diff --git a/src/lapack/stdlib_lapack_solve_ldl_comp.fypp b/src/lapack/stdlib_lapack_solve_ldl_comp.fypp index 92deeaf99..4cca010c8 100644 --- a/src/lapack/stdlib_lapack_solve_ldl_comp.fypp +++ b/src/lapack/stdlib_lapack_solve_ldl_comp.fypp @@ -9271,9 +9271,9 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_ldl_comp end do end if do j = 1, n - s( j ) = 1.0_sp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_sp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -9446,9 +9446,9 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_ldl_comp end do end if do j = 1, n - s( j ) = 1.0_dp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_dp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -9623,9 +9623,9 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_ldl_comp end do end if do j = 1, n - s( j ) = 1.0_${rk}$ / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_${rk}$ * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -9807,9 +9807,9 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_ldl_comp end do end if do j = 1, n - s( j ) = 1.0_sp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_sp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -9988,9 +9988,9 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_ldl_comp end do end if do j = 1, n - s( j ) = 1.0_dp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_dp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -10171,9 +10171,9 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_ldl_comp end do end if do j = 1, n - s( j ) = 1.0_${ck}$ / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_${ck}$ * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero diff --git a/src/lapack/stdlib_lapack_solve_ldl_comp3.fypp b/src/lapack/stdlib_lapack_solve_ldl_comp3.fypp index 59776a71e..80eaf4aed 100644 --- a/src/lapack/stdlib_lapack_solve_ldl_comp3.fypp +++ b/src/lapack/stdlib_lapack_solve_ldl_comp3.fypp @@ -5210,9 +5210,9 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_ldl_comp3 end do end if do j = 1, n - s( j ) = 1.0_sp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_sp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -5391,9 +5391,9 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_ldl_comp3 end do end if do j = 1, n - s( j ) = 1.0_dp / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_dp * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero @@ -5574,9 +5574,9 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_ldl_comp3 end do end if do j = 1, n - s( j ) = 1.0_${ck}$ / s( j ) + s( j ) = one / s( j ) end do - tol = one / sqrt( 2.0_${ck}$ * n ) + tol = one / sqrt( two * n ) do iter = 1, max_iter scale = zero sumsq = zero diff --git a/src/lapack/stdlib_lapack_solve_lu_comp.fypp b/src/lapack/stdlib_lapack_solve_lu_comp.fypp index e426097ff..9aa062ad7 100644 --- a/src/lapack/stdlib_lapack_solve_lu_comp.fypp +++ b/src/lapack/stdlib_lapack_solve_lu_comp.fypp @@ -8590,7 +8590,7 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_lu_comp go to 10 end if ! compute the estimate of the reciprocal condition number. - if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_gercond = ( 1.0_sp / ainvnm ) + if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_gercond = ( one / ainvnm ) return end function stdlib${ii}$_sla_gercond @@ -15847,7 +15847,7 @@ submodule(stdlib_lapack_solve) stdlib_lapack_solve_lu_comp go to 10 end if ! compute the estimate of the reciprocal condition number. - if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_gbrcond = ( 1.0_sp / ainvnm ) + if( ainvnm /= 0.0_sp )stdlib${ii}$_sla_gbrcond = ( one / ainvnm ) return end function stdlib${ii}$_sla_gbrcond diff --git a/src/lapack/stdlib_linalg_lapack_aux.fypp b/src/lapack/stdlib_linalg_lapack_aux.fypp index 0184af23d..c122150cb 100644 --- a/src/lapack/stdlib_linalg_lapack_aux.fypp +++ b/src/lapack/stdlib_linalg_lapack_aux.fypp @@ -3,7 +3,7 @@ module stdlib_linalg_lapack_aux use stdlib_linalg_constants use stdlib_linalg_blas - implicit none(type,external) + implicit none private diff --git a/src/stdlib_linalg_blas.fypp b/src/stdlib_linalg_blas.fypp index e2d35d568..61f047bd4 100644 --- a/src/stdlib_linalg_blas.fypp +++ b/src/stdlib_linalg_blas.fypp @@ -5,7 +5,7 @@ module stdlib_linalg_blas use stdlib_linalg_blas_aux use stdlib_blas - implicit none(type,external) + implicit none public interface asum @@ -14,7 +14,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure real(dp) function dasum( n, x, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(dp), intent(in) :: x(*) end function dasum @@ -24,7 +24,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure real(dp) function dzasum( n, x, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n complex(dp), intent(in) :: x(*) end function dzasum @@ -34,7 +34,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure real(sp) function sasum( n, x, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(sp), intent(in) :: x(*) end function sasum @@ -44,7 +44,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure real(sp) function scasum( n, x, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n complex(sp), intent(in) :: x(*) end function scasum @@ -70,7 +70,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine caxpy(n,ca,cx,incx,cy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: ca,cx(*) integer(${ik}$), intent(in) :: incx,incy,n complex(sp), intent(inout) :: cy(*) @@ -81,7 +81,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine daxpy(n,da,dx,incx,dy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: da,dx(*) integer(${ik}$), intent(in) :: incx,incy,n real(dp), intent(inout) :: dy(*) @@ -92,7 +92,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine saxpy(n,sa,sx,incx,sy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: sa,sx(*) integer(${ik}$), intent(in) :: incx,incy,n real(sp), intent(inout) :: sy(*) @@ -103,7 +103,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zaxpy(n,za,zx,incx,zy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: za,zx(*) integer(${ik}$), intent(in) :: incx,incy,n complex(dp), intent(inout) :: zy(*) @@ -126,7 +126,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ccopy(n,cx,incx,cy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n complex(sp), intent(in) :: cx(*) complex(sp), intent(out) :: cy(*) @@ -137,7 +137,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dcopy(n,dx,incx,dy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(dp), intent(in) :: dx(*) real(dp), intent(out) :: dy(*) @@ -148,7 +148,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine scopy(n,sx,incx,sy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(sp), intent(in) :: sx(*) real(sp), intent(out) :: sy(*) @@ -159,7 +159,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zcopy(n,zx,incx,zy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n complex(dp), intent(in) :: zx(*) complex(dp), intent(out) :: zy(*) @@ -183,7 +183,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure real(dp) function ddot(n,dx,incx,dy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(dp), intent(in) :: dx(*),dy(*) end function ddot @@ -193,7 +193,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure real(sp) function sdot(n,sx,incx,sy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(sp), intent(in) :: sx(*),sy(*) end function sdot @@ -215,7 +215,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure complex(sp) function cdotc(n,cx,incx,cy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n complex(sp), intent(in) :: cx(*),cy(*) end function cdotc @@ -225,7 +225,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure complex(dp) function zdotc(n,zx,incx,zy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n complex(dp), intent(in) :: zx(*),zy(*) end function zdotc @@ -248,7 +248,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure complex(sp) function cdotu(n,cx,incx,cy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n complex(sp), intent(in) :: cx(*),cy(*) end function cdotu @@ -258,7 +258,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure complex(dp) function zdotu(n,zx,incx,zy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n complex(dp), intent(in) :: zx(*),zy(*) end function zdotu @@ -284,7 +284,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine cgbmv(trans,m,n,kl,ku,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,kl,ku,lda,m,n character, intent(in) :: trans @@ -296,7 +296,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dgbmv(trans,m,n,kl,ku,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,kl,ku,lda,m,n character, intent(in) :: trans @@ -308,7 +308,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine sgbmv(trans,m,n,kl,ku,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,kl,ku,lda,m,n character, intent(in) :: trans @@ -320,7 +320,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zgbmv(trans,m,n,kl,ku,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,kl,ku,lda,m,n character, intent(in) :: trans @@ -348,7 +348,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine cgemm(transa,transb,m,n,k,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: k,lda,ldb,ldc,m,n character, intent(in) :: transa,transb @@ -360,7 +360,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dgemm(transa,transb,m,n,k,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: k,lda,ldb,ldc,m,n character, intent(in) :: transa,transb @@ -372,7 +372,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine sgemm(transa,transb,m,n,k,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: k,lda,ldb,ldc,m,n character, intent(in) :: transa,transb @@ -384,7 +384,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zgemm(transa,transb,m,n,k,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: k,lda,ldb,ldc,m,n character, intent(in) :: transa,transb @@ -411,7 +411,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine cgemv(trans,m,n,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n character, intent(in) :: trans @@ -423,7 +423,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dgemv(trans,m,n,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n character, intent(in) :: trans @@ -435,7 +435,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine sgemv(trans,m,n,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n character, intent(in) :: trans @@ -447,7 +447,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zgemv(trans,m,n,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n character, intent(in) :: trans @@ -473,7 +473,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dger(m,n,alpha,x,incx,y,incy,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n real(dp), intent(inout) :: a(lda,*) @@ -484,7 +484,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine sger(m,n,alpha,x,incx,y,incy,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n real(sp), intent(inout) :: a(lda,*) @@ -509,7 +509,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine cgerc(m,n,alpha,x,incx,y,incy,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n complex(sp), intent(inout) :: a(lda,*) @@ -520,7 +520,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zgerc(m,n,alpha,x,incx,y,incy,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n complex(dp), intent(inout) :: a(lda,*) @@ -546,7 +546,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine cgeru(m,n,alpha,x,incx,y,incy,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n complex(sp), intent(inout) :: a(lda,*) @@ -557,7 +557,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zgeru(m,n,alpha,x,incx,y,incy,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n complex(dp), intent(inout) :: a(lda,*) @@ -583,7 +583,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine chbmv(uplo,n,k,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,k,lda,n character, intent(in) :: uplo @@ -595,7 +595,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zhbmv(uplo,n,k,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,k,lda,n character, intent(in) :: uplo @@ -624,7 +624,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine chemm(side,uplo,m,n,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: lda,ldb,ldc,m,n character, intent(in) :: side,uplo @@ -636,7 +636,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zhemm(side,uplo,m,n,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: lda,ldb,ldc,m,n character, intent(in) :: side,uplo @@ -663,7 +663,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine chemv(uplo,n,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,n character, intent(in) :: uplo @@ -675,7 +675,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zhemv(uplo,n,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,n character, intent(in) :: uplo @@ -702,7 +702,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine cher(uplo,n,alpha,x,incx,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: uplo @@ -715,7 +715,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zher(uplo,n,alpha,x,incx,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: uplo @@ -743,7 +743,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine cher2(uplo,n,alpha,x,incx,y,incy,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,lda,n character, intent(in) :: uplo @@ -755,7 +755,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zher2(uplo,n,alpha,x,incx,y,incy,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,lda,n character, intent(in) :: uplo @@ -785,7 +785,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine cher2k(uplo,trans,n,k,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,a(lda,*),b(ldb,*) real(sp), intent(in) :: beta integer(${ik}$), intent(in) :: k,lda,ldb,ldc,n @@ -798,7 +798,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zher2k(uplo,trans,n,k,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,a(lda,*),b(ldb,*) real(dp), intent(in) :: beta integer(${ik}$), intent(in) :: k,lda,ldb,ldc,n @@ -829,7 +829,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine cherk(uplo,trans,n,k,alpha,a,lda,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: k,lda,ldc,n character, intent(in) :: trans,uplo @@ -842,7 +842,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zherk(uplo,trans,n,k,alpha,a,lda,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: k,lda,ldc,n character, intent(in) :: trans,uplo @@ -870,7 +870,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine chpmv(uplo,n,alpha,ap,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,beta,ap(*),x(*) integer(${ik}$), intent(in) :: incx,incy,n character, intent(in) :: uplo @@ -882,7 +882,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zhpmv(uplo,n,alpha,ap,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,beta,ap(*),x(*) integer(${ik}$), intent(in) :: incx,incy,n character, intent(in) :: uplo @@ -909,7 +909,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine chpr(uplo,n,alpha,x,incx,ap) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha integer(${ik}$), intent(in) :: incx,n character, intent(in) :: uplo @@ -922,7 +922,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zhpr(uplo,n,alpha,x,incx,ap) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha integer(${ik}$), intent(in) :: incx,n character, intent(in) :: uplo @@ -950,7 +950,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine chpr2(uplo,n,alpha,x,incx,y,incy,ap) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,n character, intent(in) :: uplo @@ -962,7 +962,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zhpr2(uplo,n,alpha,x,incx,y,incy,ap) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,n character, intent(in) :: uplo @@ -988,7 +988,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure real(dp) function dnrm2( n, x, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(dp), intent(in) :: x(*) end function dnrm2 @@ -998,7 +998,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure real(dp) function dznrm2( n, x, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n complex(dp), intent(in) :: x(*) end function dznrm2 @@ -1008,7 +1008,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure real(sp) function snrm2( n, x, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(sp), intent(in) :: x(*) end function snrm2 @@ -1018,7 +1018,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure real(sp) function scnrm2( n, x, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n complex(sp), intent(in) :: x(*) end function scnrm2 @@ -1044,7 +1044,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine drot(n,dx,incx,dy,incy,c,s) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: c,s integer(${ik}$), intent(in) :: incx,incy,n real(dp), intent(inout) :: dx(*),dy(*) @@ -1055,7 +1055,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine srot(n,sx,incx,sy,incy,c,s) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: c,s integer(${ik}$), intent(in) :: incx,incy,n real(sp), intent(inout) :: sx(*),sy(*) @@ -1089,7 +1089,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine crotg( a, b, c, s ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(out) :: c complex(sp), intent(inout) :: a complex(sp), intent(in) :: b @@ -1103,7 +1103,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine drotg( a, b, c, s ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(inout) :: a,b real(dp), intent(out) :: c,s end subroutine drotg @@ -1115,7 +1115,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine srotg( a, b, c, s ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(inout) :: a,b real(sp), intent(out) :: c,s end subroutine srotg @@ -1127,7 +1127,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zrotg( a, b, c, s ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(out) :: c complex(dp), intent(inout) :: a complex(dp), intent(in) :: b @@ -1162,7 +1162,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine drotm(n,dx,incx,dy,incy,dparam) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(dp), intent(in) :: dparam(5) real(dp), intent(inout) :: dx(*),dy(*) @@ -1173,7 +1173,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine srotm(n,sx,incx,sy,incy,sparam) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(sp), intent(in) :: sparam(5) real(sp), intent(inout) :: sx(*),sy(*) @@ -1206,7 +1206,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine drotmg(dd1,dd2,dx1,dy1,dparam) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(inout) :: dd1,dd2,dx1 real(dp), intent(in) :: dy1 real(dp), intent(out) :: dparam(5) @@ -1219,7 +1219,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine srotmg(sd1,sd2,sx1,sy1,sparam) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(inout) :: sd1,sd2,sx1 real(sp), intent(in) :: sy1 real(sp), intent(out) :: sparam(5) @@ -1246,7 +1246,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dsbmv(uplo,n,k,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,k,lda,n character, intent(in) :: uplo @@ -1258,7 +1258,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ssbmv(uplo,n,k,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,k,lda,n character, intent(in) :: uplo @@ -1281,7 +1281,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine cscal(n,ca,cx,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: ca integer(${ik}$), intent(in) :: incx,n complex(sp), intent(inout) :: cx(*) @@ -1292,7 +1292,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dscal(n,da,dx,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: da integer(${ik}$), intent(in) :: incx,n real(dp), intent(inout) :: dx(*) @@ -1303,7 +1303,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine sscal(n,sa,sx,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: sa integer(${ik}$), intent(in) :: incx,n real(sp), intent(inout) :: sx(*) @@ -1314,7 +1314,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zscal(n,za,zx,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: za integer(${ik}$), intent(in) :: incx,n complex(dp), intent(inout) :: zx(*) @@ -1350,7 +1350,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure real(dp) function dsdot(n,sx,incx,sy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(sp), intent(in) :: sx(*),sy(*) end function dsdot @@ -1369,7 +1369,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dspmv(uplo,n,alpha,ap,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,ap(*),x(*) integer(${ik}$), intent(in) :: incx,incy,n character, intent(in) :: uplo @@ -1381,7 +1381,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine sspmv(uplo,n,alpha,ap,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,ap(*),x(*) integer(${ik}$), intent(in) :: incx,incy,n character, intent(in) :: uplo @@ -1407,7 +1407,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dspr(uplo,n,alpha,x,incx,ap) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,x(*) integer(${ik}$), intent(in) :: incx,n character, intent(in) :: uplo @@ -1419,7 +1419,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine sspr(uplo,n,alpha,x,incx,ap) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,x(*) integer(${ik}$), intent(in) :: incx,n character, intent(in) :: uplo @@ -1445,7 +1445,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dspr2(uplo,n,alpha,x,incx,y,incy,ap) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,n character, intent(in) :: uplo @@ -1457,7 +1457,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine sspr2(uplo,n,alpha,x,incx,y,incy,ap) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,n character, intent(in) :: uplo @@ -1482,7 +1482,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine csrot( n, cx, incx, cy, incy, c, s ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(sp), intent(in) :: c,s complex(sp), intent(inout) :: cx(*),cy(*) @@ -1499,7 +1499,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine csscal(n,sa,cx,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: sa integer(${ik}$), intent(in) :: incx,n complex(sp), intent(inout) :: cx(*) @@ -1516,7 +1516,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine cswap(n,cx,incx,cy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n complex(sp), intent(inout) :: cx(*),cy(*) end subroutine cswap @@ -1526,7 +1526,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dswap(n,dx,incx,dy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(dp), intent(inout) :: dx(*),dy(*) end subroutine dswap @@ -1536,7 +1536,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine sswap(n,sx,incx,sy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(sp), intent(inout) :: sx(*),sy(*) end subroutine sswap @@ -1546,7 +1546,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zswap(n,zx,incx,zy,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n complex(dp), intent(inout) :: zx(*),zy(*) end subroutine zswap @@ -1572,7 +1572,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine csymm(side,uplo,m,n,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: lda,ldb,ldc,m,n character, intent(in) :: side,uplo @@ -1584,7 +1584,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dsymm(side,uplo,m,n,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: lda,ldb,ldc,m,n character, intent(in) :: side,uplo @@ -1596,7 +1596,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ssymm(side,uplo,m,n,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: lda,ldb,ldc,m,n character, intent(in) :: side,uplo @@ -1608,7 +1608,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zsymm(side,uplo,m,n,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: lda,ldb,ldc,m,n character, intent(in) :: side,uplo @@ -1634,7 +1634,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dsymv(uplo,n,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,n character, intent(in) :: uplo @@ -1646,7 +1646,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ssymv(uplo,n,alpha,a,lda,x,incx,beta,y,incy) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,n character, intent(in) :: uplo @@ -1672,7 +1672,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dsyr(uplo,n,alpha,x,incx,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,x(*) integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: uplo @@ -1684,7 +1684,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ssyr(uplo,n,alpha,x,incx,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,x(*) integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: uplo @@ -1710,7 +1710,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dsyr2(uplo,n,alpha,x,incx,y,incy,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,lda,n character, intent(in) :: uplo @@ -1722,7 +1722,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ssyr2(uplo,n,alpha,x,incx,y,incy,a,lda) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,x(*),y(*) integer(${ik}$), intent(in) :: incx,incy,lda,n character, intent(in) :: uplo @@ -1751,7 +1751,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine csyr2k(uplo,trans,n,k,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: k,lda,ldb,ldc,n character, intent(in) :: trans,uplo @@ -1763,7 +1763,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dsyr2k(uplo,trans,n,k,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: k,lda,ldb,ldc,n character, intent(in) :: trans,uplo @@ -1775,7 +1775,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ssyr2k(uplo,trans,n,k,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: k,lda,ldb,ldc,n character, intent(in) :: trans,uplo @@ -1787,7 +1787,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zsyr2k(uplo,trans,n,k,alpha,a,lda,b,ldb,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,beta,a(lda,*),b(ldb,*) integer(${ik}$), intent(in) :: k,lda,ldb,ldc,n character, intent(in) :: trans,uplo @@ -1816,7 +1816,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine csyrk(uplo,trans,n,k,alpha,a,lda,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,beta,a(lda,*) integer(${ik}$), intent(in) :: k,lda,ldc,n character, intent(in) :: trans,uplo @@ -1828,7 +1828,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dsyrk(uplo,trans,n,k,alpha,a,lda,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,a(lda,*) integer(${ik}$), intent(in) :: k,lda,ldc,n character, intent(in) :: trans,uplo @@ -1840,7 +1840,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ssyrk(uplo,trans,n,k,alpha,a,lda,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,a(lda,*) integer(${ik}$), intent(in) :: k,lda,ldc,n character, intent(in) :: trans,uplo @@ -1852,7 +1852,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine zsyrk(uplo,trans,n,k,alpha,a,lda,beta,c,ldc) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,beta,a(lda,*) integer(${ik}$), intent(in) :: k,lda,ldc,n character, intent(in) :: trans,uplo @@ -1878,7 +1878,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ctbmv(uplo,trans,diag,n,k,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k,lda,n character, intent(in) :: diag,trans,uplo complex(sp), intent(in) :: a(lda,*) @@ -1890,7 +1890,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dtbmv(uplo,trans,diag,n,k,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k,lda,n character, intent(in) :: diag,trans,uplo real(dp), intent(in) :: a(lda,*) @@ -1902,7 +1902,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine stbmv(uplo,trans,diag,n,k,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k,lda,n character, intent(in) :: diag,trans,uplo real(sp), intent(in) :: a(lda,*) @@ -1914,7 +1914,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ztbmv(uplo,trans,diag,n,k,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k,lda,n character, intent(in) :: diag,trans,uplo complex(dp), intent(in) :: a(lda,*) @@ -1943,7 +1943,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ctbsv(uplo,trans,diag,n,k,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k,lda,n character, intent(in) :: diag,trans,uplo complex(sp), intent(in) :: a(lda,*) @@ -1955,7 +1955,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dtbsv(uplo,trans,diag,n,k,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k,lda,n character, intent(in) :: diag,trans,uplo real(dp), intent(in) :: a(lda,*) @@ -1967,7 +1967,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine stbsv(uplo,trans,diag,n,k,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k,lda,n character, intent(in) :: diag,trans,uplo real(sp), intent(in) :: a(lda,*) @@ -1979,7 +1979,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ztbsv(uplo,trans,diag,n,k,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k,lda,n character, intent(in) :: diag,trans,uplo complex(dp), intent(in) :: a(lda,*) @@ -2005,7 +2005,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ctpmv(uplo,trans,diag,n,ap,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n character, intent(in) :: diag,trans,uplo complex(sp), intent(in) :: ap(*) @@ -2017,7 +2017,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dtpmv(uplo,trans,diag,n,ap,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n character, intent(in) :: diag,trans,uplo real(dp), intent(in) :: ap(*) @@ -2029,7 +2029,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine stpmv(uplo,trans,diag,n,ap,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n character, intent(in) :: diag,trans,uplo real(sp), intent(in) :: ap(*) @@ -2041,7 +2041,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ztpmv(uplo,trans,diag,n,ap,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n character, intent(in) :: diag,trans,uplo complex(dp), intent(in) :: ap(*) @@ -2069,7 +2069,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ctpsv(uplo,trans,diag,n,ap,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n character, intent(in) :: diag,trans,uplo complex(sp), intent(in) :: ap(*) @@ -2081,7 +2081,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dtpsv(uplo,trans,diag,n,ap,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n character, intent(in) :: diag,trans,uplo real(dp), intent(in) :: ap(*) @@ -2093,7 +2093,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine stpsv(uplo,trans,diag,n,ap,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n character, intent(in) :: diag,trans,uplo real(sp), intent(in) :: ap(*) @@ -2105,7 +2105,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ztpsv(uplo,trans,diag,n,ap,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n character, intent(in) :: diag,trans,uplo complex(dp), intent(in) :: ap(*) @@ -2132,7 +2132,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ctrmm(side,uplo,transa,diag,m,n,alpha,a,lda,b,ldb) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,a(lda,*) integer(${ik}$), intent(in) :: lda,ldb,m,n character, intent(in) :: diag,side,transa,uplo @@ -2144,7 +2144,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dtrmm(side,uplo,transa,diag,m,n,alpha,a,lda,b,ldb) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,a(lda,*) integer(${ik}$), intent(in) :: lda,ldb,m,n character, intent(in) :: diag,side,transa,uplo @@ -2156,7 +2156,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine strmm(side,uplo,transa,diag,m,n,alpha,a,lda,b,ldb) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,a(lda,*) integer(${ik}$), intent(in) :: lda,ldb,m,n character, intent(in) :: diag,side,transa,uplo @@ -2168,7 +2168,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ztrmm(side,uplo,transa,diag,m,n,alpha,a,lda,b,ldb) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,a(lda,*) integer(${ik}$), intent(in) :: lda,ldb,m,n character, intent(in) :: diag,side,transa,uplo @@ -2194,7 +2194,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ctrmv(uplo,trans,diag,n,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: diag,trans,uplo complex(sp), intent(in) :: a(lda,*) @@ -2206,7 +2206,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dtrmv(uplo,trans,diag,n,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: diag,trans,uplo real(dp), intent(in) :: a(lda,*) @@ -2218,7 +2218,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine strmv(uplo,trans,diag,n,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: diag,trans,uplo real(sp), intent(in) :: a(lda,*) @@ -2230,7 +2230,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ztrmv(uplo,trans,diag,n,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: diag,trans,uplo complex(dp), intent(in) :: a(lda,*) @@ -2258,7 +2258,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ctrsm(side,uplo,transa,diag,m,n,alpha,a,lda,b,ldb) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: alpha,a(lda,*) integer(${ik}$), intent(in) :: lda,ldb,m,n character, intent(in) :: diag,side,transa,uplo @@ -2270,7 +2270,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dtrsm(side,uplo,transa,diag,m,n,alpha,a,lda,b,ldb) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,a(lda,*) integer(${ik}$), intent(in) :: lda,ldb,m,n character, intent(in) :: diag,side,transa,uplo @@ -2282,7 +2282,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine strsm(side,uplo,transa,diag,m,n,alpha,a,lda,b,ldb) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,a(lda,*) integer(${ik}$), intent(in) :: lda,ldb,m,n character, intent(in) :: diag,side,transa,uplo @@ -2294,7 +2294,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ztrsm(side,uplo,transa,diag,m,n,alpha,a,lda,b,ldb) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: alpha,a(lda,*) integer(${ik}$), intent(in) :: lda,ldb,m,n character, intent(in) :: diag,side,transa,uplo @@ -2322,7 +2322,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ctrsv(uplo,trans,diag,n,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: diag,trans,uplo complex(sp), intent(in) :: a(lda,*) @@ -2334,7 +2334,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine dtrsv(uplo,trans,diag,n,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: diag,trans,uplo real(dp), intent(in) :: a(lda,*) @@ -2346,7 +2346,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine strsv(uplo,trans,diag,n,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: diag,trans,uplo real(sp), intent(in) :: a(lda,*) @@ -2358,7 +2358,7 @@ module stdlib_linalg_blas #ifdef STDLIB_EXTERNAL_BLAS${ii}$ pure subroutine ztrsv(uplo,trans,diag,n,a,lda,x,incx) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,lda,n character, intent(in) :: diag,trans,uplo complex(dp), intent(in) :: a(lda,*) diff --git a/src/stdlib_linalg_cholesky.fypp b/src/stdlib_linalg_cholesky.fypp index 14515787b..73d79845b 100644 --- a/src/stdlib_linalg_cholesky.fypp +++ b/src/stdlib_linalg_cholesky.fypp @@ -6,7 +6,7 @@ submodule (stdlib_linalg) stdlib_linalg_cholesky use stdlib_linalg_lapack, only: potrf use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, & LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR - implicit none(type,external) + implicit none character(*), parameter :: this = 'cholesky' diff --git a/src/stdlib_linalg_constants.fypp b/src/stdlib_linalg_constants.fypp index 69071172e..6a8393830 100644 --- a/src/stdlib_linalg_constants.fypp +++ b/src/stdlib_linalg_constants.fypp @@ -3,7 +3,7 @@ module stdlib_linalg_constants use stdlib_kinds, only: sp, dp, xdp, qp, int32, int64, lk use, intrinsic :: ieee_arithmetic, only: ieee_is_nan !$ use omp_lib - implicit none(type,external) + implicit none public ! Checks whether BLAS is provided by an external library diff --git a/src/stdlib_linalg_determinant.fypp b/src/stdlib_linalg_determinant.fypp index 562498e26..b47704326 100644 --- a/src/stdlib_linalg_determinant.fypp +++ b/src/stdlib_linalg_determinant.fypp @@ -6,7 +6,7 @@ submodule (stdlib_linalg) stdlib_linalg_determinant use stdlib_linalg_lapack, only: getrf use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, & LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR - implicit none(type,external) + implicit none ! Function interface character(*), parameter :: this = 'determinant' diff --git a/src/stdlib_linalg_eigenvalues.fypp b/src/stdlib_linalg_eigenvalues.fypp index 1ac8a850e..835b02597 100644 --- a/src/stdlib_linalg_eigenvalues.fypp +++ b/src/stdlib_linalg_eigenvalues.fypp @@ -10,7 +10,7 @@ submodule (stdlib_linalg) stdlib_linalg_eigenvalues use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, & LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR, LINALG_SUCCESS use, intrinsic:: ieee_arithmetic, only: ieee_value, ieee_positive_inf, ieee_quiet_nan - implicit none(type,external) + implicit none character(*), parameter :: this = 'eigenvalues' diff --git a/src/stdlib_linalg_inverse.fypp b/src/stdlib_linalg_inverse.fypp index 20567b2fa..b38fe97ea 100644 --- a/src/stdlib_linalg_inverse.fypp +++ b/src/stdlib_linalg_inverse.fypp @@ -7,7 +7,7 @@ submodule (stdlib_linalg) stdlib_linalg_inverse use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, & LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR use ieee_arithmetic, only: ieee_value, ieee_quiet_nan - implicit none(type,external) + implicit none character(*), parameter :: this = 'inverse' diff --git a/src/stdlib_linalg_lapack.fypp b/src/stdlib_linalg_lapack.fypp index 2f4363bec..f23489859 100644 --- a/src/stdlib_linalg_lapack.fypp +++ b/src/stdlib_linalg_lapack.fypp @@ -11,7 +11,7 @@ module stdlib_linalg_lapack use stdlib_lapack_orthogonal_factors use stdlib_lapack_eig_svd_lsq - implicit none(type,external) + implicit none public interface bbcsd @@ -45,7 +45,7 @@ module stdlib_linalg_lapack u1, ldu1, u2, ldu2, v1t, ldv1t,v2t, ldv2t, b11d, b11e, b12d, b12e, b21d, b21e,b22d,& b22e, rwork, lrwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu1,jobu2,jobv1t,jobv2t,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldu1,ldu2,ldv1t,ldv2t,lrwork,m,p,q @@ -87,7 +87,7 @@ module stdlib_linalg_lapack pure subroutine dbdsdc( uplo, compq, n, d, e, u, ldu, vt, ldvt, q, iq,work, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,uplo integer(${ik}$), intent(out) :: info,iq(*),iwork(*) integer(${ik}$), intent(in) :: ldu,ldvt,n @@ -101,7 +101,7 @@ module stdlib_linalg_lapack pure subroutine sbdsdc( uplo, compq, n, d, e, u, ldu, vt, ldvt, q, iq,work, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,uplo integer(${ik}$), intent(out) :: info,iq(*),iwork(*) integer(${ik}$), intent(in) :: ldu,ldvt,n @@ -150,7 +150,7 @@ module stdlib_linalg_lapack pure subroutine cbdsqr( uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u,ldu, c, ldc, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldc,ldu,ldvt,n,ncc,ncvt,nru @@ -165,7 +165,7 @@ module stdlib_linalg_lapack pure subroutine dbdsqr( uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u,ldu, c, ldc, & work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldc,ldu,ldvt,n,ncc,ncvt,nru @@ -179,7 +179,7 @@ module stdlib_linalg_lapack pure subroutine sbdsqr( uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u,ldu, c, ldc, & work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldc,ldu,ldvt,n,ncc,ncvt,nru @@ -193,7 +193,7 @@ module stdlib_linalg_lapack pure subroutine zbdsqr( uplo, n, ncvt, nru, ncc, d, e, vt, ldvt, u,ldu, c, ldc, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldc,ldu,ldvt,n,ncc,ncvt,nru @@ -237,7 +237,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ddisna( job, m, n, d, sep, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: m,n @@ -250,7 +250,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sdisna( job, m, n, d, sep, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: m,n @@ -279,7 +279,7 @@ module stdlib_linalg_lapack pure subroutine cgbbrd( vect, m, n, ncc, kl, ku, ab, ldab, d, e, q,ldq, pt, ldpt, & c, ldc, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,ldc,ldpt,ldq,m,n,ncc @@ -294,7 +294,7 @@ module stdlib_linalg_lapack pure subroutine dgbbrd( vect, m, n, ncc, kl, ku, ab, ldab, d, e, q,ldq, pt, ldpt, & c, ldc, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,ldc,ldpt,ldq,m,n,ncc @@ -308,7 +308,7 @@ module stdlib_linalg_lapack pure subroutine sgbbrd( vect, m, n, ncc, kl, ku, ab, ldab, d, e, q,ldq, pt, ldpt, & c, ldc, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,ldc,ldpt,ldq,m,n,ncc @@ -322,7 +322,7 @@ module stdlib_linalg_lapack pure subroutine zgbbrd( vect, m, n, ncc, kl, ku, ab, ldab, d, e, q,ldq, pt, ldpt, & c, ldc, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,ldc,ldpt,ldq,m,n,ncc @@ -360,7 +360,7 @@ module stdlib_linalg_lapack pure subroutine cgbcon( norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond,work, rwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,n,ipiv(*) @@ -376,7 +376,7 @@ module stdlib_linalg_lapack pure subroutine dgbcon( norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond,work, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kl,ku,ldab,n,ipiv(*) @@ -390,7 +390,7 @@ module stdlib_linalg_lapack pure subroutine sgbcon( norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond,work, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kl,ku,ldab,n,ipiv(*) @@ -404,7 +404,7 @@ module stdlib_linalg_lapack pure subroutine zgbcon( norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond,work, rwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,n,ipiv(*) @@ -446,7 +446,7 @@ module stdlib_linalg_lapack pure subroutine cgbequ( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(sp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -459,7 +459,7 @@ module stdlib_linalg_lapack pure subroutine dgbequ( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(dp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -472,7 +472,7 @@ module stdlib_linalg_lapack pure subroutine sgbequ( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(sp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -485,7 +485,7 @@ module stdlib_linalg_lapack pure subroutine zgbequ( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(dp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -530,7 +530,7 @@ module stdlib_linalg_lapack pure subroutine cgbequb( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(sp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -543,7 +543,7 @@ module stdlib_linalg_lapack pure subroutine dgbequb( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(dp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -556,7 +556,7 @@ module stdlib_linalg_lapack pure subroutine sgbequb( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(sp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -569,7 +569,7 @@ module stdlib_linalg_lapack pure subroutine zgbequb( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(dp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -602,7 +602,7 @@ module stdlib_linalg_lapack pure subroutine cgbrfs( trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb,ipiv, b, ldb, & x, ldx, ferr, berr, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,ldafb,ldb,ldx,n,nrhs,ipiv(*) @@ -618,7 +618,7 @@ module stdlib_linalg_lapack pure subroutine dgbrfs( trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb,ipiv, b, ldb, & x, ldx, ferr, berr, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kl,ku,ldab,ldafb,ldb,ldx,n,nrhs,ipiv(*) @@ -633,7 +633,7 @@ module stdlib_linalg_lapack pure subroutine sgbrfs( trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb,ipiv, b, ldb, & x, ldx, ferr, berr, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kl,ku,ldab,ldafb,ldb,ldx,n,nrhs,ipiv(*) @@ -648,7 +648,7 @@ module stdlib_linalg_lapack pure subroutine zgbrfs( trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb,ipiv, b, ldb, & x, ldx, ferr, berr, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,ldafb,ldb,ldx,n,nrhs,ipiv(*) @@ -688,7 +688,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgbsv( n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: kl,ku,ldab,ldb,n,nrhs complex(sp), intent(inout) :: ab(ldab,*),b(ldb,*) @@ -699,7 +699,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgbsv( n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: kl,ku,ldab,ldb,n,nrhs real(dp), intent(inout) :: ab(ldab,*),b(ldb,*) @@ -710,7 +710,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgbsv( n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: kl,ku,ldab,ldb,n,nrhs real(sp), intent(inout) :: ab(ldab,*),b(ldb,*) @@ -721,7 +721,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgbsv( n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: kl,ku,ldab,ldb,n,nrhs complex(dp), intent(inout) :: ab(ldab,*),b(ldb,*) @@ -752,7 +752,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgbtrf( m, n, kl, ku, ab, ldab, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: kl,ku,ldab,m,n complex(sp), intent(inout) :: ab(ldab,*) @@ -763,7 +763,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgbtrf( m, n, kl, ku, ab, ldab, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(dp), intent(inout) :: ab(ldab,*) @@ -774,7 +774,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgbtrf( m, n, kl, ku, ab, ldab, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(sp), intent(inout) :: ab(ldab,*) @@ -785,7 +785,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgbtrf( m, n, kl, ku, ab, ldab, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: kl,ku,ldab,m,n complex(dp), intent(inout) :: ab(ldab,*) @@ -818,7 +818,7 @@ module stdlib_linalg_lapack pure subroutine cgbtrs( trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,ldb,n,nrhs,ipiv(*) @@ -832,7 +832,7 @@ module stdlib_linalg_lapack pure subroutine dgbtrs( trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,ldb,n,nrhs,ipiv(*) @@ -846,7 +846,7 @@ module stdlib_linalg_lapack pure subroutine sgbtrs( trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,ldb,n,nrhs,ipiv(*) @@ -860,7 +860,7 @@ module stdlib_linalg_lapack pure subroutine zgbtrs( trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,ldab,ldb,n,nrhs,ipiv(*) @@ -893,7 +893,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgebak( job, side, n, ilo, ihi, scale, m, v, ldv,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job,side integer(${ik}$), intent(in) :: ihi,ilo,ldv,m,n integer(${ik}$), intent(out) :: info @@ -906,7 +906,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgebak( job, side, n, ilo, ihi, scale, m, v, ldv,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job,side integer(${ik}$), intent(in) :: ihi,ilo,ldv,m,n integer(${ik}$), intent(out) :: info @@ -919,7 +919,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgebak( job, side, n, ilo, ihi, scale, m, v, ldv,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job,side integer(${ik}$), intent(in) :: ihi,ilo,ldv,m,n integer(${ik}$), intent(out) :: info @@ -932,7 +932,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgebak( job, side, n, ilo, ihi, scale, m, v, ldv,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job,side integer(${ik}$), intent(in) :: ihi,ilo,ldv,m,n integer(${ik}$), intent(out) :: info @@ -970,7 +970,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgebal( job, n, a, lda, ilo, ihi, scale, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job integer(${ik}$), intent(out) :: ihi,ilo,info integer(${ik}$), intent(in) :: lda,n @@ -983,7 +983,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgebal( job, n, a, lda, ilo, ihi, scale, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job integer(${ik}$), intent(out) :: ihi,ilo,info integer(${ik}$), intent(in) :: lda,n @@ -996,7 +996,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgebal( job, n, a, lda, ilo, ihi, scale, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job integer(${ik}$), intent(out) :: ihi,ilo,info integer(${ik}$), intent(in) :: lda,n @@ -1009,7 +1009,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgebal( job, n, a, lda, ilo, ihi, scale, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job integer(${ik}$), intent(out) :: ihi,ilo,info integer(${ik}$), intent(in) :: lda,n @@ -1042,7 +1042,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgebrd( m, n, a, lda, d, e, tauq, taup, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(sp), intent(out) :: d(*),e(*) @@ -1055,7 +1055,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgebrd( m, n, a, lda, d, e, tauq, taup, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -1067,7 +1067,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgebrd( m, n, a, lda, d, e, tauq, taup, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -1079,7 +1079,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgebrd( m, n, a, lda, d, e, tauq, taup, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(dp), intent(out) :: d(*),e(*) @@ -1115,7 +1115,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgecon( norm, n, a, lda, anorm, rcond, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -1130,7 +1130,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgecon( norm, n, a, lda, anorm, rcond, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,n @@ -1144,7 +1144,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgecon( norm, n, a, lda, anorm, rcond, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,n @@ -1158,7 +1158,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgecon( norm, n, a, lda, anorm, rcond, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -1199,7 +1199,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgeequ( m, n, a, lda, r, c, rowcnd, colcnd, amax,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -1211,7 +1211,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgeequ( m, n, a, lda, r, c, rowcnd, colcnd, amax,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -1223,7 +1223,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgeequ( m, n, a, lda, r, c, rowcnd, colcnd, amax,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -1235,7 +1235,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgeequ( m, n, a, lda, r, c, rowcnd, colcnd, amax,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -1279,7 +1279,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgeequb( m, n, a, lda, r, c, rowcnd, colcnd, amax,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -1291,7 +1291,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgeequb( m, n, a, lda, r, c, rowcnd, colcnd, amax,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -1303,7 +1303,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgeequb( m, n, a, lda, r, c, rowcnd, colcnd, amax,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -1315,7 +1315,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgeequb( m, n, a, lda, r, c, rowcnd, colcnd, amax,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(out) :: amax,colcnd,rowcnd,c(*),r(*) @@ -1353,7 +1353,7 @@ module stdlib_linalg_lapack subroutine cgees( jobvs, sort, select, n, a, lda, sdim, w, vs,ldvs, work, lwork, & rwork, bwork, info ) import sp,dp,qp,${ik}$,lk,stdlib_select_c - implicit none(type,external) + implicit none character, intent(in) :: jobvs,sort integer(${ik}$), intent(out) :: info,sdim integer(${ik}$), intent(in) :: lda,ldvs,lwork,n @@ -1370,7 +1370,7 @@ module stdlib_linalg_lapack subroutine dgees( jobvs, sort, select, n, a, lda, sdim, wr, wi,vs, ldvs, work, & lwork, bwork, info ) import sp,dp,qp,${ik}$,lk,stdlib_select_d - implicit none(type,external) + implicit none character, intent(in) :: jobvs,sort integer(${ik}$), intent(out) :: info,sdim integer(${ik}$), intent(in) :: lda,ldvs,lwork,n @@ -1386,7 +1386,7 @@ module stdlib_linalg_lapack subroutine sgees( jobvs, sort, select, n, a, lda, sdim, wr, wi,vs, ldvs, work, & lwork, bwork, info ) import sp,dp,qp,${ik}$,lk,stdlib_select_s - implicit none(type,external) + implicit none character, intent(in) :: jobvs,sort integer(${ik}$), intent(out) :: info,sdim integer(${ik}$), intent(in) :: lda,ldvs,lwork,n @@ -1402,7 +1402,7 @@ module stdlib_linalg_lapack subroutine zgees( jobvs, sort, select, n, a, lda, sdim, w, vs,ldvs, work, lwork, & rwork, bwork, info ) import sp,dp,qp,${ik}$,lk,stdlib_select_z - implicit none(type,external) + implicit none character, intent(in) :: jobvs,sort integer(${ik}$), intent(out) :: info,sdim integer(${ik}$), intent(in) :: lda,ldvs,lwork,n @@ -1446,7 +1446,7 @@ module stdlib_linalg_lapack subroutine cgeev( jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr,work, lwork, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobvl,jobvr integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldvl,ldvr,lwork,n @@ -1461,7 +1461,7 @@ module stdlib_linalg_lapack subroutine dgeev( jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr,ldvr, work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobvl,jobvr integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldvl,ldvr,lwork,n @@ -1475,7 +1475,7 @@ module stdlib_linalg_lapack subroutine sgeev( jobvl, jobvr, n, a, lda, wr, wi, vl, ldvl, vr,ldvr, work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobvl,jobvr integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldvl,ldvr,lwork,n @@ -1489,7 +1489,7 @@ module stdlib_linalg_lapack subroutine zgeev( jobvl, jobvr, n, a, lda, w, vl, ldvl, vr, ldvr,work, lwork, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobvl,jobvr integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldvl,ldvr,lwork,n @@ -1522,7 +1522,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgehrd( n, ilo, ihi, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,lda,lwork,n integer(${ik}$), intent(out) :: info complex(sp), intent(inout) :: a(lda,*) @@ -1534,7 +1534,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgehrd( n, ilo, ihi, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,lda,lwork,n integer(${ik}$), intent(out) :: info real(dp), intent(inout) :: a(lda,*) @@ -1546,7 +1546,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgehrd( n, ilo, ihi, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,lda,lwork,n integer(${ik}$), intent(out) :: info real(sp), intent(inout) :: a(lda,*) @@ -1558,7 +1558,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgehrd( n, ilo, ihi, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,lda,lwork,n integer(${ik}$), intent(out) :: info complex(dp), intent(inout) :: a(lda,*) @@ -1598,7 +1598,7 @@ module stdlib_linalg_lapack pure subroutine cgejsv( joba, jobu, jobv, jobr, jobt, jobp,m, n, a, lda, sva, u, & ldu, v, ldv,cwork, lwork, rwork, lrwork, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldu,ldv,lwork,lrwork,m,n complex(sp), intent(inout) :: a(lda,*) @@ -1613,7 +1613,7 @@ module stdlib_linalg_lapack pure subroutine dgejsv( joba, jobu, jobv, jobr, jobt, jobp,m, n, a, lda, sva, u, & ldu, v, ldv,work, lwork, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldu,ldv,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -1627,7 +1627,7 @@ module stdlib_linalg_lapack pure subroutine sgejsv( joba, jobu, jobv, jobr, jobt, jobp,m, n, a, lda, sva, u, & ldu, v, ldv,work, lwork, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldu,ldv,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -1641,7 +1641,7 @@ module stdlib_linalg_lapack pure subroutine zgejsv( joba, jobu, jobv, jobr, jobt, jobp,m, n, a, lda, sva, u, & ldu, v, ldv,cwork, lwork, rwork, lrwork, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldu,ldv,lwork,lrwork,m,n complex(dp), intent(inout) :: a(lda,*) @@ -1678,7 +1678,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgelq( m, n, a, lda, t, tsize, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,tsize,lwork complex(sp), intent(inout) :: a(lda,*) @@ -1690,7 +1690,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgelq( m, n, a, lda, t, tsize, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,tsize,lwork real(dp), intent(inout) :: a(lda,*) @@ -1702,7 +1702,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgelq( m, n, a, lda, t, tsize, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,tsize,lwork real(sp), intent(inout) :: a(lda,*) @@ -1714,7 +1714,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgelq( m, n, a, lda, t, tsize, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,tsize,lwork complex(dp), intent(inout) :: a(lda,*) @@ -1749,7 +1749,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgelqf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(sp), intent(inout) :: a(lda,*) @@ -1761,7 +1761,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgelqf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -1773,7 +1773,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgelqf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -1785,7 +1785,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgelqf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(dp), intent(inout) :: a(lda,*) @@ -1816,7 +1816,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgelqt( m, n, mb, a, lda, t, ldt, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,mb complex(sp), intent(inout) :: a(lda,*) @@ -1828,7 +1828,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgelqt( m, n, mb, a, lda, t, ldt, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,mb real(dp), intent(inout) :: a(lda,*) @@ -1840,7 +1840,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgelqt( m, n, mb, a, lda, t, ldt, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,mb real(sp), intent(inout) :: a(lda,*) @@ -1852,7 +1852,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgelqt( m, n, mb, a, lda, t, ldt, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,mb complex(dp), intent(inout) :: a(lda,*) @@ -1885,7 +1885,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine cgelqt3( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,ldt complex(sp), intent(inout) :: a(lda,*) @@ -1897,7 +1897,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine dgelqt3( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,ldt real(dp), intent(inout) :: a(lda,*) @@ -1909,7 +1909,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine sgelqt3( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,ldt real(sp), intent(inout) :: a(lda,*) @@ -1921,7 +1921,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine zgelqt3( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,ldt complex(dp), intent(inout) :: a(lda,*) @@ -1968,7 +1968,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine cgels( trans, m, n, nrhs, a, lda, b, ldb, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs @@ -1981,7 +1981,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dgels( trans, m, n, nrhs, a, lda, b, ldb, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs @@ -1994,7 +1994,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine sgels( trans, m, n, nrhs, a, lda, b, ldb, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs @@ -2007,7 +2007,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine zgels( trans, m, n, nrhs, a, lda, b, ldb, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs @@ -2063,7 +2063,7 @@ module stdlib_linalg_lapack subroutine cgelsd( m, n, nrhs, a, lda, b, ldb, s, rcond, rank,work, lwork, rwork, & iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank,iwork(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(sp), intent(in) :: rcond @@ -2078,7 +2078,7 @@ module stdlib_linalg_lapack subroutine dgelsd( m, n, nrhs, a, lda, b, ldb, s, rcond, rank,work, lwork, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank,iwork(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(dp), intent(in) :: rcond @@ -2092,7 +2092,7 @@ module stdlib_linalg_lapack subroutine sgelsd( m, n, nrhs, a, lda, b, ldb, s, rcond,rank, work, lwork, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank,iwork(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(sp), intent(in) :: rcond @@ -2106,7 +2106,7 @@ module stdlib_linalg_lapack subroutine zgelsd( m, n, nrhs, a, lda, b, ldb, s, rcond, rank,work, lwork, rwork, & iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank,iwork(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(dp), intent(in) :: rcond @@ -2150,7 +2150,7 @@ module stdlib_linalg_lapack subroutine cgelss( m, n, nrhs, a, lda, b, ldb, s, rcond, rank,work, lwork, rwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(sp), intent(in) :: rcond @@ -2165,7 +2165,7 @@ module stdlib_linalg_lapack subroutine dgelss( m, n, nrhs, a, lda, b, ldb, s, rcond, rank,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(dp), intent(in) :: rcond @@ -2179,7 +2179,7 @@ module stdlib_linalg_lapack subroutine sgelss( m, n, nrhs, a, lda, b, ldb, s, rcond, rank,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(sp), intent(in) :: rcond @@ -2193,7 +2193,7 @@ module stdlib_linalg_lapack subroutine zgelss( m, n, nrhs, a, lda, b, ldb, s, rcond, rank,work, lwork, rwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(dp), intent(in) :: rcond @@ -2257,7 +2257,7 @@ module stdlib_linalg_lapack subroutine cgelsy( m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank,work, lwork, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(sp), intent(in) :: rcond @@ -2273,7 +2273,7 @@ module stdlib_linalg_lapack subroutine dgelsy( m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank,work, lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(dp), intent(in) :: rcond @@ -2288,7 +2288,7 @@ module stdlib_linalg_lapack subroutine sgelsy( m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank,work, lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(sp), intent(in) :: rcond @@ -2303,7 +2303,7 @@ module stdlib_linalg_lapack subroutine zgelsy( m, n, nrhs, a, lda, b, ldb, jpvt, rcond, rank,work, lwork, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,rank integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs real(dp), intent(in) :: rcond @@ -2343,7 +2343,7 @@ module stdlib_linalg_lapack pure subroutine cgemlq( side, trans, m, n, k, a, lda, t, tsize,c, ldc, work, lwork,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,tsize,lwork,ldc @@ -2358,7 +2358,7 @@ module stdlib_linalg_lapack pure subroutine dgemlq( side, trans, m, n, k, a, lda, t, tsize,c, ldc, work, lwork,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,tsize,lwork,ldc @@ -2373,7 +2373,7 @@ module stdlib_linalg_lapack pure subroutine sgemlq( side, trans, m, n, k, a, lda, t, tsize,c, ldc, work, lwork,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,tsize,lwork,ldc @@ -2388,7 +2388,7 @@ module stdlib_linalg_lapack pure subroutine zgemlq( side, trans, m, n, k, a, lda, t, tsize,c, ldc, work, lwork,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,tsize,lwork,ldc @@ -2429,7 +2429,7 @@ module stdlib_linalg_lapack pure subroutine cgemlqt( side, trans, m, n, k, mb, v, ldv, t, ldt,c, ldc, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,ldc,m,n,mb,ldt @@ -2444,7 +2444,7 @@ module stdlib_linalg_lapack pure subroutine dgemlqt( side, trans, m, n, k, mb, v, ldv, t, ldt,c, ldc, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,ldc,m,n,mb,ldt @@ -2459,7 +2459,7 @@ module stdlib_linalg_lapack pure subroutine sgemlqt( side, trans, m, n, k, mb, v, ldv, t, ldt,c, ldc, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,ldc,m,n,mb,ldt @@ -2474,7 +2474,7 @@ module stdlib_linalg_lapack pure subroutine zgemlqt( side, trans, m, n, k, mb, v, ldv, t, ldt,c, ldc, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,ldc,m,n,mb,ldt @@ -2513,7 +2513,7 @@ module stdlib_linalg_lapack pure subroutine cgemqr( side, trans, m, n, k, a, lda, t, tsize,c, ldc, work, lwork,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,tsize,lwork,ldc @@ -2528,7 +2528,7 @@ module stdlib_linalg_lapack pure subroutine dgemqr( side, trans, m, n, k, a, lda, t, tsize,c, ldc, work, lwork,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,tsize,lwork,ldc @@ -2543,7 +2543,7 @@ module stdlib_linalg_lapack pure subroutine sgemqr( side, trans, m, n, k, a, lda, t, tsize,c, ldc, work, lwork,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,tsize,lwork,ldc @@ -2558,7 +2558,7 @@ module stdlib_linalg_lapack pure subroutine zgemqr( side, trans, m, n, k, a, lda, t, tsize,c, ldc, work, lwork,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,tsize,lwork,ldc @@ -2599,7 +2599,7 @@ module stdlib_linalg_lapack pure subroutine cgemqrt( side, trans, m, n, k, nb, v, ldv, t, ldt,c, ldc, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,ldc,m,n,nb,ldt @@ -2614,7 +2614,7 @@ module stdlib_linalg_lapack pure subroutine dgemqrt( side, trans, m, n, k, nb, v, ldv, t, ldt,c, ldc, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,ldc,m,n,nb,ldt @@ -2629,7 +2629,7 @@ module stdlib_linalg_lapack pure subroutine sgemqrt( side, trans, m, n, k, nb, v, ldv, t, ldt,c, ldc, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,ldc,m,n,nb,ldt @@ -2644,7 +2644,7 @@ module stdlib_linalg_lapack pure subroutine zgemqrt( side, trans, m, n, k, nb, v, ldv, t, ldt,c, ldc, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,ldc,m,n,nb,ldt @@ -2677,7 +2677,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgeqlf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(sp), intent(inout) :: a(lda,*) @@ -2689,7 +2689,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgeqlf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -2701,7 +2701,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgeqlf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -2713,7 +2713,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgeqlf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(dp), intent(inout) :: a(lda,*) @@ -2749,7 +2749,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgeqr( m, n, a, lda, t, tsize, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,tsize,lwork complex(sp), intent(inout) :: a(lda,*) @@ -2761,7 +2761,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgeqr( m, n, a, lda, t, tsize, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,tsize,lwork real(dp), intent(inout) :: a(lda,*) @@ -2773,7 +2773,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgeqr( m, n, a, lda, t, tsize, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,tsize,lwork real(sp), intent(inout) :: a(lda,*) @@ -2785,7 +2785,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgeqr( m, n, a, lda, t, tsize, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,tsize,lwork complex(dp), intent(inout) :: a(lda,*) @@ -2822,7 +2822,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine cgeqr2p( m, n, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n complex(sp), intent(inout) :: a(lda,*) @@ -2834,7 +2834,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dgeqr2p( m, n, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(inout) :: a(lda,*) @@ -2846,7 +2846,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine sgeqr2p( m, n, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(inout) :: a(lda,*) @@ -2858,7 +2858,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine zgeqr2p( m, n, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n complex(dp), intent(inout) :: a(lda,*) @@ -2894,7 +2894,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgeqrf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(sp), intent(inout) :: a(lda,*) @@ -2906,7 +2906,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgeqrf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -2918,7 +2918,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgeqrf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -2930,7 +2930,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgeqrf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(dp), intent(inout) :: a(lda,*) @@ -2967,7 +2967,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine cgeqrfp( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(sp), intent(inout) :: a(lda,*) @@ -2979,7 +2979,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dgeqrfp( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -2991,7 +2991,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine sgeqrfp( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -3003,7 +3003,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine zgeqrfp( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(dp), intent(inout) :: a(lda,*) @@ -3034,7 +3034,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgeqrt( m, n, nb, a, lda, t, ldt, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,nb complex(sp), intent(inout) :: a(lda,*) @@ -3046,7 +3046,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgeqrt( m, n, nb, a, lda, t, ldt, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,nb real(dp), intent(inout) :: a(lda,*) @@ -3058,7 +3058,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgeqrt( m, n, nb, a, lda, t, ldt, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,nb real(sp), intent(inout) :: a(lda,*) @@ -3070,7 +3070,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgeqrt( m, n, nb, a, lda, t, ldt, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,nb complex(dp), intent(inout) :: a(lda,*) @@ -3101,7 +3101,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgeqrt2( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n complex(sp), intent(inout) :: a(lda,*) @@ -3113,7 +3113,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgeqrt2( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n real(dp), intent(inout) :: a(lda,*) @@ -3125,7 +3125,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgeqrt2( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n real(sp), intent(inout) :: a(lda,*) @@ -3137,7 +3137,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgeqrt2( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n complex(dp), intent(inout) :: a(lda,*) @@ -3170,7 +3170,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine cgeqrt3( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,ldt complex(sp), intent(inout) :: a(lda,*) @@ -3182,7 +3182,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine dgeqrt3( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,ldt real(dp), intent(inout) :: a(lda,*) @@ -3194,7 +3194,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine sgeqrt3( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,ldt real(sp), intent(inout) :: a(lda,*) @@ -3206,7 +3206,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine zgeqrt3( m, n, a, lda, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,ldt complex(dp), intent(inout) :: a(lda,*) @@ -3239,7 +3239,7 @@ module stdlib_linalg_lapack pure subroutine cgerfs( trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb,x, ldx, & ferr, berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs,ipiv(*) @@ -3255,7 +3255,7 @@ module stdlib_linalg_lapack pure subroutine dgerfs( trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb,x, ldx, & ferr, berr, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs,ipiv(*) @@ -3270,7 +3270,7 @@ module stdlib_linalg_lapack pure subroutine sgerfs( trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb,x, ldx, & ferr, berr, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs,ipiv(*) @@ -3285,7 +3285,7 @@ module stdlib_linalg_lapack pure subroutine zgerfs( trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb,x, ldx, & ferr, berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs,ipiv(*) @@ -3319,7 +3319,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgerqf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(sp), intent(inout) :: a(lda,*) @@ -3331,7 +3331,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgerqf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -3343,7 +3343,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgerqf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -3355,7 +3355,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgerqf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(dp), intent(inout) :: a(lda,*) @@ -3402,7 +3402,7 @@ module stdlib_linalg_lapack subroutine cgesdd( jobz, m, n, a, lda, s, u, ldu, vt, ldvt,work, lwork, rwork, & iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldu,ldvt,lwork,m,n @@ -3417,7 +3417,7 @@ module stdlib_linalg_lapack subroutine dgesdd( jobz, m, n, a, lda, s, u, ldu, vt, ldvt,work, lwork, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldu,ldvt,lwork,m,n @@ -3431,7 +3431,7 @@ module stdlib_linalg_lapack subroutine sgesdd( jobz, m, n, a, lda, s, u, ldu, vt, ldvt,work, lwork, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldu,ldvt,lwork,m,n @@ -3445,7 +3445,7 @@ module stdlib_linalg_lapack subroutine zgesdd( jobz, m, n, a, lda, s, u, ldu, vt, ldvt,work, lwork, rwork, & iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldu,ldvt,lwork,m,n @@ -3485,7 +3485,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgesv( n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,n,nrhs complex(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -3496,7 +3496,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgesv( n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,n,nrhs real(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -3507,7 +3507,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgesv( n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,n,nrhs real(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -3518,7 +3518,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgesv( n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,n,nrhs complex(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -3558,7 +3558,7 @@ module stdlib_linalg_lapack subroutine cgesvd( jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt,work, lwork, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu,jobvt integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldu,ldvt,lwork,m,n @@ -3573,7 +3573,7 @@ module stdlib_linalg_lapack subroutine dgesvd( jobu, jobvt, m, n, a, lda, s, u, ldu,vt, ldvt, work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu,jobvt integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldu,ldvt,lwork,m,n @@ -3587,7 +3587,7 @@ module stdlib_linalg_lapack subroutine sgesvd( jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu,jobvt integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldu,ldvt,lwork,m,n @@ -3601,7 +3601,7 @@ module stdlib_linalg_lapack subroutine zgesvd( jobu, jobvt, m, n, a, lda, s, u, ldu,vt, ldvt, work, lwork, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu,jobvt integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldu,ldvt,lwork,m,n @@ -3642,7 +3642,7 @@ module stdlib_linalg_lapack subroutine cgesvdq( joba, jobp, jobr, jobu, jobv, m, n, a, lda,s, u, ldu, v, ldv, & numrank, iwork, liwork,cwork, lcwork, rwork, lrwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: joba,jobp,jobr,jobu,jobv integer(${ik}$), intent(in) :: m,n,lda,ldu,ldv,liwork,lrwork integer(${ik}$), intent(out) :: numrank,info,iwork(*) @@ -3658,7 +3658,7 @@ module stdlib_linalg_lapack subroutine dgesvdq( joba, jobp, jobr, jobu, jobv, m, n, a, lda,s, u, ldu, v, ldv, & numrank, iwork, liwork,work, lwork, rwork, lrwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: joba,jobp,jobr,jobu,jobv integer(${ik}$), intent(in) :: m,n,lda,ldu,ldv,liwork,lrwork integer(${ik}$), intent(out) :: numrank,info,iwork(*) @@ -3673,7 +3673,7 @@ module stdlib_linalg_lapack subroutine sgesvdq( joba, jobp, jobr, jobu, jobv, m, n, a, lda,s, u, ldu, v, ldv, & numrank, iwork, liwork,work, lwork, rwork, lrwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: joba,jobp,jobr,jobu,jobv integer(${ik}$), intent(in) :: m,n,lda,ldu,ldv,liwork,lrwork integer(${ik}$), intent(out) :: numrank,info,iwork(*) @@ -3688,7 +3688,7 @@ module stdlib_linalg_lapack subroutine zgesvdq( joba, jobp, jobr, jobu, jobv, m, n, a, lda,s, u, ldu, v, ldv, & numrank, iwork, liwork,cwork, lcwork, rwork, lrwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: joba,jobp,jobr,jobu,jobv integer(${ik}$), intent(in) :: m,n,lda,ldu,ldv,liwork,lrwork integer(${ik}$), intent(out) :: numrank,info,iwork(*) @@ -3730,7 +3730,7 @@ module stdlib_linalg_lapack pure subroutine cgesvj( joba, jobu, jobv, m, n, a, lda, sva, mv, v,ldv, cwork, & lwork, rwork, lrwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,lrwork,m,mv,n character, intent(in) :: joba,jobu,jobv @@ -3745,7 +3745,7 @@ module stdlib_linalg_lapack pure subroutine dgesvj( joba, jobu, jobv, m, n, a, lda, sva, mv, v,ldv, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,m,mv,n character, intent(in) :: joba,jobu,jobv @@ -3759,7 +3759,7 @@ module stdlib_linalg_lapack pure subroutine sgesvj( joba, jobu, jobv, m, n, a, lda, sva, mv, v,ldv, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,m,mv,n character, intent(in) :: joba,jobu,jobv @@ -3773,7 +3773,7 @@ module stdlib_linalg_lapack pure subroutine zgesvj( joba, jobu, jobv, m, n, a, lda, sva, mv, v,ldv, cwork, & lwork, rwork, lrwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,lrwork,m,mv,n character, intent(in) :: joba,jobu,jobv @@ -3812,7 +3812,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgetrf( m, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,m,n complex(sp), intent(inout) :: a(lda,*) @@ -3823,7 +3823,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgetrf( m, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(inout) :: a(lda,*) @@ -3834,7 +3834,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgetrf( m, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(inout) :: a(lda,*) @@ -3845,7 +3845,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgetrf( m, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,m,n complex(dp), intent(inout) :: a(lda,*) @@ -3892,7 +3892,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine cgetrf2( m, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,m,n complex(sp), intent(inout) :: a(lda,*) @@ -3903,7 +3903,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine dgetrf2( m, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(inout) :: a(lda,*) @@ -3914,7 +3914,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine sgetrf2( m, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(inout) :: a(lda,*) @@ -3925,7 +3925,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine zgetrf2( m, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,m,n complex(dp), intent(inout) :: a(lda,*) @@ -3957,7 +3957,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgetri( n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n,ipiv(*) complex(sp), intent(inout) :: a(lda,*) @@ -3969,7 +3969,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgetri( n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n,ipiv(*) real(dp), intent(inout) :: a(lda,*) @@ -3981,7 +3981,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgetri( n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n,ipiv(*) real(sp), intent(inout) :: a(lda,*) @@ -3993,7 +3993,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgetri( n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n,ipiv(*) complex(dp), intent(inout) :: a(lda,*) @@ -4026,7 +4026,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgetrs( trans, n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -4039,7 +4039,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgetrs( trans, n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -4052,7 +4052,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgetrs( trans, n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -4065,7 +4065,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgetrs( trans, n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -4113,7 +4113,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine cgetsls( trans, m, n, nrhs, a, lda, b, ldb,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs @@ -4126,7 +4126,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dgetsls( trans, m, n, nrhs, a, lda, b, ldb,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs @@ -4139,7 +4139,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine sgetsls( trans, m, n, nrhs, a, lda, b, ldb,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs @@ -4152,7 +4152,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine zgetsls( trans, m, n, nrhs, a, lda, b, ldb,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,nrhs @@ -4195,7 +4195,7 @@ module stdlib_linalg_lapack pure subroutine cgetsqrhrt( m, n, mb1, nb1, nb2, a, lda, t, ldt, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,nb1,nb2,mb1 complex(sp), intent(inout) :: a(lda,*) @@ -4208,7 +4208,7 @@ module stdlib_linalg_lapack pure subroutine dgetsqrhrt( m, n, mb1, nb1, nb2, a, lda, t, ldt, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,nb1,nb2,mb1 real(dp), intent(inout) :: a(lda,*) @@ -4221,7 +4221,7 @@ module stdlib_linalg_lapack pure subroutine sgetsqrhrt( m, n, mb1, nb1, nb2, a, lda, t, ldt, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,nb1,nb2,mb1 real(sp), intent(inout) :: a(lda,*) @@ -4234,7 +4234,7 @@ module stdlib_linalg_lapack pure subroutine zgetsqrhrt( m, n, mb1, nb1, nb2, a, lda, t, ldt, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,nb1,nb2,mb1 complex(dp), intent(inout) :: a(lda,*) @@ -4268,7 +4268,7 @@ module stdlib_linalg_lapack pure subroutine cggbak( job, side, n, ilo, ihi, lscale, rscale, m, v,ldv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job,side integer(${ik}$), intent(in) :: ihi,ilo,ldv,m,n integer(${ik}$), intent(out) :: info @@ -4282,7 +4282,7 @@ module stdlib_linalg_lapack pure subroutine dggbak( job, side, n, ilo, ihi, lscale, rscale, m, v,ldv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job,side integer(${ik}$), intent(in) :: ihi,ilo,ldv,m,n integer(${ik}$), intent(out) :: info @@ -4296,7 +4296,7 @@ module stdlib_linalg_lapack pure subroutine sggbak( job, side, n, ilo, ihi, lscale, rscale, m, v,ldv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job,side integer(${ik}$), intent(in) :: ihi,ilo,ldv,m,n integer(${ik}$), intent(out) :: info @@ -4310,7 +4310,7 @@ module stdlib_linalg_lapack pure subroutine zggbak( job, side, n, ilo, ihi, lscale, rscale, m, v,ldv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job,side integer(${ik}$), intent(in) :: ihi,ilo,ldv,m,n integer(${ik}$), intent(out) :: info @@ -4350,7 +4350,7 @@ module stdlib_linalg_lapack pure subroutine cggbal( job, n, a, lda, b, ldb, ilo, ihi, lscale,rscale, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job integer(${ik}$), intent(out) :: ihi,ilo,info integer(${ik}$), intent(in) :: lda,ldb,n @@ -4364,7 +4364,7 @@ module stdlib_linalg_lapack pure subroutine dggbal( job, n, a, lda, b, ldb, ilo, ihi, lscale,rscale, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job integer(${ik}$), intent(out) :: ihi,ilo,info integer(${ik}$), intent(in) :: lda,ldb,n @@ -4378,7 +4378,7 @@ module stdlib_linalg_lapack pure subroutine sggbal( job, n, a, lda, b, ldb, ilo, ihi, lscale,rscale, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job integer(${ik}$), intent(out) :: ihi,ilo,info integer(${ik}$), intent(in) :: lda,ldb,n @@ -4392,7 +4392,7 @@ module stdlib_linalg_lapack pure subroutine zggbal( job, n, a, lda, b, ldb, ilo, ihi, lscale,rscale, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: job integer(${ik}$), intent(out) :: ihi,ilo,info integer(${ik}$), intent(in) :: lda,ldb,n @@ -4443,7 +4443,7 @@ module stdlib_linalg_lapack subroutine cgges( jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb,sdim, alpha, & beta, vsl, ldvsl, vsr, ldvsr, work,lwork, rwork, bwork, info ) import sp,dp,qp,${ik}$,lk,stdlib_selctg_c - implicit none(type,external) + implicit none character, intent(in) :: jobvsl,jobvsr,sort integer(${ik}$), intent(out) :: info,sdim integer(${ik}$), intent(in) :: lda,ldb,ldvsl,ldvsr,lwork,n @@ -4461,7 +4461,7 @@ module stdlib_linalg_lapack subroutine dgges( jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb,sdim, alphar, & alphai, beta, vsl, ldvsl, vsr,ldvsr, work, lwork, bwork, info ) import sp,dp,qp,${ik}$,lk,stdlib_selctg_d - implicit none(type,external) + implicit none character, intent(in) :: jobvsl,jobvsr,sort integer(${ik}$), intent(out) :: info,sdim integer(${ik}$), intent(in) :: lda,ldb,ldvsl,ldvsr,lwork,n @@ -4478,7 +4478,7 @@ module stdlib_linalg_lapack subroutine sgges( jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb,sdim, alphar, & alphai, beta, vsl, ldvsl, vsr,ldvsr, work, lwork, bwork, info ) import sp,dp,qp,${ik}$,lk,stdlib_selctg_s - implicit none(type,external) + implicit none character, intent(in) :: jobvsl,jobvsr,sort integer(${ik}$), intent(out) :: info,sdim integer(${ik}$), intent(in) :: lda,ldb,ldvsl,ldvsr,lwork,n @@ -4495,7 +4495,7 @@ module stdlib_linalg_lapack subroutine zgges( jobvsl, jobvsr, sort, selctg, n, a, lda, b, ldb,sdim, alpha, & beta, vsl, ldvsl, vsr, ldvsr, work,lwork, rwork, bwork, info ) import sp,dp,qp,${ik}$,lk,stdlib_selctg_z - implicit none(type,external) + implicit none character, intent(in) :: jobvsl,jobvsr,sort integer(${ik}$), intent(out) :: info,sdim integer(${ik}$), intent(in) :: lda,ldb,ldvsl,ldvsr,lwork,n @@ -4545,7 +4545,7 @@ module stdlib_linalg_lapack subroutine cggev( jobvl, jobvr, n, a, lda, b, ldb, alpha, beta,vl, ldvl, vr, ldvr, & work, lwork, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobvl,jobvr integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldvl,ldvr,lwork,n @@ -4561,7 +4561,7 @@ module stdlib_linalg_lapack subroutine dggev( jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai,beta, vl, ldvl, & vr, ldvr, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobvl,jobvr integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldvl,ldvr,lwork,n @@ -4576,7 +4576,7 @@ module stdlib_linalg_lapack subroutine sggev( jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai,beta, vl, ldvl, & vr, ldvr, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobvl,jobvr integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldvl,ldvr,lwork,n @@ -4591,7 +4591,7 @@ module stdlib_linalg_lapack subroutine zggev( jobvl, jobvr, n, a, lda, b, ldb, alpha, beta,vl, ldvl, vr, ldvr, & work, lwork, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobvl,jobvr integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldvl,ldvr,lwork,n @@ -4642,7 +4642,7 @@ module stdlib_linalg_lapack pure subroutine cggglm( n, m, p, a, lda, b, ldb, d, x, y, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p complex(sp), intent(inout) :: a(lda,*),b(ldb,*),d(*) @@ -4655,7 +4655,7 @@ module stdlib_linalg_lapack pure subroutine dggglm( n, m, p, a, lda, b, ldb, d, x, y, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p real(dp), intent(inout) :: a(lda,*),b(ldb,*),d(*) @@ -4668,7 +4668,7 @@ module stdlib_linalg_lapack pure subroutine sggglm( n, m, p, a, lda, b, ldb, d, x, y, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p real(sp), intent(inout) :: a(lda,*),b(ldb,*),d(*) @@ -4681,7 +4681,7 @@ module stdlib_linalg_lapack pure subroutine zggglm( n, m, p, a, lda, b, ldb, d, x, y, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p complex(dp), intent(inout) :: a(lda,*),b(ldb,*),d(*) @@ -4734,7 +4734,7 @@ module stdlib_linalg_lapack pure subroutine cgghrd( compq, compz, n, ilo, ihi, a, lda, b, ldb, q,ldq, z, ldz, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,compz integer(${ik}$), intent(in) :: ihi,ilo,lda,ldb,ldq,ldz,n integer(${ik}$), intent(out) :: info @@ -4747,7 +4747,7 @@ module stdlib_linalg_lapack pure subroutine dgghrd( compq, compz, n, ilo, ihi, a, lda, b, ldb, q,ldq, z, ldz, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,compz integer(${ik}$), intent(in) :: ihi,ilo,lda,ldb,ldq,ldz,n integer(${ik}$), intent(out) :: info @@ -4760,7 +4760,7 @@ module stdlib_linalg_lapack pure subroutine sgghrd( compq, compz, n, ilo, ihi, a, lda, b, ldb, q,ldq, z, ldz, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,compz integer(${ik}$), intent(in) :: ihi,ilo,lda,ldb,ldq,ldz,n integer(${ik}$), intent(out) :: info @@ -4773,7 +4773,7 @@ module stdlib_linalg_lapack pure subroutine zgghrd( compq, compz, n, ilo, ihi, a, lda, b, ldb, q,ldq, z, ldz, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,compz integer(${ik}$), intent(in) :: ihi,ilo,lda,ldb,ldq,ldz,n integer(${ik}$), intent(out) :: info @@ -4815,7 +4815,7 @@ module stdlib_linalg_lapack pure subroutine cgglse( m, n, p, a, lda, b, ldb, c, d, x, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p complex(sp), intent(inout) :: a(lda,*),b(ldb,*),c(*),d(*) @@ -4828,7 +4828,7 @@ module stdlib_linalg_lapack pure subroutine dgglse( m, n, p, a, lda, b, ldb, c, d, x, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p real(dp), intent(inout) :: a(lda,*),b(ldb,*),c(*),d(*) @@ -4841,7 +4841,7 @@ module stdlib_linalg_lapack pure subroutine sgglse( m, n, p, a, lda, b, ldb, c, d, x, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p real(sp), intent(inout) :: a(lda,*),b(ldb,*),c(*),d(*) @@ -4854,7 +4854,7 @@ module stdlib_linalg_lapack pure subroutine zgglse( m, n, p, a, lda, b, ldb, c, d, x, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p complex(dp), intent(inout) :: a(lda,*),b(ldb,*),c(*),d(*) @@ -4902,7 +4902,7 @@ module stdlib_linalg_lapack pure subroutine cggqrf( n, m, p, a, lda, taua, b, ldb, taub, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p complex(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -4915,7 +4915,7 @@ module stdlib_linalg_lapack pure subroutine dggqrf( n, m, p, a, lda, taua, b, ldb, taub, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p real(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -4928,7 +4928,7 @@ module stdlib_linalg_lapack pure subroutine sggqrf( n, m, p, a, lda, taua, b, ldb, taub, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p real(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -4941,7 +4941,7 @@ module stdlib_linalg_lapack pure subroutine zggqrf( n, m, p, a, lda, taua, b, ldb, taub, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p complex(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -4989,7 +4989,7 @@ module stdlib_linalg_lapack pure subroutine cggrqf( m, p, n, a, lda, taua, b, ldb, taub, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p complex(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -5002,7 +5002,7 @@ module stdlib_linalg_lapack pure subroutine dggrqf( m, p, n, a, lda, taua, b, ldb, taub, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p real(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -5015,7 +5015,7 @@ module stdlib_linalg_lapack pure subroutine sggrqf( m, p, n, a, lda, taua, b, ldb, taub, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p real(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -5028,7 +5028,7 @@ module stdlib_linalg_lapack pure subroutine zggrqf( m, p, n, a, lda, taua, b, ldb, taub, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,lwork,m,n,p complex(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -5062,7 +5062,7 @@ module stdlib_linalg_lapack pure subroutine cgsvj0( jobv, m, n, a, lda, d, sva, mv, v, ldv, eps,sfmin, tol, & nsweep, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,m,mv,n,nsweep real(sp), intent(in) :: eps,sfmin,tol @@ -5078,7 +5078,7 @@ module stdlib_linalg_lapack pure subroutine dgsvj0( jobv, m, n, a, lda, d, sva, mv, v, ldv, eps,sfmin, tol, & nsweep, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,m,mv,n,nsweep real(dp), intent(in) :: eps,sfmin,tol @@ -5093,7 +5093,7 @@ module stdlib_linalg_lapack pure subroutine sgsvj0( jobv, m, n, a, lda, d, sva, mv, v, ldv, eps,sfmin, tol, & nsweep, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,m,mv,n,nsweep real(sp), intent(in) :: eps,sfmin,tol @@ -5108,7 +5108,7 @@ module stdlib_linalg_lapack pure subroutine zgsvj0( jobv, m, n, a, lda, d, sva, mv, v, ldv, eps,sfmin, tol, & nsweep, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,m,mv,n,nsweep real(dp), intent(in) :: eps,sfmin,tol @@ -5165,7 +5165,7 @@ module stdlib_linalg_lapack pure subroutine cgsvj1( jobv, m, n, n1, a, lda, d, sva, mv, v, ldv,eps, sfmin, tol,& nsweep, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: eps,sfmin,tol integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,m,mv,n,n1,nsweep @@ -5181,7 +5181,7 @@ module stdlib_linalg_lapack pure subroutine dgsvj1( jobv, m, n, n1, a, lda, d, sva, mv, v, ldv,eps, sfmin, tol,& nsweep, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: eps,sfmin,tol integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,m,mv,n,n1,nsweep @@ -5196,7 +5196,7 @@ module stdlib_linalg_lapack pure subroutine sgsvj1( jobv, m, n, n1, a, lda, d, sva, mv, v, ldv,eps, sfmin, tol,& nsweep, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: eps,sfmin,tol integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,m,mv,n,n1,nsweep @@ -5211,7 +5211,7 @@ module stdlib_linalg_lapack pure subroutine zgsvj1( jobv, m, n, n1, a, lda, d, sva, mv, v, ldv,eps, sfmin, tol,& nsweep, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: eps,sfmin,tol integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldv,lwork,m,mv,n,n1,nsweep @@ -5249,7 +5249,7 @@ module stdlib_linalg_lapack pure subroutine cgtcon( norm, n, dl, d, du, du2, ipiv, anorm, rcond,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -5265,7 +5265,7 @@ module stdlib_linalg_lapack pure subroutine dgtcon( norm, n, dl, d, du, du2, ipiv, anorm, rcond,work, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: n,ipiv(*) @@ -5279,7 +5279,7 @@ module stdlib_linalg_lapack pure subroutine sgtcon( norm, n, dl, d, du, du2, ipiv, anorm, rcond,work, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: n,ipiv(*) @@ -5293,7 +5293,7 @@ module stdlib_linalg_lapack pure subroutine zgtcon( norm, n, dl, d, du, du2, ipiv, anorm, rcond,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -5329,7 +5329,7 @@ module stdlib_linalg_lapack pure subroutine cgtrfs( trans, n, nrhs, dl, d, du, dlf, df, duf, du2,ipiv, b, ldb, & x, ldx, ferr, berr, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs,ipiv(*) @@ -5346,7 +5346,7 @@ module stdlib_linalg_lapack pure subroutine dgtrfs( trans, n, nrhs, dl, d, du, dlf, df, duf, du2,ipiv, b, ldb, & x, ldx, ferr, berr, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs,ipiv(*) @@ -5362,7 +5362,7 @@ module stdlib_linalg_lapack pure subroutine sgtrfs( trans, n, nrhs, dl, d, du, dlf, df, duf, du2,ipiv, b, ldb, & x, ldx, ferr, berr, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs,ipiv(*) @@ -5378,7 +5378,7 @@ module stdlib_linalg_lapack pure subroutine zgtrfs( trans, n, nrhs, dl, d, du, dlf, df, duf, du2,ipiv, b, ldb, & x, ldx, ferr, berr, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs,ipiv(*) @@ -5417,7 +5417,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgtsv( n, nrhs, dl, d, du, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs complex(sp), intent(inout) :: b(ldb,*),d(*),dl(*),du(*) @@ -5428,7 +5428,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgtsv( n, nrhs, dl, d, du, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs real(dp), intent(inout) :: b(ldb,*),d(*),dl(*),du(*) @@ -5439,7 +5439,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgtsv( n, nrhs, dl, d, du, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs real(sp), intent(inout) :: b(ldb,*),d(*),dl(*),du(*) @@ -5450,7 +5450,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgtsv( n, nrhs, dl, d, du, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs complex(dp), intent(inout) :: b(ldb,*),d(*),dl(*),du(*) @@ -5485,7 +5485,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgttrf( n, dl, d, du, du2, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: n complex(sp), intent(inout) :: d(*),dl(*),du(*) @@ -5497,7 +5497,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgttrf( n, dl, d, du, du2, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: n real(dp), intent(inout) :: d(*),dl(*),du(*) @@ -5509,7 +5509,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgttrf( n, dl, d, du, du2, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: n real(sp), intent(inout) :: d(*),dl(*),du(*) @@ -5521,7 +5521,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgttrf( n, dl, d, du, du2, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: n complex(dp), intent(inout) :: d(*),dl(*),du(*) @@ -5554,7 +5554,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cgttrs( trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs,ipiv(*) @@ -5567,7 +5567,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dgttrs( trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs,ipiv(*) @@ -5580,7 +5580,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sgttrs( trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs,ipiv(*) @@ -5593,7 +5593,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zgttrs( trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs,ipiv(*) @@ -5626,7 +5626,7 @@ module stdlib_linalg_lapack pure subroutine chb2st_kernels( uplo, wantz, ttype,st, ed, sweep, n, nb, ib,a, & lda, v, tau, ldvt, work) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo logical(lk), intent(in) :: wantz integer(${ik}$), intent(in) :: ttype,st,ed,sweep,n,nb,ib,lda,ldvt @@ -5640,7 +5640,7 @@ module stdlib_linalg_lapack pure subroutine zhb2st_kernels( uplo, wantz, ttype,st, ed, sweep, n, nb, ib,a, & lda, v, tau, ldvt, work) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo logical(lk), intent(in) :: wantz integer(${ik}$), intent(in) :: ttype,st,ed,sweep,n,nb,ib,lda,ldvt @@ -5667,7 +5667,7 @@ module stdlib_linalg_lapack subroutine chbev( jobz, uplo, n, kd, ab, ldab, w, z, ldz, work,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldz,n @@ -5682,7 +5682,7 @@ module stdlib_linalg_lapack subroutine zhbev( jobz, uplo, n, kd, ab, ldab, w, z, ldz, work,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldz,n @@ -5717,7 +5717,7 @@ module stdlib_linalg_lapack subroutine chbevd( jobz, uplo, n, kd, ab, ldab, w, z, ldz, work,lwork, rwork, & lrwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,ldz,liwork,lrwork,lwork,n @@ -5732,7 +5732,7 @@ module stdlib_linalg_lapack subroutine zhbevd( jobz, uplo, n, kd, ab, ldab, w, z, ldz, work,lwork, rwork, & lrwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,ldz,liwork,lrwork,lwork,n @@ -5765,7 +5765,7 @@ module stdlib_linalg_lapack pure subroutine chbgst( vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x,ldx, work, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldx,n @@ -5781,7 +5781,7 @@ module stdlib_linalg_lapack pure subroutine zhbgst( vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x,ldx, work, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldx,n @@ -5812,7 +5812,7 @@ module stdlib_linalg_lapack pure subroutine chbgv( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z,ldz, work, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldz,n @@ -5827,7 +5827,7 @@ module stdlib_linalg_lapack pure subroutine zhbgv( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z,ldz, work, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldz,n @@ -5864,7 +5864,7 @@ module stdlib_linalg_lapack pure subroutine chbgvd( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w,z, ldz, work, & lwork, rwork, lrwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldz,liwork,lrwork,lwork,n @@ -5879,7 +5879,7 @@ module stdlib_linalg_lapack pure subroutine zhbgvd( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w,z, ldz, work, & lwork, rwork, lrwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldz,liwork,lrwork,lwork,n @@ -5908,7 +5908,7 @@ module stdlib_linalg_lapack pure subroutine chbtrd( vect, uplo, n, kd, ab, ldab, d, e, q, ldq,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldq,n @@ -5923,7 +5923,7 @@ module stdlib_linalg_lapack pure subroutine zhbtrd( vect, uplo, n, kd, ab, ldab, d, e, q, ldq,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldq,n @@ -5953,7 +5953,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine checon( uplo, n, a, lda, ipiv, anorm, rcond, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -5968,7 +5968,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhecon( uplo, n, a, lda, ipiv, anorm, rcond, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -6000,7 +6000,7 @@ module stdlib_linalg_lapack pure subroutine checon_rook( uplo, n, a, lda, ipiv, anorm, rcond, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -6016,7 +6016,7 @@ module stdlib_linalg_lapack pure subroutine zhecon_rook( uplo, n, a, lda, ipiv, anorm, rcond, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -6049,7 +6049,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cheequb( uplo, n, a, lda, s, scond, amax, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(sp), intent(out) :: amax,scond,s(*) @@ -6063,7 +6063,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zheequb( uplo, n, a, lda, s, scond, amax, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(dp), intent(out) :: amax,scond,s(*) @@ -6090,7 +6090,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine cheev( jobz, uplo, n, a, lda, w, work, lwork, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -6104,7 +6104,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine zheev( jobz, uplo, n, a, lda, w, work, lwork, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -6139,7 +6139,7 @@ module stdlib_linalg_lapack subroutine cheevd( jobz, uplo, n, a, lda, w, work, lwork, rwork,lrwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,liwork,lrwork,lwork,n @@ -6154,7 +6154,7 @@ module stdlib_linalg_lapack subroutine zheevd( jobz, uplo, n, a, lda, w, work, lwork, rwork,lrwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,liwork,lrwork,lwork,n @@ -6230,7 +6230,7 @@ module stdlib_linalg_lapack subroutine cheevr( jobz, range, uplo, n, a, lda, vl, vu, il, iu,abstol, m, w, z, & ldz, isuppz, work, lwork,rwork, lrwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range,uplo integer(${ik}$), intent(in) :: il,iu,lda,ldz,liwork,lrwork,lwork,n integer(${ik}$), intent(out) :: info,m,isuppz(*),iwork(*) @@ -6246,7 +6246,7 @@ module stdlib_linalg_lapack subroutine zheevr( jobz, range, uplo, n, a, lda, vl, vu, il, iu,abstol, m, w, z, & ldz, isuppz, work, lwork,rwork, lrwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range,uplo integer(${ik}$), intent(in) :: il,iu,lda,ldz,liwork,lrwork,lwork,n integer(${ik}$), intent(out) :: info,m,isuppz(*),iwork(*) @@ -6279,7 +6279,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chegst( itype, uplo, n, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,lda,ldb,n @@ -6291,7 +6291,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhegst( itype, uplo, n, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,lda,ldb,n @@ -6320,7 +6320,7 @@ module stdlib_linalg_lapack subroutine chegv( itype, jobz, uplo, n, a, lda, b, ldb, w, work,lwork, rwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,lda,ldb,lwork,n @@ -6335,7 +6335,7 @@ module stdlib_linalg_lapack subroutine zhegv( itype, jobz, uplo, n, a, lda, b, ldb, w, work,lwork, rwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,lda,ldb,lwork,n @@ -6372,7 +6372,7 @@ module stdlib_linalg_lapack subroutine chegvd( itype, jobz, uplo, n, a, lda, b, ldb, w, work,lwork, rwork, & lrwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: itype,lda,ldb,liwork,lrwork,lwork,n @@ -6387,7 +6387,7 @@ module stdlib_linalg_lapack subroutine zhegvd( itype, jobz, uplo, n, a, lda, b, ldb, w, work,lwork, rwork, & lrwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: itype,lda,ldb,liwork,lrwork,lwork,n @@ -6416,7 +6416,7 @@ module stdlib_linalg_lapack pure subroutine cherfs( uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb,x, ldx, ferr,& berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs,ipiv(*) @@ -6432,7 +6432,7 @@ module stdlib_linalg_lapack pure subroutine zherfs( uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb,x, ldx, ferr,& berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs,ipiv(*) @@ -6470,7 +6470,7 @@ module stdlib_linalg_lapack pure subroutine chesv( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -6484,7 +6484,7 @@ module stdlib_linalg_lapack pure subroutine zhesv( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -6519,7 +6519,7 @@ module stdlib_linalg_lapack pure subroutine chesv_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -6533,7 +6533,7 @@ module stdlib_linalg_lapack pure subroutine zhesv_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -6572,7 +6572,7 @@ module stdlib_linalg_lapack pure subroutine chesv_rk( uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work,lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -6586,7 +6586,7 @@ module stdlib_linalg_lapack pure subroutine zhesv_rk( uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work,lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -6627,7 +6627,7 @@ module stdlib_linalg_lapack pure subroutine chesv_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -6641,7 +6641,7 @@ module stdlib_linalg_lapack pure subroutine zhesv_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -6667,7 +6667,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cheswapr( uplo, n, a, lda, i1, i2) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: i1,i2,lda,n complex(sp), intent(inout) :: a(lda,n) @@ -6678,7 +6678,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zheswapr( uplo, n, a, lda, i1, i2) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: i1,i2,lda,n complex(dp), intent(inout) :: a(lda,n) @@ -6709,7 +6709,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetf2_rk( uplo, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -6722,7 +6722,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetf2_rk( uplo, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -6753,7 +6753,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetf2_rook( uplo, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -6765,7 +6765,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetf2_rook( uplo, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -6791,7 +6791,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetrd( uplo, n, a, lda, d, e, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -6805,7 +6805,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetrd( uplo, n, a, lda, d, e, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -6834,7 +6834,7 @@ module stdlib_linalg_lapack subroutine chetrd_hb2st( stage1, vect, uplo, n, kd, ab, ldab,d, e, hous, & lhous, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: stage1,uplo,vect integer(${ik}$), intent(in) :: n,kd,ldab,lhous,lwork integer(${ik}$), intent(out) :: info @@ -6849,7 +6849,7 @@ module stdlib_linalg_lapack subroutine zhetrd_hb2st( stage1, vect, uplo, n, kd, ab, ldab,d, e, hous, & lhous, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: stage1,uplo,vect integer(${ik}$), intent(in) :: n,kd,ldab,lhous,lwork integer(${ik}$), intent(out) :: info @@ -6878,7 +6878,7 @@ module stdlib_linalg_lapack subroutine chetrd_he2hb( uplo, n, kd, a, lda, ab, ldab, tau,work, lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldab,lwork,n,kd @@ -6892,7 +6892,7 @@ module stdlib_linalg_lapack subroutine zhetrd_he2hb( uplo, n, kd, a, lda, ab, ldab, tau,work, lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldab,lwork,n,kd @@ -6924,7 +6924,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetrf( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -6937,7 +6937,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetrf( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -6967,7 +6967,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetrf_aa( uplo, n, a, lda, ipiv, work, lwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,lda,lwork integer(${ik}$), intent(out) :: info,ipiv(*) @@ -6980,7 +6980,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetrf_aa( uplo, n, a, lda, ipiv, work, lwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,lda,lwork integer(${ik}$), intent(out) :: info,ipiv(*) @@ -7013,7 +7013,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetrf_rk( uplo, n, a, lda, e, ipiv, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -7026,7 +7026,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetrf_rk( uplo, n, a, lda, e, ipiv, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -7058,7 +7058,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetrf_rook( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -7071,7 +7071,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetrf_rook( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -7098,7 +7098,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetri( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -7111,7 +7111,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetri( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -7138,7 +7138,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetri_rook( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -7151,7 +7151,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetri_rook( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -7178,7 +7178,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -7191,7 +7191,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -7218,7 +7218,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetrs2( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -7231,7 +7231,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetrs2( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -7264,7 +7264,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetrs_3( uplo, n, nrhs, a, lda, e, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -7277,7 +7277,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetrs_3( uplo, n, nrhs, a, lda, e, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -7305,7 +7305,7 @@ module stdlib_linalg_lapack pure subroutine chetrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,nrhs,lda,ldb,lwork,ipiv(*) integer(${ik}$), intent(out) :: info @@ -7320,7 +7320,7 @@ module stdlib_linalg_lapack pure subroutine zhetrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,nrhs,lda,ldb,lwork,ipiv(*) integer(${ik}$), intent(out) :: info @@ -7348,7 +7348,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chetrs_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -7361,7 +7361,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhetrs_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -7393,7 +7393,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chfrk( transr, uplo, trans, n, k, alpha, a, lda, beta,c ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: k,lda,n character, intent(in) :: trans,transr,uplo @@ -7406,7 +7406,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhfrk( transr, uplo, trans, n, k, alpha, a, lda, beta,c ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: k,lda,n character, intent(in) :: trans,transr,uplo @@ -7464,7 +7464,7 @@ module stdlib_linalg_lapack subroutine chgeqz( job, compq, compz, n, ilo, ihi, h, ldh, t, ldt,alpha, beta, q, & ldq, z, ldz, work, lwork,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,compz,job integer(${ik}$), intent(in) :: ihi,ilo,ldh,ldq,ldt,ldz,lwork,n integer(${ik}$), intent(out) :: info @@ -7479,7 +7479,7 @@ module stdlib_linalg_lapack subroutine dhgeqz( job, compq, compz, n, ilo, ihi, h, ldh, t, ldt,alphar, alphai, & beta, q, ldq, z, ldz, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,compz,job integer(${ik}$), intent(in) :: ihi,ilo,ldh,ldq,ldt,ldz,lwork,n integer(${ik}$), intent(out) :: info @@ -7493,7 +7493,7 @@ module stdlib_linalg_lapack subroutine shgeqz( job, compq, compz, n, ilo, ihi, h, ldh, t, ldt,alphar, alphai, & beta, q, ldq, z, ldz, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,compz,job integer(${ik}$), intent(in) :: ihi,ilo,ldh,ldq,ldt,ldz,lwork,n integer(${ik}$), intent(out) :: info @@ -7507,7 +7507,7 @@ module stdlib_linalg_lapack subroutine zhgeqz( job, compq, compz, n, ilo, ihi, h, ldh, t, ldt,alpha, beta, q, & ldq, z, ldz, work, lwork,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,compz,job integer(${ik}$), intent(in) :: ihi,ilo,ldh,ldq,ldt,ldz,lwork,n integer(${ik}$), intent(out) :: info @@ -7543,7 +7543,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chpcon( uplo, n, ap, ipiv, anorm, rcond, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -7558,7 +7558,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhpcon( uplo, n, ap, ipiv, anorm, rcond, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -7586,7 +7586,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine chpev( jobz, uplo, n, ap, w, z, ldz, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -7600,7 +7600,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine zhpev( jobz, uplo, n, ap, w, z, ldz, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -7635,7 +7635,7 @@ module stdlib_linalg_lapack subroutine chpevd( jobz, uplo, n, ap, w, z, ldz, work, lwork,rwork, lrwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldz,liwork,lrwork,lwork,n @@ -7650,7 +7650,7 @@ module stdlib_linalg_lapack subroutine zhpevd( jobz, uplo, n, ap, w, z, ldz, work, lwork,rwork, lrwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldz,liwork,lrwork,lwork,n @@ -7682,7 +7682,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chpgst( itype, uplo, n, ap, bp, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,n @@ -7695,7 +7695,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhpgst( itype, uplo, n, ap, bp, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,n @@ -7725,7 +7725,7 @@ module stdlib_linalg_lapack subroutine chpgv( itype, jobz, uplo, n, ap, bp, w, z, ldz, work,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,ldz,n @@ -7740,7 +7740,7 @@ module stdlib_linalg_lapack subroutine zhpgv( itype, jobz, uplo, n, ap, bp, w, z, ldz, work,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,ldz,n @@ -7778,7 +7778,7 @@ module stdlib_linalg_lapack subroutine chpgvd( itype, jobz, uplo, n, ap, bp, w, z, ldz, work,lwork, rwork, & lrwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: itype,ldz,liwork,lrwork,lwork,n @@ -7793,7 +7793,7 @@ module stdlib_linalg_lapack subroutine zhpgvd( itype, jobz, uplo, n, ap, bp, w, z, ldz, work,lwork, rwork, & lrwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: itype,ldz,liwork,lrwork,lwork,n @@ -7823,7 +7823,7 @@ module stdlib_linalg_lapack pure subroutine chprfs( uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx,ferr, berr, & work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs,ipiv(*) @@ -7839,7 +7839,7 @@ module stdlib_linalg_lapack pure subroutine zhprfs( uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx,ferr, berr, & work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs,ipiv(*) @@ -7876,7 +7876,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chpsv( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -7888,7 +7888,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhpsv( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -7914,7 +7914,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chptrd( uplo, n, ap, d, e, tau, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -7928,7 +7928,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhptrd( uplo, n, ap, d, e, tau, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -7959,7 +7959,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chptrf( uplo, n, ap, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: n @@ -7971,7 +7971,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhptrf( uplo, n, ap, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: n @@ -7997,7 +7997,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chptri( uplo, n, ap, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -8010,7 +8010,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhptri( uplo, n, ap, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -8037,7 +8037,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine chptrs( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs,ipiv(*) @@ -8050,7 +8050,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zhptrs( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs,ipiv(*) @@ -8081,7 +8081,7 @@ module stdlib_linalg_lapack subroutine chsein( side, eigsrc, initv, select, n, h, ldh, w, vl,ldvl, vr, ldvr, & mm, m, work, rwork, ifaill,ifailr, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: eigsrc,initv,side integer(${ik}$), intent(out) :: info,m,ifaill(*),ifailr(*) integer(${ik}$), intent(in) :: ldh,ldvl,ldvr,mm,n @@ -8098,7 +8098,7 @@ module stdlib_linalg_lapack subroutine dhsein( side, eigsrc, initv, select, n, h, ldh, wr, wi,vl, ldvl, vr, & ldvr, mm, m, work, ifaill,ifailr, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: eigsrc,initv,side integer(${ik}$), intent(out) :: info,m,ifaill(*),ifailr(*) integer(${ik}$), intent(in) :: ldh,ldvl,ldvr,mm,n @@ -8114,7 +8114,7 @@ module stdlib_linalg_lapack subroutine shsein( side, eigsrc, initv, select, n, h, ldh, wr, wi,vl, ldvl, vr, & ldvr, mm, m, work, ifaill,ifailr, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: eigsrc,initv,side integer(${ik}$), intent(out) :: info,m,ifaill(*),ifailr(*) integer(${ik}$), intent(in) :: ldh,ldvl,ldvr,mm,n @@ -8130,7 +8130,7 @@ module stdlib_linalg_lapack subroutine zhsein( side, eigsrc, initv, select, n, h, ldh, w, vl,ldvl, vr, ldvr, & mm, m, work, rwork, ifaill,ifailr, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: eigsrc,initv,side integer(${ik}$), intent(out) :: info,m,ifaill(*),ifailr(*) integer(${ik}$), intent(in) :: ldh,ldvl,ldvr,mm,n @@ -8172,7 +8172,7 @@ module stdlib_linalg_lapack pure subroutine chseqr( job, compz, n, ilo, ihi, h, ldh, w, z, ldz,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info character, intent(in) :: compz,job @@ -8186,7 +8186,7 @@ module stdlib_linalg_lapack subroutine dhseqr( job, compz, n, ilo, ihi, h, ldh, wr, wi, z,ldz, work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info character, intent(in) :: compz,job @@ -8200,7 +8200,7 @@ module stdlib_linalg_lapack subroutine shseqr( job, compz, n, ilo, ihi, h, ldh, wr, wi, z,ldz, work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info character, intent(in) :: compz,job @@ -8214,7 +8214,7 @@ module stdlib_linalg_lapack pure subroutine zhseqr( job, compz, n, ilo, ihi, h, ldh, w, z, ldz,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info character, intent(in) :: compz,job @@ -8247,7 +8247,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure logical(lk) function disnan( din ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: din end function disnan #:if not 'ilp64' in ik @@ -8258,7 +8258,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure logical(lk) function sisnan( sin ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: sin end function sisnan #:if not 'ilp64' in ik @@ -8293,7 +8293,7 @@ module stdlib_linalg_lapack subroutine cla_gbamv( trans, m, n, kl, ku, alpha, ab, ldab, x,incx, beta, y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: incx,incy,ldab,m,n,kl,ku,trans complex(sp), intent(in) :: ab(ldab,*),x(*) @@ -8306,7 +8306,7 @@ module stdlib_linalg_lapack subroutine dla_gbamv( trans, m, n, kl, ku, alpha, ab, ldab, x,incx, beta, y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,ab(ldab,*),x(*) integer(${ik}$), intent(in) :: incx,incy,ldab,m,n,kl,ku,trans real(dp), intent(inout) :: y(*) @@ -8318,7 +8318,7 @@ module stdlib_linalg_lapack subroutine sla_gbamv( trans, m, n, kl, ku, alpha, ab, ldab, x,incx, beta, y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,ab(ldab,*),x(*) integer(${ik}$), intent(in) :: incx,incy,ldab,m,n,kl,ku,trans real(sp), intent(inout) :: y(*) @@ -8330,7 +8330,7 @@ module stdlib_linalg_lapack subroutine zla_gbamv( trans, m, n, kl, ku, alpha, ab, ldab, x,incx, beta, y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: incx,incy,ldab,m,n,kl,ku,trans complex(dp), intent(in) :: ab(ldab,*),x(*) @@ -8369,7 +8369,7 @@ module stdlib_linalg_lapack real(dp) function dla_gbrcond( trans, n, kl, ku, ab, ldab,afb, ldafb, ipiv, cmode, & c,info, work, iwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: n,ldab,ldafb,kl,ku,cmode,ipiv(*) integer(${ik}$), intent(out) :: info,iwork(*) @@ -8383,7 +8383,7 @@ module stdlib_linalg_lapack real(sp) function sla_gbrcond( trans, n, kl, ku, ab, ldab, afb, ldafb,ipiv, cmode, & c, info, work, iwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: n,ldab,ldafb,kl,ku,cmode,ipiv(*) integer(${ik}$), intent(out) :: info,iwork(*) @@ -8410,7 +8410,7 @@ module stdlib_linalg_lapack real(sp) function cla_gbrcond_c( trans, n, kl, ku, ab, ldab, afb,ldafb, ipiv, c, & capply, info, work,rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans logical(lk), intent(in) :: capply integer(${ik}$), intent(in) :: n,kl,ku,ldab,ldafb,ipiv(*) @@ -8427,7 +8427,7 @@ module stdlib_linalg_lapack real(dp) function zla_gbrcond_c( trans, n, kl, ku, ab,ldab, afb, ldafb, ipiv,c, & capply, info, work,rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans logical(lk), intent(in) :: capply integer(${ik}$), intent(in) :: n,kl,ku,ldab,ldafb,ipiv(*) @@ -8461,7 +8461,7 @@ module stdlib_linalg_lapack pure real(sp) function cla_gbrpvgrw( n, kl, ku, ncols, ab, ldab, afb,ldafb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,kl,ku,ncols,ldab,ldafb complex(sp), intent(in) :: ab(ldab,*),afb(ldafb,*) end function cla_gbrpvgrw @@ -8472,7 +8472,7 @@ module stdlib_linalg_lapack pure real(dp) function dla_gbrpvgrw( n, kl, ku, ncols, ab,ldab, afb, ldafb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,kl,ku,ncols,ldab,ldafb real(dp), intent(in) :: ab(ldab,*),afb(ldafb,*) end function dla_gbrpvgrw @@ -8483,7 +8483,7 @@ module stdlib_linalg_lapack pure real(sp) function sla_gbrpvgrw( n, kl, ku, ncols, ab, ldab, afb,ldafb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,kl,ku,ncols,ldab,ldafb real(sp), intent(in) :: ab(ldab,*),afb(ldafb,*) end function sla_gbrpvgrw @@ -8494,7 +8494,7 @@ module stdlib_linalg_lapack pure real(dp) function zla_gbrpvgrw( n, kl, ku, ncols, ab,ldab, afb, ldafb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,kl,ku,ncols,ldab,ldafb complex(dp), intent(in) :: ab(ldab,*),afb(ldafb,*) end function zla_gbrpvgrw @@ -8534,7 +8534,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine cla_geamv( trans, m, n, alpha, a, lda, x, incx, beta,y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: incx,incy,lda,m,n,trans complex(sp), intent(in) :: a(lda,*),x(*) @@ -8546,7 +8546,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dla_geamv ( trans, m, n, alpha, a, lda, x, incx, beta,y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n,trans real(dp), intent(inout) :: y(*) @@ -8557,7 +8557,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine sla_geamv( trans, m, n, alpha, a, lda, x, incx, beta,y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,m,n,trans real(sp), intent(inout) :: y(*) @@ -8568,7 +8568,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine zla_geamv( trans, m, n, alpha, a, lda, x, incx, beta,y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: incx,incy,lda,m,n,trans complex(dp), intent(in) :: a(lda,*),x(*) @@ -8607,7 +8607,7 @@ module stdlib_linalg_lapack real(dp) function dla_gercond( trans, n, a, lda, af,ldaf, ipiv, cmode, c,info, & work, iwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: n,lda,ldaf,cmode,ipiv(*) integer(${ik}$), intent(out) :: info,iwork(*) @@ -8621,7 +8621,7 @@ module stdlib_linalg_lapack real(sp) function sla_gercond( trans, n, a, lda, af, ldaf, ipiv,cmode, c, info, & work, iwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: n,lda,ldaf,cmode,ipiv(*) integer(${ik}$), intent(out) :: info,iwork(*) @@ -8648,7 +8648,7 @@ module stdlib_linalg_lapack real(sp) function cla_gercond_c( trans, n, a, lda, af, ldaf, ipiv, c,capply, info, & work, rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans logical(lk), intent(in) :: capply integer(${ik}$), intent(in) :: n,lda,ldaf,ipiv(*) @@ -8665,7 +8665,7 @@ module stdlib_linalg_lapack real(dp) function zla_gercond_c( trans, n, a, lda, af,ldaf, ipiv, c, capply,info, & work, rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans logical(lk), intent(in) :: capply integer(${ik}$), intent(in) :: n,lda,ldaf,ipiv(*) @@ -8698,7 +8698,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(sp) function cla_gerpvgrw( n, ncols, a, lda, af, ldaf ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,ncols,lda,ldaf complex(sp), intent(in) :: a(lda,*),af(ldaf,*) end function cla_gerpvgrw @@ -8708,7 +8708,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(dp) function dla_gerpvgrw( n, ncols, a, lda, af,ldaf ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,ncols,lda,ldaf real(dp), intent(in) :: a(lda,*),af(ldaf,*) end function dla_gerpvgrw @@ -8718,7 +8718,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(sp) function sla_gerpvgrw( n, ncols, a, lda, af, ldaf ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,ncols,lda,ldaf real(sp), intent(in) :: a(lda,*),af(ldaf,*) end function sla_gerpvgrw @@ -8728,7 +8728,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(dp) function zla_gerpvgrw( n, ncols, a, lda, af,ldaf ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,ncols,lda,ldaf complex(dp), intent(in) :: a(lda,*),af(ldaf,*) end function zla_gerpvgrw @@ -8767,7 +8767,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine cla_heamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: incx,incy,lda,n,uplo complex(sp), intent(in) :: a(lda,*),x(*) @@ -8779,7 +8779,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine zla_heamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: incx,incy,lda,n,uplo complex(dp), intent(in) :: a(lda,*),x(*) @@ -8805,7 +8805,7 @@ module stdlib_linalg_lapack real(sp) function cla_hercond_c( uplo, n, a, lda, af, ldaf, ipiv, c,capply, info, & work, rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo logical(lk), intent(in) :: capply integer(${ik}$), intent(in) :: n,lda,ldaf,ipiv(*) @@ -8822,7 +8822,7 @@ module stdlib_linalg_lapack real(dp) function zla_hercond_c( uplo, n, a, lda, af,ldaf, ipiv, c, capply,info, & work, rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo logical(lk), intent(in) :: capply integer(${ik}$), intent(in) :: n,lda,ldaf,ipiv(*) @@ -8856,7 +8856,7 @@ module stdlib_linalg_lapack real(sp) function cla_herpvgrw( uplo, n, info, a, lda, af, ldaf, ipiv,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,info,lda,ldaf,ipiv(*) complex(sp), intent(in) :: a(lda,*),af(ldaf,*) @@ -8869,7 +8869,7 @@ module stdlib_linalg_lapack real(dp) function zla_herpvgrw( uplo, n, info, a, lda, af,ldaf, ipiv, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,info,lda,ldaf,ipiv(*) complex(dp), intent(in) :: a(lda,*),af(ldaf,*) @@ -8897,7 +8897,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cla_lin_berr( n, nz, nrhs, res, ayb, berr ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,nz,nrhs real(sp), intent(in) :: ayb(n,nrhs) real(sp), intent(out) :: berr(nrhs) @@ -8909,7 +8909,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dla_lin_berr ( n, nz, nrhs, res, ayb, berr ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,nz,nrhs real(dp), intent(in) :: ayb(n,nrhs),res(n,nrhs) real(dp), intent(out) :: berr(nrhs) @@ -8920,7 +8920,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sla_lin_berr( n, nz, nrhs, res, ayb, berr ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,nz,nrhs real(sp), intent(in) :: ayb(n,nrhs),res(n,nrhs) real(sp), intent(out) :: berr(nrhs) @@ -8931,7 +8931,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zla_lin_berr( n, nz, nrhs, res, ayb, berr ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,nz,nrhs real(dp), intent(in) :: ayb(n,nrhs) real(dp), intent(out) :: berr(nrhs) @@ -8970,7 +8970,7 @@ module stdlib_linalg_lapack real(dp) function dla_porcond( uplo, n, a, lda, af, ldaf,cmode, c, info, work,& iwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,lda,ldaf,cmode integer(${ik}$), intent(out) :: info,iwork(*) @@ -8984,7 +8984,7 @@ module stdlib_linalg_lapack real(sp) function sla_porcond( uplo, n, a, lda, af, ldaf, cmode, c,info, work, & iwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,lda,ldaf,cmode integer(${ik}$), intent(out) :: info,iwork(*) @@ -9011,7 +9011,7 @@ module stdlib_linalg_lapack real(sp) function cla_porcond_c( uplo, n, a, lda, af, ldaf, c, capply,info, work, & rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo logical(lk), intent(in) :: capply integer(${ik}$), intent(in) :: n,lda,ldaf @@ -9028,7 +9028,7 @@ module stdlib_linalg_lapack real(dp) function zla_porcond_c( uplo, n, a, lda, af,ldaf, c, capply, info,work, & rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo logical(lk), intent(in) :: capply integer(${ik}$), intent(in) :: n,lda,ldaf @@ -9061,7 +9061,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function cla_porpvgrw( uplo, ncols, a, lda, af, ldaf, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: ncols,lda,ldaf complex(sp), intent(in) :: a(lda,*),af(ldaf,*) @@ -9073,7 +9073,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function dla_porpvgrw( uplo, ncols, a, lda, af,ldaf, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: ncols,lda,ldaf real(dp), intent(in) :: a(lda,*),af(ldaf,*) @@ -9085,7 +9085,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function sla_porpvgrw( uplo, ncols, a, lda, af, ldaf, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: ncols,lda,ldaf real(sp), intent(in) :: a(lda,*),af(ldaf,*) @@ -9097,7 +9097,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zla_porpvgrw( uplo, ncols, a, lda, af,ldaf, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: ncols,lda,ldaf complex(dp), intent(in) :: a(lda,*),af(ldaf,*) @@ -9138,7 +9138,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine cla_syamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: incx,incy,lda,n,uplo complex(sp), intent(in) :: a(lda,*),x(*) @@ -9150,7 +9150,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dla_syamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,n,uplo real(dp), intent(inout) :: y(*) @@ -9161,7 +9161,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine sla_syamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,a(lda,*),x(*) integer(${ik}$), intent(in) :: incx,incy,lda,n,uplo real(sp), intent(inout) :: y(*) @@ -9172,7 +9172,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine zla_syamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta integer(${ik}$), intent(in) :: incx,incy,lda,n,uplo complex(dp), intent(in) :: a(lda,*),x(*) @@ -9211,7 +9211,7 @@ module stdlib_linalg_lapack real(dp) function dla_syrcond( uplo, n, a, lda, af, ldaf,ipiv, cmode, c, info, & work,iwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,lda,ldaf,cmode,ipiv(*) integer(${ik}$), intent(out) :: info,iwork(*) @@ -9225,7 +9225,7 @@ module stdlib_linalg_lapack real(sp) function sla_syrcond( uplo, n, a, lda, af, ldaf, ipiv, cmode,c, info, & work, iwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,lda,ldaf,cmode,ipiv(*) integer(${ik}$), intent(out) :: info,iwork(*) @@ -9252,7 +9252,7 @@ module stdlib_linalg_lapack real(sp) function cla_syrcond_c( uplo, n, a, lda, af, ldaf, ipiv, c,capply, info, & work, rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo logical(lk), intent(in) :: capply integer(${ik}$), intent(in) :: n,lda,ldaf,ipiv(*) @@ -9269,7 +9269,7 @@ module stdlib_linalg_lapack real(dp) function zla_syrcond_c( uplo, n, a, lda, af,ldaf, ipiv, c, capply,info, & work, rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo logical(lk), intent(in) :: capply integer(${ik}$), intent(in) :: n,lda,ldaf,ipiv(*) @@ -9303,7 +9303,7 @@ module stdlib_linalg_lapack real(sp) function cla_syrpvgrw( uplo, n, info, a, lda, af, ldaf, ipiv,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,info,lda,ldaf,ipiv(*) complex(sp), intent(in) :: a(lda,*),af(ldaf,*) @@ -9316,7 +9316,7 @@ module stdlib_linalg_lapack real(dp) function dla_syrpvgrw( uplo, n, info, a, lda, af,ldaf, ipiv, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,info,lda,ldaf,ipiv(*) real(dp), intent(in) :: a(lda,*),af(ldaf,*) @@ -9329,7 +9329,7 @@ module stdlib_linalg_lapack real(sp) function sla_syrpvgrw( uplo, n, info, a, lda, af, ldaf, ipiv,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,info,lda,ldaf,ipiv(*) real(sp), intent(in) :: a(lda,*),af(ldaf,*) @@ -9342,7 +9342,7 @@ module stdlib_linalg_lapack real(dp) function zla_syrpvgrw( uplo, n, info, a, lda, af,ldaf, ipiv, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,info,lda,ldaf,ipiv(*) complex(dp), intent(in) :: a(lda,*),af(ldaf,*) @@ -9374,7 +9374,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cla_wwaddw( n, x, y, w ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n complex(sp), intent(inout) :: x(*),y(*) complex(sp), intent(in) :: w(*) @@ -9385,7 +9385,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dla_wwaddw( n, x, y, w ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n real(dp), intent(inout) :: x(*),y(*) real(dp), intent(in) :: w(*) @@ -9396,7 +9396,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sla_wwaddw( n, x, y, w ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n real(sp), intent(inout) :: x(*),y(*) real(sp), intent(in) :: w(*) @@ -9407,7 +9407,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zla_wwaddw( n, x, y, w ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n complex(dp), intent(inout) :: x(*),y(*) complex(dp), intent(in) :: w(*) @@ -9443,7 +9443,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlabad( small, large ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(inout) :: large,small end subroutine dlabad #:if not 'ilp64' in ik @@ -9454,7 +9454,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slabad( small, large ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(inout) :: large,small end subroutine slabad #:if not 'ilp64' in ik @@ -9482,7 +9482,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clabrd( m, n, nb, a, lda, d, e, tauq, taup, x, ldx, y,ldy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: lda,ldx,ldy,m,n,nb real(sp), intent(out) :: d(*),e(*) complex(sp), intent(inout) :: a(lda,*) @@ -9494,7 +9494,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlabrd( m, n, nb, a, lda, d, e, tauq, taup, x, ldx, y,ldy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: lda,ldx,ldy,m,n,nb real(dp), intent(inout) :: a(lda,*) real(dp), intent(out) :: d(*),e(*),taup(*),tauq(*),x(ldx,*),y(ldy,*) @@ -9505,7 +9505,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slabrd( m, n, nb, a, lda, d, e, tauq, taup, x, ldx, y,ldy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: lda,ldx,ldy,m,n,nb real(sp), intent(inout) :: a(lda,*) real(sp), intent(out) :: d(*),e(*),taup(*),tauq(*),x(ldx,*),y(ldy,*) @@ -9516,7 +9516,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlabrd( m, n, nb, a, lda, d, e, tauq, taup, x, ldx, y,ldy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: lda,ldx,ldy,m,n,nb real(dp), intent(out) :: d(*),e(*) complex(dp), intent(inout) :: a(lda,*) @@ -9546,7 +9546,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clacgv( n, x, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n complex(sp), intent(inout) :: x(*) end subroutine clacgv @@ -9556,7 +9556,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlacgv( n, x, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n complex(dp), intent(inout) :: x(*) end subroutine zlacgv @@ -9579,7 +9579,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine clacon( n, v, x, est, kase ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(inout) :: kase integer(${ik}$), intent(in) :: n real(sp), intent(inout) :: est @@ -9592,7 +9592,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dlacon( n, v, x, isgn, est, kase ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(inout) :: kase integer(${ik}$), intent(in) :: n real(dp), intent(inout) :: est,x(*) @@ -9605,7 +9605,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine slacon( n, v, x, isgn, est, kase ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(inout) :: kase integer(${ik}$), intent(in) :: n real(sp), intent(inout) :: est,x(*) @@ -9618,7 +9618,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine zlacon( n, v, x, est, kase ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(inout) :: kase integer(${ik}$), intent(in) :: n real(dp), intent(inout) :: est @@ -9650,7 +9650,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clacpy( uplo, m, n, a, lda, b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,ldb,m,n complex(sp), intent(in) :: a(lda,*) @@ -9662,7 +9662,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlacpy( uplo, m, n, a, lda, b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,ldb,m,n real(dp), intent(in) :: a(lda,*) @@ -9674,7 +9674,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slacpy( uplo, m, n, a, lda, b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,ldb,m,n real(sp), intent(in) :: a(lda,*) @@ -9686,7 +9686,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlacpy( uplo, m, n, a, lda, b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,ldb,m,n complex(dp), intent(in) :: a(lda,*) @@ -9719,7 +9719,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clacrm( m, n, a, lda, b, ldb, c, ldc, rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: lda,ldb,ldc,m,n real(sp), intent(in) :: b(ldb,*) real(sp), intent(out) :: rwork(*) @@ -9732,7 +9732,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlacrm( m, n, a, lda, b, ldb, c, ldc, rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: lda,ldb,ldc,m,n real(dp), intent(in) :: b(ldb,*) real(dp), intent(out) :: rwork(*) @@ -9760,7 +9760,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clacrt( n, cx, incx, cy, incy, c, s ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n complex(sp), intent(in) :: c,s complex(sp), intent(inout) :: cx(*),cy(*) @@ -9771,7 +9771,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlacrt( n, cx, incx, cy, incy, c, s ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n complex(dp), intent(in) :: c,s complex(dp), intent(inout) :: cx(*),cy(*) @@ -9796,7 +9796,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure complex(sp) function cladiv( x, y ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: x,y end function cladiv #:if not 'ilp64' in ik @@ -9807,7 +9807,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure complex(dp) function zladiv( x, y ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: x,y end function zladiv #:if not 'ilp64' in ik @@ -9835,7 +9835,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dladiv( a, b, c, d, p, q ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: a,b,c,d real(dp), intent(out) :: p,q end subroutine dladiv @@ -9847,7 +9847,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sladiv( a, b, c, d, p, q ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: a,b,c,d real(sp), intent(out) :: p,q end subroutine sladiv @@ -9870,7 +9870,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dladiv1( a, b, c, d, p, q ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(inout) :: a real(dp), intent(in) :: b,c,d real(dp), intent(out) :: p,q @@ -9883,7 +9883,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sladiv1( a, b, c, d, p, q ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(inout) :: a real(sp), intent(in) :: b,c,d real(sp), intent(out) :: p,q @@ -9906,7 +9906,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(dp) function dladiv2( a, b, c, d, r, t ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: a,b,c,d,r,t end function dladiv2 #:if not 'ilp64' in ik @@ -9917,7 +9917,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(sp) function sladiv2( a, b, c, d, r, t ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: a,b,c,d,r,t end function sladiv2 #:if not 'ilp64' in ik @@ -9971,7 +9971,7 @@ module stdlib_linalg_lapack pure subroutine dlaebz( ijob, nitmax, n, mmax, minp, nbmin, abstol,reltol, pivmin, & d, e, e2, nval, ab, c, mout,nab, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ijob,minp,mmax,n,nbmin,nitmax integer(${ik}$), intent(out) :: info,mout,iwork(*) real(dp), intent(in) :: abstol,pivmin,reltol,d(*),e(*),e2(*) @@ -9986,7 +9986,7 @@ module stdlib_linalg_lapack pure subroutine slaebz( ijob, nitmax, n, mmax, minp, nbmin, abstol,reltol, pivmin, & d, e, e2, nval, ab, c, mout,nab, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ijob,minp,mmax,n,nbmin,nitmax integer(${ik}$), intent(out) :: info,mout,iwork(*) real(sp), intent(in) :: abstol,pivmin,reltol,d(*),e(*),e2(*) @@ -10016,7 +10016,7 @@ module stdlib_linalg_lapack pure subroutine claed0( qsiz, n, d, e, q, ldq, qstore, ldqs, rwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldq,ldqs,n,qsiz real(sp), intent(inout) :: d(*),e(*) @@ -10031,7 +10031,7 @@ module stdlib_linalg_lapack pure subroutine dlaed0( icompq, qsiz, n, d, e, q, ldq, qstore, ldqs,work, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: icompq,ldq,ldqs,n,qsiz integer(${ik}$), intent(out) :: info,iwork(*) real(dp), intent(inout) :: d(*),e(*),q(ldq,*) @@ -10044,7 +10044,7 @@ module stdlib_linalg_lapack pure subroutine slaed0( icompq, qsiz, n, d, e, q, ldq, qstore, ldqs,work, iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: icompq,ldq,ldqs,n,qsiz integer(${ik}$), intent(out) :: info,iwork(*) real(sp), intent(inout) :: d(*),e(*),q(ldq,*) @@ -10057,7 +10057,7 @@ module stdlib_linalg_lapack pure subroutine zlaed0( qsiz, n, d, e, q, ldq, qstore, ldqs, rwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldq,ldqs,n,qsiz real(dp), intent(inout) :: d(*),e(*) @@ -10115,7 +10115,7 @@ module stdlib_linalg_lapack pure subroutine dlaed1( n, d, q, ldq, indxq, rho, cutpnt, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: cutpnt,ldq,n integer(${ik}$), intent(out) :: info,iwork(*) real(dp), intent(inout) :: rho,d(*),q(ldq,*) @@ -10129,7 +10129,7 @@ module stdlib_linalg_lapack pure subroutine slaed1( n, d, q, ldq, indxq, rho, cutpnt, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: cutpnt,ldq,n integer(${ik}$), intent(out) :: info,iwork(*) real(sp), intent(inout) :: rho,d(*),q(ldq,*) @@ -10163,7 +10163,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaed4( n, i, d, z, delta, rho, dlam, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i,n integer(${ik}$), intent(out) :: info real(dp), intent(out) :: dlam,delta(*) @@ -10175,7 +10175,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaed4( n, i, d, z, delta, rho, dlam, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i,n integer(${ik}$), intent(out) :: info real(sp), intent(out) :: dlam,delta(*) @@ -10205,7 +10205,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaed5( i, d, z, delta, rho, dlam ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i real(dp), intent(out) :: dlam,delta(2) real(dp), intent(in) :: rho,d(2),z(2) @@ -10216,7 +10216,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaed5( i, d, z, delta, rho, dlam ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i real(sp), intent(out) :: dlam,delta(2) real(sp), intent(in) :: rho,d(2),z(2) @@ -10249,7 +10249,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaed6( kniter, orgati, rho, d, z, finit, tau, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: orgati integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kniter @@ -10262,7 +10262,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaed6( kniter, orgati, rho, d, z, finit, tau, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: orgati integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kniter @@ -10312,7 +10312,7 @@ module stdlib_linalg_lapack indxq, qstore, qptr, prmptr, perm,givptr, givcol, givnum, work, rwork, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: curlvl,curpbm,cutpnt,ldq,n,qsiz,tlvls integer(${ik}$), intent(out) :: info,indxq(*),iwork(*) real(sp), intent(inout) :: rho,d(*),givnum(2,*),qstore(*) @@ -10330,7 +10330,7 @@ module stdlib_linalg_lapack rho, cutpnt, qstore, qptr, prmptr,perm, givptr, givcol, givnum, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: curlvl,curpbm,cutpnt,icompq,ldq,n,qsiz,& tlvls integer(${ik}$), intent(out) :: info,indxq(*),iwork(*) @@ -10347,7 +10347,7 @@ module stdlib_linalg_lapack rho, cutpnt, qstore, qptr, prmptr,perm, givptr, givcol, givnum, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: curlvl,curpbm,cutpnt,icompq,ldq,n,qsiz,& tlvls integer(${ik}$), intent(out) :: info,indxq(*),iwork(*) @@ -10364,7 +10364,7 @@ module stdlib_linalg_lapack indxq, qstore, qptr, prmptr, perm,givptr, givcol, givnum, work, rwork, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: curlvl,curpbm,cutpnt,ldq,n,qsiz,tlvls integer(${ik}$), intent(out) :: info,indxq(*),iwork(*) real(dp), intent(inout) :: rho,d(*),givnum(2,*),qstore(*) @@ -10404,7 +10404,7 @@ module stdlib_linalg_lapack pure subroutine claed8( k, n, qsiz, q, ldq, d, rho, cutpnt, z, dlamda,q2, ldq2, w, & indxp, indx, indxq, perm, givptr,givcol, givnum, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: cutpnt,ldq,ldq2,n,qsiz integer(${ik}$), intent(out) :: givptr,info,k,givcol(2,*),indx(*),indxp(*),perm(& *) @@ -10421,7 +10421,7 @@ module stdlib_linalg_lapack pure subroutine dlaed8( icompq, k, n, qsiz, d, q, ldq, indxq, rho,cutpnt, z, & dlamda, q2, ldq2, w, perm, givptr,givcol, givnum, indxp, indx, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: cutpnt,icompq,ldq,ldq2,n,qsiz integer(${ik}$), intent(out) :: givptr,info,k,givcol(2,*),indx(*),indxp(*),perm(& *) @@ -10436,7 +10436,7 @@ module stdlib_linalg_lapack pure subroutine slaed8( icompq, k, n, qsiz, d, q, ldq, indxq, rho,cutpnt, z, & dlamda, q2, ldq2, w, perm, givptr,givcol, givnum, indxp, indx, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: cutpnt,icompq,ldq,ldq2,n,qsiz integer(${ik}$), intent(out) :: givptr,info,k,givcol(2,*),indx(*),indxp(*),perm(& *) @@ -10451,7 +10451,7 @@ module stdlib_linalg_lapack pure subroutine zlaed8( k, n, qsiz, q, ldq, d, rho, cutpnt, z, dlamda,q2, ldq2, w, & indxp, indx, indxq, perm, givptr,givcol, givnum, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: cutpnt,ldq,ldq2,n,qsiz integer(${ik}$), intent(out) :: givptr,info,k,givcol(2,*),indx(*),indxp(*),perm(& *) @@ -10489,7 +10489,7 @@ module stdlib_linalg_lapack pure subroutine dlaed9( k, kstart, kstop, n, d, q, ldq, rho, dlamda, w,s, lds, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,kstart,kstop,ldq,lds,n real(dp), intent(in) :: rho @@ -10503,7 +10503,7 @@ module stdlib_linalg_lapack pure subroutine slaed9( k, kstart, kstop, n, d, q, ldq, rho, dlamda, w,s, lds, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,kstart,kstop,ldq,lds,n real(sp), intent(in) :: rho @@ -10531,7 +10531,7 @@ module stdlib_linalg_lapack pure subroutine dlaeda( n, tlvls, curlvl, curpbm, prmptr, perm, givptr,givcol, & givnum, q, qptr, z, ztemp, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: curlvl,curpbm,n,tlvls,givcol(2,*),givptr(*),perm(& *),prmptr(*),qptr(*) integer(${ik}$), intent(out) :: info @@ -10545,7 +10545,7 @@ module stdlib_linalg_lapack pure subroutine slaeda( n, tlvls, curlvl, curpbm, prmptr, perm, givptr,givcol, & givnum, q, qptr, z, ztemp, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: curlvl,curpbm,n,tlvls,givcol(2,*),givptr(*),perm(& *),prmptr(*),qptr(*) integer(${ik}$), intent(out) :: info @@ -10573,7 +10573,7 @@ module stdlib_linalg_lapack pure subroutine claein( rightv, noinit, n, h, ldh, w, v, b, ldb, rwork,eps3, & smlnum, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: noinit,rightv integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldh,n @@ -10590,7 +10590,7 @@ module stdlib_linalg_lapack pure subroutine dlaein( rightv, noinit, n, h, ldh, wr, wi, vr, vi, b,ldb, work, & eps3, smlnum, bignum, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: noinit,rightv integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldh,n @@ -10605,7 +10605,7 @@ module stdlib_linalg_lapack pure subroutine slaein( rightv, noinit, n, h, ldh, wr, wi, vr, vi, b,ldb, work, & eps3, smlnum, bignum, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: noinit,rightv integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldh,n @@ -10620,7 +10620,7 @@ module stdlib_linalg_lapack pure subroutine zlaein( rightv, noinit, n, h, ldh, w, v, b, ldb, rwork,eps3, & smlnum, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: noinit,rightv integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldh,n @@ -10662,7 +10662,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claesy( a, b, c, rt1, rt2, evscal, cs1, sn1 ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: a,b,c complex(sp), intent(out) :: cs1,evscal,rt1,rt2,sn1 end subroutine claesy @@ -10674,7 +10674,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaesy( a, b, c, rt1, rt2, evscal, cs1, sn1 ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: a,b,c complex(dp), intent(out) :: cs1,evscal,rt1,rt2,sn1 end subroutine zlaesy @@ -10703,7 +10703,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dlaexc( wantq, n, t, ldt, q, ldq, j1, n1, n2, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantq integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: j1,ldq,ldt,n,n1,n2 @@ -10716,7 +10716,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine slaexc( wantq, n, t, ldt, q, ldq, j1, n1, n2, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantq integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: j1,ldq,ldt,n,n1,n2 @@ -10752,7 +10752,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlagtf( n, a, lambda, b, c, tol, d, in, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,in(*) integer(${ik}$), intent(in) :: n real(dp), intent(in) :: lambda,tol @@ -10765,7 +10765,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slagtf( n, a, lambda, b, c, tol, d, in, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,in(*) integer(${ik}$), intent(in) :: n real(sp), intent(in) :: lambda,tol @@ -10795,7 +10795,7 @@ module stdlib_linalg_lapack pure subroutine clagtm( trans, n, nrhs, alpha, dl, d, du, x, ldx, beta,b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs real(sp), intent(in) :: alpha,beta @@ -10809,7 +10809,7 @@ module stdlib_linalg_lapack pure subroutine dlagtm( trans, n, nrhs, alpha, dl, d, du, x, ldx, beta,b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs real(dp), intent(in) :: alpha,beta,d(*),dl(*),du(*),x(ldx,*) @@ -10822,7 +10822,7 @@ module stdlib_linalg_lapack pure subroutine slagtm( trans, n, nrhs, alpha, dl, d, du, x, ldx, beta,b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs real(sp), intent(in) :: alpha,beta,d(*),dl(*),du(*),x(ldx,*) @@ -10835,7 +10835,7 @@ module stdlib_linalg_lapack pure subroutine zlagtm( trans, n, nrhs, alpha, dl, d, du, x, ldx, beta,b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs real(dp), intent(in) :: alpha,beta @@ -10874,7 +10874,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlagts( job, n, a, b, c, d, in, y, tol, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: job,n,in(*) real(dp), intent(inout) :: tol,y(*) @@ -10886,7 +10886,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slagts( job, n, a, b, c, d, in, y, tol, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: job,n,in(*) real(sp), intent(inout) :: tol,y(*) @@ -10922,7 +10922,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clahef( uplo, n, nb, kb, a, lda, ipiv, w, ldw, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -10935,7 +10935,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlahef( uplo, n, nb, kb, a, lda, ipiv, w, ldw, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -10969,7 +10969,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clahef_aa( uplo, j1, m, nb, a, lda, ipiv,h, ldh, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: m,nb,j1,lda,ldh integer(${ik}$), intent(out) :: ipiv(*) @@ -10982,7 +10982,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlahef_aa( uplo, j1, m, nb, a, lda, ipiv,h, ldh, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: m,nb,j1,lda,ldh integer(${ik}$), intent(out) :: ipiv(*) @@ -11018,7 +11018,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clahef_rk( uplo, n, nb, kb, a, lda, e, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -11031,7 +11031,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlahef_rk( uplo, n, nb, kb, a, lda, e, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -11068,7 +11068,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clahef_rook( uplo, n, nb, kb, a, lda, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -11081,7 +11081,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlahef_rook( uplo, n, nb, kb, a, lda, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -11110,7 +11110,7 @@ module stdlib_linalg_lapack pure subroutine clahqr( wantt, wantz, n, ilo, ihi, h, ldh, w, iloz,ihiz, z, ldz, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -11124,7 +11124,7 @@ module stdlib_linalg_lapack pure subroutine dlahqr( wantt, wantz, n, ilo, ihi, h, ldh, wr, wi,iloz, ihiz, z, & ldz, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -11138,7 +11138,7 @@ module stdlib_linalg_lapack pure subroutine slahqr( wantt, wantz, n, ilo, ihi, h, ldh, wr, wi,iloz, ihiz, z, & ldz, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -11152,7 +11152,7 @@ module stdlib_linalg_lapack pure subroutine zlahqr( wantt, wantz, n, ilo, ihi, h, ldh, w, iloz,ihiz, z, ldz, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -11202,7 +11202,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claic1( job, j, x, sest, w, gamma, sestpr, s, c ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: j,job real(sp), intent(in) :: sest real(sp), intent(out) :: sestpr @@ -11215,7 +11215,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaic1( job, j, x, sest, w, gamma, sestpr, s, c ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: j,job real(dp), intent(out) :: c,s,sestpr real(dp), intent(in) :: gamma,sest,w(j),x(j) @@ -11226,7 +11226,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaic1( job, j, x, sest, w, gamma, sestpr, s, c ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: j,job real(sp), intent(out) :: c,s,sestpr real(sp), intent(in) :: gamma,sest,w(j),x(j) @@ -11237,7 +11237,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaic1( job, j, x, sest, w, gamma, sestpr, s, c ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: j,job real(dp), intent(in) :: sest real(dp), intent(out) :: sestpr @@ -11278,7 +11278,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure logical(lk) function dlaisnan( din1, din2 ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: din1,din2 end function dlaisnan #:if not 'ilp64' in ik @@ -11289,7 +11289,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure logical(lk) function slaisnan( sin1, sin2 ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: sin1,sin2 end function slaisnan #:if not 'ilp64' in ik @@ -11331,7 +11331,7 @@ module stdlib_linalg_lapack pure subroutine clals0( icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx,perm, givptr, & givcol, ldgcol, givnum, ldgnum,poles, difl, difr, z, k, c, s, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: givptr,icompq,k,ldb,ldbx,ldgcol,ldgnum,nl,nr,nrhs,& sqre,givcol(ldgcol,*),perm(*) integer(${ik}$), intent(out) :: info @@ -11348,7 +11348,7 @@ module stdlib_linalg_lapack pure subroutine dlals0( icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx,perm, givptr, & givcol, ldgcol, givnum, ldgnum,poles, difl, difr, z, k, c, s, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: givptr,icompq,k,ldb,ldbx,ldgcol,ldgnum,nl,nr,nrhs,& sqre,givcol(ldgcol,*),perm(*) integer(${ik}$), intent(out) :: info @@ -11364,7 +11364,7 @@ module stdlib_linalg_lapack pure subroutine slals0( icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx,perm, givptr, & givcol, ldgcol, givnum, ldgnum,poles, difl, difr, z, k, c, s, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: givptr,icompq,k,ldb,ldbx,ldgcol,ldgnum,nl,nr,nrhs,& sqre,givcol(ldgcol,*),perm(*) integer(${ik}$), intent(out) :: info @@ -11380,7 +11380,7 @@ module stdlib_linalg_lapack pure subroutine zlals0( icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx,perm, givptr, & givcol, ldgcol, givnum, ldgnum,poles, difl, difr, z, k, c, s, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: givptr,icompq,k,ldb,ldbx,ldgcol,ldgnum,nl,nr,nrhs,& sqre,givcol(ldgcol,*),perm(*) integer(${ik}$), intent(out) :: info @@ -11424,7 +11424,7 @@ module stdlib_linalg_lapack difl, difr, z, poles, givptr,givcol, ldgcol, perm, givnum, c, s, rwork,iwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: icompq,ldb,ldbx,ldgcol,ldu,n,nrhs,smlsiz,givcol(& ldgcol,*),givptr(*),k(*),perm(ldgcol,*) integer(${ik}$), intent(out) :: info,iwork(*) @@ -11442,7 +11442,7 @@ module stdlib_linalg_lapack difl, difr, z, poles, givptr,givcol, ldgcol, perm, givnum, c, s, work,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: icompq,ldb,ldbx,ldgcol,ldu,n,nrhs,smlsiz,givcol(& ldgcol,*),givptr(*),k(*),perm(ldgcol,*) integer(${ik}$), intent(out) :: info,iwork(*) @@ -11459,7 +11459,7 @@ module stdlib_linalg_lapack difl, difr, z, poles, givptr,givcol, ldgcol, perm, givnum, c, s, work,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: icompq,ldb,ldbx,ldgcol,ldu,n,nrhs,smlsiz,givcol(& ldgcol,*),givptr(*),k(*),perm(ldgcol,*) integer(${ik}$), intent(out) :: info,iwork(*) @@ -11476,7 +11476,7 @@ module stdlib_linalg_lapack difl, difr, z, poles, givptr,givcol, ldgcol, perm, givnum, c, s, rwork,iwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: icompq,ldb,ldbx,ldgcol,ldu,n,nrhs,smlsiz,givcol(& ldgcol,*),givptr(*),k(*),perm(ldgcol,*) integer(${ik}$), intent(out) :: info,iwork(*) @@ -11524,7 +11524,7 @@ module stdlib_linalg_lapack pure subroutine clalsd( uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond,rank, work, & rwork, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,rank,iwork(*) integer(${ik}$), intent(in) :: ldb,n,nrhs,smlsiz @@ -11541,7 +11541,7 @@ module stdlib_linalg_lapack pure subroutine dlalsd( uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond,rank, work, & iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,rank,iwork(*) integer(${ik}$), intent(in) :: ldb,n,nrhs,smlsiz @@ -11556,7 +11556,7 @@ module stdlib_linalg_lapack pure subroutine slalsd( uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond,rank, work, & iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,rank,iwork(*) integer(${ik}$), intent(in) :: ldb,n,nrhs,smlsiz @@ -11571,7 +11571,7 @@ module stdlib_linalg_lapack pure subroutine zlalsd( uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond,rank, work, & rwork, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,rank,iwork(*) integer(${ik}$), intent(in) :: ldb,n,nrhs,smlsiz @@ -11607,7 +11607,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlamrg( n1, n2, a, dtrd1, dtrd2, index ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: dtrd1,dtrd2,n1,n2 integer(${ik}$), intent(out) :: index(*) real(dp), intent(in) :: a(*) @@ -11618,7 +11618,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slamrg( n1, n2, a, strd1, strd2, index ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n1,n2,strd1,strd2 integer(${ik}$), intent(out) :: index(*) real(sp), intent(in) :: a(*) @@ -11648,7 +11648,7 @@ module stdlib_linalg_lapack pure subroutine clamswlq( side, trans, m, n, k, mb, nb, a, lda, t,ldt, c, ldc, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,mb,nb,ldt,lwork,ldc @@ -11663,7 +11663,7 @@ module stdlib_linalg_lapack pure subroutine dlamswlq( side, trans, m, n, k, mb, nb, a, lda, t,ldt, c, ldc, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,mb,nb,ldt,lwork,ldc @@ -11678,7 +11678,7 @@ module stdlib_linalg_lapack pure subroutine slamswlq( side, trans, m, n, k, mb, nb, a, lda, t,ldt, c, ldc, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,mb,nb,ldt,lwork,ldc @@ -11693,7 +11693,7 @@ module stdlib_linalg_lapack pure subroutine zlamswlq( side, trans, m, n, k, mb, nb, a, lda, t,ldt, c, ldc, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,mb,nb,ldt,lwork,ldc @@ -11732,7 +11732,7 @@ module stdlib_linalg_lapack pure subroutine clamtsqr( side, trans, m, n, k, mb, nb, a, lda, t,ldt, c, ldc, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,mb,nb,ldt,lwork,ldc @@ -11747,7 +11747,7 @@ module stdlib_linalg_lapack pure subroutine dlamtsqr( side, trans, m, n, k, mb, nb, a, lda, t,ldt, c, ldc, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,mb,nb,ldt,lwork,ldc @@ -11762,7 +11762,7 @@ module stdlib_linalg_lapack pure subroutine slamtsqr( side, trans, m, n, k, mb, nb, a, lda, t,ldt, c, ldc, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,mb,nb,ldt,lwork,ldc @@ -11777,7 +11777,7 @@ module stdlib_linalg_lapack pure subroutine zlamtsqr( side, trans, m, n, k, mb, nb, a, lda, t,ldt, c, ldc, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,k,mb,nb,ldt,lwork,ldc @@ -11823,7 +11823,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure integer(${ik}$) function dlaneg( n, d, lld, sigma, pivmin, r ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,r real(dp), intent(in) :: pivmin,sigma,d(*),lld(*) end function dlaneg @@ -11833,7 +11833,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure integer(${ik}$) function slaneg( n, d, lld, sigma, pivmin, r ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n,r real(sp), intent(in) :: pivmin,sigma,d(*),lld(*) end function slaneg @@ -11857,7 +11857,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clangb( norm, n, kl, ku, ab, ldab,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: kl,ku,ldab,n real(sp), intent(out) :: work(*) @@ -11869,7 +11869,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function dlangb( norm, n, kl, ku, ab, ldab,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: kl,ku,ldab,n real(dp), intent(in) :: ab(ldab,*) @@ -11881,7 +11881,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function slangb( norm, n, kl, ku, ab, ldab,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: kl,ku,ldab,n real(sp), intent(in) :: ab(ldab,*) @@ -11893,7 +11893,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlangb( norm, n, kl, ku, ab, ldab,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: kl,ku,ldab,n real(dp), intent(out) :: work(*) @@ -11925,7 +11925,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clange( norm, m, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(out) :: work(*) @@ -11937,7 +11937,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function dlange( norm, m, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(in) :: a(lda,*) @@ -11949,7 +11949,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function slange( norm, m, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(in) :: a(lda,*) @@ -11961,7 +11961,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlange( norm, m, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(out) :: work(*) @@ -11993,7 +11993,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(sp) function clangt( norm, n, dl, d, du ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: n complex(sp), intent(in) :: d(*),dl(*),du(*) @@ -12004,7 +12004,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(dp) function dlangt( norm, n, dl, d, du ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: n real(dp), intent(in) :: d(*),dl(*),du(*) @@ -12015,7 +12015,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(sp) function slangt( norm, n, dl, d, du ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: n real(sp), intent(in) :: d(*),dl(*),du(*) @@ -12026,7 +12026,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(dp) function zlangt( norm, n, dl, d, du ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: n complex(dp), intent(in) :: d(*),dl(*),du(*) @@ -12057,7 +12057,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clanhb( norm, uplo, n, k, ab, ldab,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: k,ldab,n real(sp), intent(out) :: work(*) @@ -12069,7 +12069,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlanhb( norm, uplo, n, k, ab, ldab,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: k,ldab,n real(dp), intent(out) :: work(*) @@ -12095,7 +12095,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clanhe( norm, uplo, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: lda,n real(sp), intent(out) :: work(*) @@ -12107,7 +12107,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlanhe( norm, uplo, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: lda,n real(dp), intent(out) :: work(*) @@ -12133,7 +12133,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clanhf( norm, transr, uplo, n, a, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,transr,uplo integer(${ik}$), intent(in) :: n real(sp), intent(out) :: work(0:*) @@ -12145,7 +12145,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlanhf( norm, transr, uplo, n, a, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,transr,uplo integer(${ik}$), intent(in) :: n real(dp), intent(out) :: work(0:*) @@ -12171,7 +12171,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clanhp( norm, uplo, n, ap, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: n real(sp), intent(out) :: work(*) @@ -12183,7 +12183,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlanhp( norm, uplo, n, ap, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: n real(dp), intent(out) :: work(*) @@ -12209,7 +12209,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clanhs( norm, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: lda,n real(sp), intent(out) :: work(*) @@ -12221,7 +12221,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function dlanhs( norm, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: lda,n real(dp), intent(in) :: a(lda,*) @@ -12233,7 +12233,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function slanhs( norm, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: lda,n real(sp), intent(in) :: a(lda,*) @@ -12245,7 +12245,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlanhs( norm, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: lda,n real(dp), intent(out) :: work(*) @@ -12277,7 +12277,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(sp) function clanht( norm, n, d, e ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: n real(sp), intent(in) :: d(*) @@ -12289,7 +12289,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(dp) function zlanht( norm, n, d, e ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: n real(dp), intent(in) :: d(*) @@ -12315,7 +12315,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clansb( norm, uplo, n, k, ab, ldab,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: k,ldab,n real(sp), intent(out) :: work(*) @@ -12327,7 +12327,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function dlansb( norm, uplo, n, k, ab, ldab,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: k,ldab,n real(dp), intent(in) :: ab(ldab,*) @@ -12339,7 +12339,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function slansb( norm, uplo, n, k, ab, ldab,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: k,ldab,n real(sp), intent(in) :: ab(ldab,*) @@ -12351,7 +12351,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlansb( norm, uplo, n, k, ab, ldab,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: k,ldab,n real(dp), intent(out) :: work(*) @@ -12383,7 +12383,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function dlansf( norm, transr, uplo, n, a, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,transr,uplo integer(${ik}$), intent(in) :: n real(dp), intent(in) :: a(0:*) @@ -12395,7 +12395,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function slansf( norm, transr, uplo, n, a, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,transr,uplo integer(${ik}$), intent(in) :: n real(sp), intent(in) :: a(0:*) @@ -12421,7 +12421,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clansp( norm, uplo, n, ap, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: n real(sp), intent(out) :: work(*) @@ -12433,7 +12433,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function dlansp( norm, uplo, n, ap, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: n real(dp), intent(in) :: ap(*) @@ -12445,7 +12445,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function slansp( norm, uplo, n, ap, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: n real(sp), intent(in) :: ap(*) @@ -12457,7 +12457,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlansp( norm, uplo, n, ap, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: n real(dp), intent(out) :: work(*) @@ -12489,7 +12489,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(dp) function dlanst( norm, n, d, e ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: n real(dp), intent(in) :: d(*),e(*) @@ -12500,7 +12500,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure real(sp) function slanst( norm, n, d, e ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm integer(${ik}$), intent(in) :: n real(sp), intent(in) :: d(*),e(*) @@ -12525,7 +12525,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clansy( norm, uplo, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: lda,n real(sp), intent(out) :: work(*) @@ -12537,7 +12537,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function dlansy( norm, uplo, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: lda,n real(dp), intent(in) :: a(lda,*) @@ -12549,7 +12549,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function slansy( norm, uplo, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: lda,n real(sp), intent(in) :: a(lda,*) @@ -12561,7 +12561,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlansy( norm, uplo, n, a, lda, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: norm,uplo integer(${ik}$), intent(in) :: lda,n real(dp), intent(out) :: work(*) @@ -12594,7 +12594,7 @@ module stdlib_linalg_lapack real(sp) function clantb( norm, uplo, diag, n, k, ab,ldab, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: k,ldab,n real(sp), intent(out) :: work(*) @@ -12606,7 +12606,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function dlantb( norm, uplo, diag, n, k, ab,ldab, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: k,ldab,n real(dp), intent(in) :: ab(ldab,*) @@ -12619,7 +12619,7 @@ module stdlib_linalg_lapack real(sp) function slantb( norm, uplo, diag, n, k, ab,ldab, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: k,ldab,n real(sp), intent(in) :: ab(ldab,*) @@ -12631,7 +12631,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlantb( norm, uplo, diag, n, k, ab,ldab, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: k,ldab,n real(dp), intent(out) :: work(*) @@ -12663,7 +12663,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clantp( norm, uplo, diag, n, ap, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: n real(sp), intent(out) :: work(*) @@ -12675,7 +12675,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function dlantp( norm, uplo, diag, n, ap, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: n real(dp), intent(in) :: ap(*) @@ -12687,7 +12687,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function slantp( norm, uplo, diag, n, ap, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: n real(sp), intent(in) :: ap(*) @@ -12699,7 +12699,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlantp( norm, uplo, diag, n, ap, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: n real(dp), intent(out) :: work(*) @@ -12731,7 +12731,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function clantr( norm, uplo, diag, m, n, a, lda,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(out) :: work(*) @@ -12743,7 +12743,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function dlantr( norm, uplo, diag, m, n, a, lda,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(in) :: a(lda,*) @@ -12755,7 +12755,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(sp) function slantr( norm, uplo, diag, m, n, a, lda,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(in) :: a(lda,*) @@ -12767,7 +12767,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ real(dp) function zlantr( norm, uplo, diag, m, n, a, lda,work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(out) :: work(*) @@ -12829,7 +12829,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaorhr_col_getrfnp( m, n, a, lda, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(inout) :: a(lda,*) @@ -12841,7 +12841,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaorhr_col_getrfnp( m, n, a, lda, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(inout) :: a(lda,*) @@ -12912,7 +12912,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine dlaorhr_col_getrfnp2( m, n, a, lda, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(inout) :: a(lda,*) @@ -12924,7 +12924,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine slaorhr_col_getrfnp2( m, n, a, lda, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(inout) :: a(lda,*) @@ -12953,7 +12953,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clapll( n, x, incx, y, incy, ssmin ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(sp), intent(out) :: ssmin complex(sp), intent(inout) :: x(*),y(*) @@ -12964,7 +12964,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlapll( n, x, incx, y, incy, ssmin ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(dp), intent(out) :: ssmin real(dp), intent(inout) :: x(*),y(*) @@ -12975,7 +12975,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slapll( n, x, incx, y, incy, ssmin ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(sp), intent(out) :: ssmin real(sp), intent(inout) :: x(*),y(*) @@ -12986,7 +12986,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlapll( n, x, incx, y, incy, ssmin ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(dp), intent(out) :: ssmin complex(dp), intent(inout) :: x(*),y(*) @@ -13020,7 +13020,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clapmr( forwrd, m, n, x, ldx, k ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: forwrd integer(${ik}$), intent(in) :: ldx,m,n integer(${ik}$), intent(inout) :: k(*) @@ -13032,7 +13032,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlapmr( forwrd, m, n, x, ldx, k ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: forwrd integer(${ik}$), intent(in) :: ldx,m,n integer(${ik}$), intent(inout) :: k(*) @@ -13044,7 +13044,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slapmr( forwrd, m, n, x, ldx, k ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: forwrd integer(${ik}$), intent(in) :: ldx,m,n integer(${ik}$), intent(inout) :: k(*) @@ -13056,7 +13056,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlapmr( forwrd, m, n, x, ldx, k ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: forwrd integer(${ik}$), intent(in) :: ldx,m,n integer(${ik}$), intent(inout) :: k(*) @@ -13091,7 +13091,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clapmt( forwrd, m, n, x, ldx, k ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: forwrd integer(${ik}$), intent(in) :: ldx,m,n integer(${ik}$), intent(inout) :: k(*) @@ -13103,7 +13103,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlapmt( forwrd, m, n, x, ldx, k ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: forwrd integer(${ik}$), intent(in) :: ldx,m,n integer(${ik}$), intent(inout) :: k(*) @@ -13115,7 +13115,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slapmt( forwrd, m, n, x, ldx, k ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: forwrd integer(${ik}$), intent(in) :: ldx,m,n integer(${ik}$), intent(inout) :: k(*) @@ -13127,7 +13127,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlapmt( forwrd, m, n, x, ldx, k ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: forwrd integer(${ik}$), intent(in) :: ldx,m,n integer(${ik}$), intent(inout) :: k(*) @@ -13160,7 +13160,7 @@ module stdlib_linalg_lapack pure subroutine claqgb( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(sp), intent(in) :: amax,colcnd,rowcnd,c(*),r(*) @@ -13173,7 +13173,7 @@ module stdlib_linalg_lapack pure subroutine dlaqgb( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(dp), intent(in) :: amax,colcnd,rowcnd,c(*),r(*) @@ -13186,7 +13186,7 @@ module stdlib_linalg_lapack pure subroutine slaqgb( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(sp), intent(in) :: amax,colcnd,rowcnd,c(*),r(*) @@ -13199,7 +13199,7 @@ module stdlib_linalg_lapack pure subroutine zlaqgb( m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd,amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed integer(${ik}$), intent(in) :: kl,ku,ldab,m,n real(dp), intent(in) :: amax,colcnd,rowcnd,c(*),r(*) @@ -13230,7 +13230,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claqge( m, n, a, lda, r, c, rowcnd, colcnd, amax,equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(in) :: amax,colcnd,rowcnd,c(*),r(*) @@ -13242,7 +13242,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaqge( m, n, a, lda, r, c, rowcnd, colcnd, amax,equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(in) :: amax,colcnd,rowcnd,c(*),r(*) @@ -13254,7 +13254,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaqge( m, n, a, lda, r, c, rowcnd, colcnd, amax,equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(in) :: amax,colcnd,rowcnd,c(*),r(*) @@ -13266,7 +13266,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaqge( m, n, a, lda, r, c, rowcnd, colcnd, amax,equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(in) :: amax,colcnd,rowcnd,c(*),r(*) @@ -13297,7 +13297,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claqhb( uplo, n, kd, ab, ldab, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: kd,ldab,n @@ -13311,7 +13311,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaqhb( uplo, n, kd, ab, ldab, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: kd,ldab,n @@ -13338,7 +13338,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claqhe( uplo, n, a, lda, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,n @@ -13351,7 +13351,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaqhe( uplo, n, a, lda, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,n @@ -13377,7 +13377,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claqhp( uplo, n, ap, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: n @@ -13390,7 +13390,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaqhp( uplo, n, ap, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: n @@ -13423,7 +13423,7 @@ module stdlib_linalg_lapack pure subroutine claqps( m, n, offset, nb, kb, a, lda, jpvt, tau, vn1,vn2, auxv, f, & ldf ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: kb integer(${ik}$), intent(in) :: lda,ldf,m,n,nb,offset integer(${ik}$), intent(inout) :: jpvt(*) @@ -13438,7 +13438,7 @@ module stdlib_linalg_lapack pure subroutine dlaqps( m, n, offset, nb, kb, a, lda, jpvt, tau, vn1,vn2, auxv, f, & ldf ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: kb integer(${ik}$), intent(in) :: lda,ldf,m,n,nb,offset integer(${ik}$), intent(inout) :: jpvt(*) @@ -13452,7 +13452,7 @@ module stdlib_linalg_lapack pure subroutine slaqps( m, n, offset, nb, kb, a, lda, jpvt, tau, vn1,vn2, auxv, f, & ldf ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: kb integer(${ik}$), intent(in) :: lda,ldf,m,n,nb,offset integer(${ik}$), intent(inout) :: jpvt(*) @@ -13466,7 +13466,7 @@ module stdlib_linalg_lapack pure subroutine zlaqps( m, n, offset, nb, kb, a, lda, jpvt, tau, vn1,vn2, auxv, f, & ldf ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: kb integer(${ik}$), intent(in) :: lda,ldf,m,n,nb,offset integer(${ik}$), intent(inout) :: jpvt(*) @@ -13506,7 +13506,7 @@ module stdlib_linalg_lapack pure subroutine claqr0( wantt, wantz, n, ilo, ihi, h, ldh, w, iloz,ihiz, z, ldz, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -13520,7 +13520,7 @@ module stdlib_linalg_lapack subroutine dlaqr0( wantt, wantz, n, ilo, ihi, h, ldh, wr, wi,iloz, ihiz, z, ldz, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -13534,7 +13534,7 @@ module stdlib_linalg_lapack subroutine slaqr0( wantt, wantz, n, ilo, ihi, h, ldh, wr, wi,iloz, ihiz, z, ldz, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -13548,7 +13548,7 @@ module stdlib_linalg_lapack pure subroutine zlaqr0( wantt, wantz, n, ilo, ihi, h, ldh, w, iloz,ihiz, z, ldz, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -13584,7 +13584,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claqr1( n, h, ldh, s1, s2, v ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(sp), intent(in) :: s1,s2,h(ldh,*) integer(${ik}$), intent(in) :: ldh,n complex(sp), intent(out) :: v(*) @@ -13595,7 +13595,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaqr1( n, h, ldh, sr1, si1, sr2, si2, v ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: si1,si2,sr1,sr2,h(ldh,*) integer(${ik}$), intent(in) :: ldh,n real(dp), intent(out) :: v(*) @@ -13606,7 +13606,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaqr1( n, h, ldh, sr1, si1, sr2, si2, v ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: si1,si2,sr1,sr2,h(ldh,*) integer(${ik}$), intent(in) :: ldh,n real(sp), intent(out) :: v(*) @@ -13617,7 +13617,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaqr1( n, h, ldh, s1, s2, v ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none complex(dp), intent(in) :: s1,s2,h(ldh,*) integer(${ik}$), intent(in) :: ldh,n complex(dp), intent(out) :: v(*) @@ -13660,7 +13660,7 @@ module stdlib_linalg_lapack pure subroutine claqr4( wantt, wantz, n, ilo, ihi, h, ldh, w, iloz,ihiz, z, ldz, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -13674,7 +13674,7 @@ module stdlib_linalg_lapack subroutine dlaqr4( wantt, wantz, n, ilo, ihi, h, ldh, wr, wi,iloz, ihiz, z, ldz, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -13688,7 +13688,7 @@ module stdlib_linalg_lapack subroutine slaqr4( wantt, wantz, n, ilo, ihi, h, ldh, wr, wi,iloz, ihiz, z, ldz, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -13702,7 +13702,7 @@ module stdlib_linalg_lapack pure subroutine zlaqr4( wantt, wantz, n, ilo, ihi, h, ldh, w, iloz,ihiz, z, ldz, & work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ihiz,ilo,iloz,ldh,ldz,lwork,n integer(${ik}$), intent(out) :: info logical(lk), intent(in) :: wantt,wantz @@ -13735,7 +13735,7 @@ module stdlib_linalg_lapack pure subroutine claqr5( wantt, wantz, kacc22, n, ktop, kbot, nshfts, s,h, ldh, & iloz, ihiz, z, ldz, v, ldv, u, ldu, nv,wv, ldwv, nh, wh, ldwh ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihiz,iloz,kacc22,kbot,ktop,ldh,ldu,ldv,ldwh,ldwv,& ldz,n,nh,nshfts,nv logical(lk), intent(in) :: wantt,wantz @@ -13749,7 +13749,7 @@ module stdlib_linalg_lapack pure subroutine dlaqr5( wantt, wantz, kacc22, n, ktop, kbot, nshfts,sr, si, h, ldh,& iloz, ihiz, z, ldz, v, ldv, u,ldu, nv, wv, ldwv, nh, wh, ldwh ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihiz,iloz,kacc22,kbot,ktop,ldh,ldu,ldv,ldwh,ldwv,& ldz,n,nh,nshfts,nv logical(lk), intent(in) :: wantt,wantz @@ -13763,7 +13763,7 @@ module stdlib_linalg_lapack pure subroutine slaqr5( wantt, wantz, kacc22, n, ktop, kbot, nshfts,sr, si, h, ldh,& iloz, ihiz, z, ldz, v, ldv, u,ldu, nv, wv, ldwv, nh, wh, ldwh ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihiz,iloz,kacc22,kbot,ktop,ldh,ldu,ldv,ldwh,ldwv,& ldz,n,nh,nshfts,nv logical(lk), intent(in) :: wantt,wantz @@ -13777,7 +13777,7 @@ module stdlib_linalg_lapack pure subroutine zlaqr5( wantt, wantz, kacc22, n, ktop, kbot, nshfts, s,h, ldh, & iloz, ihiz, z, ldz, v, ldv, u, ldu, nv,wv, ldwv, nh, wh, ldwh ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihiz,iloz,kacc22,kbot,ktop,ldh,ldu,ldv,ldwh,ldwv,& ldz,n,nh,nshfts,nv logical(lk), intent(in) :: wantt,wantz @@ -13809,7 +13809,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claqsb( uplo, n, kd, ab, ldab, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: kd,ldab,n @@ -13822,7 +13822,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaqsb( uplo, n, kd, ab, ldab, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: kd,ldab,n @@ -13835,7 +13835,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaqsb( uplo, n, kd, ab, ldab, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: kd,ldab,n @@ -13848,7 +13848,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaqsb( uplo, n, kd, ab, ldab, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: kd,ldab,n @@ -13880,7 +13880,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claqsp( uplo, n, ap, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: n @@ -13893,7 +13893,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaqsp( uplo, n, ap, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: n @@ -13906,7 +13906,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaqsp( uplo, n, ap, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: n @@ -13919,7 +13919,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaqsp( uplo, n, ap, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: n @@ -13951,7 +13951,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claqsy( uplo, n, a, lda, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,n @@ -13964,7 +13964,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaqsy( uplo, n, a, lda, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,n @@ -13977,7 +13977,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaqsy( uplo, n, a, lda, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,n @@ -13990,7 +13990,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaqsy( uplo, n, a, lda, s, scond, amax, equed ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(out) :: equed character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,n @@ -14038,7 +14038,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dlaqtr( ltran, lreal, n, t, ldt, b, w, scale, x, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: lreal,ltran integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldt,n @@ -14052,7 +14052,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine slaqtr( ltran, lreal, n, t, ldt, b, w, scale, x, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: lreal,ltran integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldt,n @@ -14118,7 +14118,7 @@ module stdlib_linalg_lapack recursive subroutine claqz0( wants, wantq, wantz, n, ilo, ihi, a,lda, b, ldb, & alpha, beta, q, ldq, z,ldz, work, lwork, rwork, rec,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: wants,wantq,wantz integer(${ik}$), intent(in) :: n,ilo,ihi,lda,ldb,ldq,ldz,lwork,rec integer(${ik}$), intent(out) :: info @@ -14133,7 +14133,7 @@ module stdlib_linalg_lapack recursive subroutine dlaqz0( wants, wantq, wantz, n, ilo, ihi, a,lda, b, ldb, & alphar, alphai, beta,q, ldq, z, ldz, work, lwork, rec,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: wants,wantq,wantz integer(${ik}$), intent(in) :: n,ilo,ihi,lda,ldb,ldq,ldz,lwork,rec integer(${ik}$), intent(out) :: info @@ -14147,7 +14147,7 @@ module stdlib_linalg_lapack recursive subroutine slaqz0( wants, wantq, wantz, n, ilo, ihi, a,lda, b, ldb, & alphar, alphai, beta,q, ldq, z, ldz, work, lwork, rec,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: wants,wantq,wantz integer(${ik}$), intent(in) :: n,ilo,ihi,lda,ldb,ldq,ldz,lwork,rec integer(${ik}$), intent(out) :: info @@ -14161,7 +14161,7 @@ module stdlib_linalg_lapack recursive subroutine zlaqz0( wants, wantq, wantz, n, ilo, ihi, a,lda, b, ldb, & alpha, beta, q, ldq, z,ldz, work, lwork, rwork, rec,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: wants,wantq,wantz integer(${ik}$), intent(in) :: n,ilo,ihi,lda,ldb,ldq,ldz,lwork,rec integer(${ik}$), intent(out) :: info @@ -14194,7 +14194,7 @@ module stdlib_linalg_lapack pure subroutine claqz1( ilq, ilz, k, istartm, istopm, ihi, a, lda, b,ldb, nq, & qstart, q, ldq, nz, zstart, z, ldz ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: ilq,ilz integer(${ik}$), intent(in) :: k,lda,ldb,ldq,ldz,istartm,istopm,nq,nz,qstart,& zstart,ihi @@ -14206,7 +14206,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaqz1( a, lda, b, ldb, sr1, sr2, si, beta1, beta2,v ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: lda,ldb real(dp), intent(in) :: a(lda,*),b(ldb,*),sr1,sr2,si,beta1,beta2 real(dp), intent(out) :: v(*) @@ -14217,7 +14217,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaqz1( a, lda, b, ldb, sr1, sr2, si, beta1, beta2,v ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: lda,ldb real(sp), intent(in) :: a(lda,*),b(ldb,*),sr1,sr2,si,beta1,beta2 real(sp), intent(out) :: v(*) @@ -14229,7 +14229,7 @@ module stdlib_linalg_lapack pure subroutine zlaqz1( ilq, ilz, k, istartm, istopm, ihi, a, lda, b,ldb, nq, & qstart, q, ldq, nz, zstart, z, ldz ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: ilq,ilz integer(${ik}$), intent(in) :: k,lda,ldb,ldq,ldz,istartm,istopm,nq,nz,qstart,& zstart,ihi @@ -14261,7 +14261,7 @@ module stdlib_linalg_lapack si, ss, a, lda, b, ldb, q,ldq, z, ldz, qc, ldqc, zc, ldzc, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: ilschur,ilq,ilz integer(${ik}$), intent(in) :: n,ilo,ihi,lda,ldb,ldq,ldz,lwork,nshifts,& nblock_desired,ldqc,ldzc @@ -14279,7 +14279,7 @@ module stdlib_linalg_lapack si, ss, a, lda, b, ldb, q,ldq, z, ldz, qc, ldqc, zc, ldzc, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: ilschur,ilq,ilz integer(${ik}$), intent(in) :: n,ilo,ihi,lda,ldb,ldq,ldz,lwork,nshifts,& nblock_desired,ldqc,ldzc @@ -14322,7 +14322,7 @@ module stdlib_linalg_lapack pure subroutine clar1v( n, b1, bn, lambda, d, l, ld, lld,pivmin, gaptol, z, wantnc,& negcnt, ztz, mingma,r, isuppz, nrminv, resid, rqcorr, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantnc integer(${ik}$), intent(in) :: b1,bn,n integer(${ik}$), intent(out) :: negcnt,isuppz(*) @@ -14338,7 +14338,7 @@ module stdlib_linalg_lapack pure subroutine dlar1v( n, b1, bn, lambda, d, l, ld, lld,pivmin, gaptol, z, wantnc,& negcnt, ztz, mingma,r, isuppz, nrminv, resid, rqcorr, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantnc integer(${ik}$), intent(in) :: b1,bn,n integer(${ik}$), intent(out) :: negcnt,isuppz(*) @@ -14354,7 +14354,7 @@ module stdlib_linalg_lapack pure subroutine slar1v( n, b1, bn, lambda, d, l, ld, lld,pivmin, gaptol, z, wantnc,& negcnt, ztz, mingma,r, isuppz, nrminv, resid, rqcorr, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantnc integer(${ik}$), intent(in) :: b1,bn,n integer(${ik}$), intent(out) :: negcnt,isuppz(*) @@ -14370,7 +14370,7 @@ module stdlib_linalg_lapack pure subroutine zlar1v( n, b1, bn, lambda, d, l, ld, lld,pivmin, gaptol, z, wantnc,& negcnt, ztz, mingma,r, isuppz, nrminv, resid, rqcorr, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantnc integer(${ik}$), intent(in) :: b1,bn,n integer(${ik}$), intent(out) :: negcnt,isuppz(*) @@ -14409,7 +14409,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clar2v( n, x, y, z, incx, c, s, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,n real(sp), intent(in) :: c(*) complex(sp), intent(in) :: s(*) @@ -14421,7 +14421,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlar2v( n, x, y, z, incx, c, s, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,n real(dp), intent(in) :: c(*),s(*) real(dp), intent(inout) :: x(*),y(*),z(*) @@ -14432,7 +14432,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slar2v( n, x, y, z, incx, c, s, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,n real(sp), intent(in) :: c(*),s(*) real(sp), intent(inout) :: x(*),y(*),z(*) @@ -14443,7 +14443,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlar2v( n, x, y, z, incx, c, s, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,n real(dp), intent(in) :: c(*) complex(dp), intent(in) :: s(*) @@ -14476,7 +14476,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clarcm( m, n, a, lda, b, ldb, c, ldc, rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: lda,ldb,ldc,m,n real(sp), intent(in) :: a(lda,*) real(sp), intent(out) :: rwork(*) @@ -14489,7 +14489,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlarcm( m, n, a, lda, b, ldb, c, ldc, rwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: lda,ldb,ldc,m,n real(dp), intent(in) :: a(lda,*) real(dp), intent(out) :: rwork(*) @@ -14521,7 +14521,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clarf( side, m, n, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side integer(${ik}$), intent(in) :: incv,ldc,m,n complex(sp), intent(in) :: tau,v(*) @@ -14534,7 +14534,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlarf( side, m, n, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side integer(${ik}$), intent(in) :: incv,ldc,m,n real(dp), intent(in) :: tau,v(*) @@ -14547,7 +14547,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slarf( side, m, n, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side integer(${ik}$), intent(in) :: incv,ldc,m,n real(sp), intent(in) :: tau,v(*) @@ -14560,7 +14560,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlarf( side, m, n, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side integer(${ik}$), intent(in) :: incv,ldc,m,n complex(dp), intent(in) :: tau,v(*) @@ -14593,7 +14593,7 @@ module stdlib_linalg_lapack pure subroutine clarfb( side, trans, direct, storev, m, n, k, v, ldv,t, ldt, c, & ldc, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,ldc,ldt,ldv,ldwork,m,n complex(sp), intent(inout) :: c(ldc,*) @@ -14607,7 +14607,7 @@ module stdlib_linalg_lapack pure subroutine dlarfb( side, trans, direct, storev, m, n, k, v, ldv,t, ldt, c, & ldc, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,ldc,ldt,ldv,ldwork,m,n real(dp), intent(inout) :: c(ldc,*) @@ -14621,7 +14621,7 @@ module stdlib_linalg_lapack pure subroutine slarfb( side, trans, direct, storev, m, n, k, v, ldv,t, ldt, c, & ldc, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,ldc,ldt,ldv,ldwork,m,n real(sp), intent(inout) :: c(ldc,*) @@ -14635,7 +14635,7 @@ module stdlib_linalg_lapack pure subroutine zlarfb( side, trans, direct, storev, m, n, k, v, ldv,t, ldt, c, & ldc, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,ldc,ldt,ldv,ldwork,m,n complex(dp), intent(inout) :: c(ldc,*) @@ -14673,7 +14673,7 @@ module stdlib_linalg_lapack pure subroutine clarfb_gett( ident, m, n, k, t, ldt, a, lda, b, ldb,work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: ident integer(${ik}$), intent(in) :: k,lda,ldb,ldt,ldwork,m,n complex(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -14687,7 +14687,7 @@ module stdlib_linalg_lapack pure subroutine dlarfb_gett( ident, m, n, k, t, ldt, a, lda, b, ldb,work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: ident integer(${ik}$), intent(in) :: k,lda,ldb,ldt,ldwork,m,n real(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -14701,7 +14701,7 @@ module stdlib_linalg_lapack pure subroutine slarfb_gett( ident, m, n, k, t, ldt, a, lda, b, ldb,work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: ident integer(${ik}$), intent(in) :: k,lda,ldb,ldt,ldwork,m,n real(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -14715,7 +14715,7 @@ module stdlib_linalg_lapack pure subroutine zlarfb_gett( ident, m, n, k, t, ldt, a, lda, b, ldb,work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: ident integer(${ik}$), intent(in) :: k,lda,ldb,ldt,ldwork,m,n complex(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -14758,7 +14758,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clarfg( n, alpha, x, incx, tau ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n complex(sp), intent(inout) :: alpha,x(*) complex(sp), intent(out) :: tau @@ -14769,7 +14769,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlarfg( n, alpha, x, incx, tau ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(dp), intent(inout) :: alpha,x(*) real(dp), intent(out) :: tau @@ -14780,7 +14780,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slarfg( n, alpha, x, incx, tau ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(sp), intent(inout) :: alpha,x(*) real(sp), intent(out) :: tau @@ -14791,7 +14791,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlarfg( n, alpha, x, incx, tau ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n complex(dp), intent(inout) :: alpha,x(*) complex(dp), intent(out) :: tau @@ -14831,7 +14831,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine clarfgp( n, alpha, x, incx, tau ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n complex(sp), intent(inout) :: alpha,x(*) complex(sp), intent(out) :: tau @@ -14842,7 +14842,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dlarfgp( n, alpha, x, incx, tau ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(dp), intent(inout) :: alpha,x(*) real(dp), intent(out) :: tau @@ -14853,7 +14853,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine slarfgp( n, alpha, x, incx, tau ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(sp), intent(inout) :: alpha,x(*) real(sp), intent(out) :: tau @@ -14864,7 +14864,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine zlarfgp( n, alpha, x, incx, tau ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n complex(dp), intent(inout) :: alpha,x(*) complex(dp), intent(out) :: tau @@ -14902,7 +14902,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clarft( direct, storev, n, k, v, ldv, tau, t, ldt ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,storev integer(${ik}$), intent(in) :: k,ldt,ldv,n complex(sp), intent(out) :: t(ldt,*) @@ -14914,7 +14914,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlarft( direct, storev, n, k, v, ldv, tau, t, ldt ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,storev integer(${ik}$), intent(in) :: k,ldt,ldv,n real(dp), intent(out) :: t(ldt,*) @@ -14926,7 +14926,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slarft( direct, storev, n, k, v, ldv, tau, t, ldt ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,storev integer(${ik}$), intent(in) :: k,ldt,ldv,n real(sp), intent(out) :: t(ldt,*) @@ -14938,7 +14938,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlarft( direct, storev, n, k, v, ldv, tau, t, ldt ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,storev integer(${ik}$), intent(in) :: k,ldt,ldv,n complex(dp), intent(out) :: t(ldt,*) @@ -14973,7 +14973,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clarfy( uplo, n, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incv,ldc,n complex(sp), intent(in) :: tau,v(*) @@ -14986,7 +14986,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlarfy( uplo, n, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incv,ldc,n real(dp), intent(in) :: tau,v(*) @@ -14999,7 +14999,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slarfy( uplo, n, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incv,ldc,n real(sp), intent(in) :: tau,v(*) @@ -15012,7 +15012,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlarfy( uplo, n, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incv,ldc,n complex(dp), intent(in) :: tau,v(*) @@ -15052,7 +15052,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clargv( n, x, incx, y, incy, c, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,incy,n real(sp), intent(out) :: c(*) complex(sp), intent(inout) :: x(*),y(*) @@ -15063,7 +15063,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlargv( n, x, incx, y, incy, c, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,incy,n real(dp), intent(out) :: c(*) real(dp), intent(inout) :: x(*),y(*) @@ -15074,7 +15074,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slargv( n, x, incx, y, incy, c, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,incy,n real(sp), intent(out) :: c(*) real(sp), intent(inout) :: x(*),y(*) @@ -15085,7 +15085,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlargv( n, x, incx, y, incy, c, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,incy,n real(dp), intent(out) :: c(*) complex(dp), intent(inout) :: x(*),y(*) @@ -15115,7 +15115,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clarnv( idist, iseed, n, x ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: idist,n integer(${ik}$), intent(inout) :: iseed(4) complex(sp), intent(out) :: x(*) @@ -15126,7 +15126,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlarnv( idist, iseed, n, x ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: idist,n integer(${ik}$), intent(inout) :: iseed(4) real(dp), intent(out) :: x(*) @@ -15137,7 +15137,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slarnv( idist, iseed, n, x ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: idist,n integer(${ik}$), intent(inout) :: iseed(4) real(sp), intent(out) :: x(*) @@ -15148,7 +15148,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlarnv( idist, iseed, n, x ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: idist,n integer(${ik}$), intent(inout) :: iseed(4) complex(dp), intent(out) :: x(*) @@ -15178,7 +15178,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlarra( n, d, e, e2, spltol, tnrm,nsplit, isplit, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,nsplit,isplit(*) integer(${ik}$), intent(in) :: n real(dp), intent(in) :: spltol,tnrm,d(*) @@ -15190,7 +15190,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slarra( n, d, e, e2, spltol, tnrm,nsplit, isplit, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,nsplit,isplit(*) integer(${ik}$), intent(in) :: n real(sp), intent(in) :: spltol,tnrm,d(*) @@ -15222,7 +15222,7 @@ module stdlib_linalg_lapack pure subroutine dlarrb( n, d, lld, ifirst, ilast, rtol1,rtol2, offset, w, wgap, & werr, work, iwork,pivmin, spdiam, twist, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ifirst,ilast,n,offset,twist integer(${ik}$), intent(out) :: info,iwork(*) real(dp), intent(in) :: pivmin,rtol1,rtol2,spdiam,d(*),lld(*) @@ -15236,7 +15236,7 @@ module stdlib_linalg_lapack pure subroutine slarrb( n, d, lld, ifirst, ilast, rtol1,rtol2, offset, w, wgap, & werr, work, iwork,pivmin, spdiam, twist, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ifirst,ilast,n,offset,twist integer(${ik}$), intent(out) :: info,iwork(*) real(sp), intent(in) :: pivmin,rtol1,rtol2,spdiam,d(*),lld(*) @@ -15264,7 +15264,7 @@ module stdlib_linalg_lapack pure subroutine dlarrc( jobt, n, vl, vu, d, e, pivmin,eigcnt, lcnt, rcnt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobt integer(${ik}$), intent(out) :: eigcnt,info,lcnt,rcnt integer(${ik}$), intent(in) :: n @@ -15277,7 +15277,7 @@ module stdlib_linalg_lapack pure subroutine slarrc( jobt, n, vl, vu, d, e, pivmin,eigcnt, lcnt, rcnt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobt integer(${ik}$), intent(out) :: eigcnt,info,lcnt,rcnt integer(${ik}$), intent(in) :: n @@ -15314,7 +15314,7 @@ module stdlib_linalg_lapack pivmin, nsplit, isplit,m, w, werr, wl, wu, iblock, indexw,work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: order,range integer(${ik}$), intent(in) :: il,iu,n,nsplit,isplit(*) integer(${ik}$), intent(out) :: info,m,iblock(*),indexw(*),iwork(*) @@ -15329,7 +15329,7 @@ module stdlib_linalg_lapack pivmin, nsplit, isplit,m, w, werr, wl, wu, iblock, indexw,work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: order,range integer(${ik}$), intent(in) :: il,iu,n,nsplit,isplit(*) integer(${ik}$), intent(out) :: info,m,iblock(*),indexw(*),iwork(*) @@ -15368,7 +15368,7 @@ module stdlib_linalg_lapack nsplit, isplit, m,w, werr, wgap, iblock, indexw, gers, pivmin,work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: range integer(${ik}$), intent(in) :: il,iu,n integer(${ik}$), intent(out) :: info,m,nsplit,iblock(*),isplit(*),iwork(*),& @@ -15385,7 +15385,7 @@ module stdlib_linalg_lapack nsplit, isplit, m,w, werr, wgap, iblock, indexw, gers, pivmin,work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: range integer(${ik}$), intent(in) :: il,iu,n integer(${ik}$), intent(out) :: info,m,nsplit,iblock(*),isplit(*),iwork(*),& @@ -15417,7 +15417,7 @@ module stdlib_linalg_lapack pure subroutine dlarrf( n, d, l, ld, clstrt, clend,w, wgap, werr,spdiam, clgapl, & clgapr, pivmin, sigma,dplus, lplus, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: clstrt,clend,n integer(${ik}$), intent(out) :: info real(dp), intent(in) :: clgapl,clgapr,pivmin,spdiam,d(*),l(*),ld(*),w(*),werr(& @@ -15432,7 +15432,7 @@ module stdlib_linalg_lapack pure subroutine slarrf( n, d, l, ld, clstrt, clend,w, wgap, werr,spdiam, clgapl, & clgapr, pivmin, sigma,dplus, lplus, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: clstrt,clend,n integer(${ik}$), intent(out) :: info real(sp), intent(in) :: clgapl,clgapr,pivmin,spdiam,d(*),l(*),ld(*),w(*),werr(& @@ -15465,7 +15465,7 @@ module stdlib_linalg_lapack pure subroutine dlarrj( n, d, e2, ifirst, ilast,rtol, offset, w, werr, work, iwork,& pivmin, spdiam, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ifirst,ilast,n,offset integer(${ik}$), intent(out) :: info,iwork(*) real(dp), intent(in) :: pivmin,rtol,spdiam,d(*),e2(*) @@ -15479,7 +15479,7 @@ module stdlib_linalg_lapack pure subroutine slarrj( n, d, e2, ifirst, ilast,rtol, offset, w, werr, work, iwork,& pivmin, spdiam, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ifirst,ilast,n,offset integer(${ik}$), intent(out) :: info,iwork(*) real(sp), intent(in) :: pivmin,rtol,spdiam,d(*),e2(*) @@ -15512,7 +15512,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlarrk( n, iw, gl, gu,d, e2, pivmin, reltol, w, werr, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: iw,n real(dp), intent(in) :: pivmin,reltol,gl,gu,d(*),e2(*) @@ -15524,7 +15524,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slarrk( n, iw, gl, gu,d, e2, pivmin, reltol, w, werr, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: iw,n real(sp), intent(in) :: pivmin,reltol,gl,gu,d(*),e2(*) @@ -15550,7 +15550,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlarrr( n, d, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n integer(${ik}$), intent(out) :: info real(dp), intent(in) :: d(*) @@ -15562,7 +15562,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slarrr( n, d, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n integer(${ik}$), intent(out) :: info real(sp), intent(in) :: d(*) @@ -15590,7 +15590,7 @@ module stdlib_linalg_lapack rtol2, w, werr, wgap,iblock, indexw, gers, z, ldz, isuppz,work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: dol,dou,ldz,m,n,iblock(*),indexw(*),isplit(*) integer(${ik}$), intent(out) :: info,isuppz(*),iwork(*) @@ -15607,7 +15607,7 @@ module stdlib_linalg_lapack rtol2, w, werr, wgap,iblock, indexw, gers, z, ldz, isuppz,work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: dol,dou,ldz,m,n,iblock(*),indexw(*),isplit(*) integer(${ik}$), intent(out) :: info,isuppz(*),iwork(*) @@ -15623,7 +15623,7 @@ module stdlib_linalg_lapack rtol2, w, werr, wgap,iblock, indexw, gers, z, ldz, isuppz,work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: dol,dou,ldz,m,n,iblock(*),indexw(*),isplit(*) integer(${ik}$), intent(out) :: info,isuppz(*),iwork(*) @@ -15639,7 +15639,7 @@ module stdlib_linalg_lapack rtol2, w, werr, wgap,iblock, indexw, gers, z, ldz, isuppz,work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: dol,dou,ldz,m,n,iblock(*),indexw(*),isplit(*) integer(${ik}$), intent(out) :: info,isuppz(*),iwork(*) @@ -15695,7 +15695,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ${ri}$lartg( f, g, c, s, r ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(${rk}$), intent(out) :: c ${rt}$, intent(in) :: f,g ${rt}$, intent(out) :: r,s @@ -15728,7 +15728,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ${ri}$lartgp( f, g, cs, sn, r ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none ${rt}$, intent(out) :: cs,r,sn ${rt}$, intent(in) :: f,g end subroutine ${ri}$lartgp @@ -15759,7 +15759,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ${ri}$lartgs( x, y, sigma, cs, sn ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none ${rt}$, intent(out) :: cs,sn ${rt}$, intent(in) :: sigma,x,y end subroutine ${ri}$lartgs @@ -15784,7 +15784,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clartv( n, x, incx, y, incy, c, s, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,incy,n real(sp), intent(in) :: c(*) complex(sp), intent(in) :: s(*) @@ -15796,7 +15796,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlartv( n, x, incx, y, incy, c, s, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,incy,n real(dp), intent(in) :: c(*),s(*) real(dp), intent(inout) :: x(*),y(*) @@ -15807,7 +15807,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slartv( n, x, incx, y, incy, c, s, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,incy,n real(sp), intent(in) :: c(*),s(*) real(sp), intent(inout) :: x(*),y(*) @@ -15818,7 +15818,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlartv( n, x, incx, y, incy, c, s, incc ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incc,incx,incy,n real(dp), intent(in) :: c(*) complex(dp), intent(in) :: s(*) @@ -15850,7 +15850,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaruv( iseed, n, x ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n integer(${ik}$), intent(inout) :: iseed(4) real(dp), intent(out) :: x(n) @@ -15861,7 +15861,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaruv( iseed, n, x ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: n integer(${ik}$), intent(inout) :: iseed(4) real(sp), intent(out) :: x(n) @@ -15892,7 +15892,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clarz( side, m, n, l, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side integer(${ik}$), intent(in) :: incv,l,ldc,m,n complex(sp), intent(in) :: tau,v(*) @@ -15905,7 +15905,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlarz( side, m, n, l, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side integer(${ik}$), intent(in) :: incv,l,ldc,m,n real(dp), intent(in) :: tau,v(*) @@ -15918,7 +15918,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slarz( side, m, n, l, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side integer(${ik}$), intent(in) :: incv,l,ldc,m,n real(sp), intent(in) :: tau,v(*) @@ -15931,7 +15931,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlarz( side, m, n, l, v, incv, tau, c, ldc, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side integer(${ik}$), intent(in) :: incv,l,ldc,m,n complex(dp), intent(in) :: tau,v(*) @@ -15965,7 +15965,7 @@ module stdlib_linalg_lapack pure subroutine clarzb( side, trans, direct, storev, m, n, k, l, v,ldv, t, ldt, c, & ldc, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,l,ldc,ldt,ldv,ldwork,m,n complex(sp), intent(inout) :: c(ldc,*),t(ldt,*),v(ldv,*) @@ -15978,7 +15978,7 @@ module stdlib_linalg_lapack pure subroutine dlarzb( side, trans, direct, storev, m, n, k, l, v,ldv, t, ldt, c, & ldc, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,l,ldc,ldt,ldv,ldwork,m,n real(dp), intent(inout) :: c(ldc,*),t(ldt,*),v(ldv,*) @@ -15991,7 +15991,7 @@ module stdlib_linalg_lapack pure subroutine slarzb( side, trans, direct, storev, m, n, k, l, v,ldv, t, ldt, c, & ldc, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,l,ldc,ldt,ldv,ldwork,m,n real(sp), intent(inout) :: c(ldc,*),t(ldt,*),v(ldv,*) @@ -16004,7 +16004,7 @@ module stdlib_linalg_lapack pure subroutine zlarzb( side, trans, direct, storev, m, n, k, l, v,ldv, t, ldt, c, & ldc, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,l,ldc,ldt,ldv,ldwork,m,n complex(dp), intent(inout) :: c(ldc,*),t(ldt,*),v(ldv,*) @@ -16045,7 +16045,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clarzt( direct, storev, n, k, v, ldv, tau, t, ldt ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,storev integer(${ik}$), intent(in) :: k,ldt,ldv,n complex(sp), intent(out) :: t(ldt,*) @@ -16058,7 +16058,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlarzt( direct, storev, n, k, v, ldv, tau, t, ldt ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,storev integer(${ik}$), intent(in) :: k,ldt,ldv,n real(dp), intent(out) :: t(ldt,*) @@ -16071,7 +16071,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slarzt( direct, storev, n, k, v, ldv, tau, t, ldt ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,storev integer(${ik}$), intent(in) :: k,ldt,ldv,n real(sp), intent(out) :: t(ldt,*) @@ -16084,7 +16084,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlarzt( direct, storev, n, k, v, ldv, tau, t, ldt ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,storev integer(${ik}$), intent(in) :: k,ldt,ldv,n complex(dp), intent(out) :: t(ldt,*) @@ -16119,7 +16119,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clascl( type, kl, ku, cfrom, cto, m, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: type integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,lda,m,n @@ -16132,7 +16132,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlascl( type, kl, ku, cfrom, cto, m, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: type integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,lda,m,n @@ -16145,7 +16145,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slascl( type, kl, ku, cfrom, cto, m, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: type integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,lda,m,n @@ -16158,7 +16158,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlascl( type, kl, ku, cfrom, cto, m, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: type integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kl,ku,lda,m,n @@ -16196,7 +16196,7 @@ module stdlib_linalg_lapack pure subroutine dlasd0( n, sqre, d, e, u, ldu, vt, ldvt, smlsiz, iwork,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu,ldvt,n,smlsiz,sqre real(dp), intent(inout) :: d(*),e(*) @@ -16209,7 +16209,7 @@ module stdlib_linalg_lapack pure subroutine slasd0( n, sqre, d, e, u, ldu, vt, ldvt, smlsiz, iwork,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu,ldvt,n,smlsiz,sqre real(sp), intent(inout) :: d(*),e(*) @@ -16262,7 +16262,7 @@ module stdlib_linalg_lapack pure subroutine dlasd1( nl, nr, sqre, d, alpha, beta, u, ldu, vt, ldvt,idxq, iwork,& work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu,ldvt,nl,nr,sqre real(dp), intent(inout) :: alpha,beta,d(*),u(ldu,*),vt(ldvt,*) @@ -16276,7 +16276,7 @@ module stdlib_linalg_lapack pure subroutine slasd1( nl, nr, sqre, d, alpha, beta, u, ldu, vt, ldvt,idxq, iwork,& work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu,ldvt,nl,nr,sqre real(sp), intent(inout) :: alpha,beta,d(*),u(ldu,*),vt(ldvt,*) @@ -16311,7 +16311,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlasd4( n, i, d, z, delta, rho, sigma, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i,n integer(${ik}$), intent(out) :: info real(dp), intent(in) :: rho,d(*),z(*) @@ -16323,7 +16323,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slasd4( n, i, d, z, delta, rho, sigma, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i,n integer(${ik}$), intent(out) :: info real(sp), intent(in) :: rho,d(*),z(*) @@ -16354,7 +16354,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlasd5( i, d, z, delta, rho, dsigma, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i real(dp), intent(out) :: dsigma,delta(2),work(2) real(dp), intent(in) :: rho,d(2),z(2) @@ -16365,7 +16365,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slasd5( i, d, z, delta, rho, dsigma, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i real(sp), intent(out) :: dsigma,delta(2),work(2) real(sp), intent(in) :: rho,d(2),z(2) @@ -16424,7 +16424,7 @@ module stdlib_linalg_lapack givptr, givcol, ldgcol, givnum,ldgnum, poles, difl, difr, z, k, c, s, work,iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: givptr,info,k,givcol(ldgcol,*),iwork(*),perm(*) integer(${ik}$), intent(in) :: icompq,ldgcol,ldgnum,nl,nr,sqre @@ -16441,7 +16441,7 @@ module stdlib_linalg_lapack givptr, givcol, ldgcol, givnum,ldgnum, poles, difl, difr, z, k, c, s, work,iwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: givptr,info,k,givcol(ldgcol,*),iwork(*),perm(*) integer(${ik}$), intent(in) :: icompq,ldgcol,ldgnum,nl,nr,sqre @@ -16476,7 +16476,7 @@ module stdlib_linalg_lapack beta, dsigma, idx, idxp, idxq,perm, givptr, givcol, ldgcol, givnum, ldgnum,c, s, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: givptr,info,k,givcol(ldgcol,*),idx(*),idxp(*),& perm(*) integer(${ik}$), intent(in) :: icompq,ldgcol,ldgnum,nl,nr,sqre @@ -16494,7 +16494,7 @@ module stdlib_linalg_lapack beta, dsigma, idx, idxp, idxq,perm, givptr, givcol, ldgcol, givnum, ldgnum,c, s, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: givptr,info,k,givcol(ldgcol,*),idx(*),idxp(*),& perm(*) integer(${ik}$), intent(in) :: icompq,ldgcol,ldgnum,nl,nr,sqre @@ -16529,7 +16529,7 @@ module stdlib_linalg_lapack pure subroutine dlasd8( icompq, k, d, z, vf, vl, difl, difr, lddifr,dsigma, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: icompq,k,lddifr integer(${ik}$), intent(out) :: info real(dp), intent(out) :: d(*),difl(*),difr(lddifr,*),work(*) @@ -16542,7 +16542,7 @@ module stdlib_linalg_lapack pure subroutine slasd8( icompq, k, d, z, vf, vl, difl, difr, lddifr,dsigma, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: icompq,k,lddifr integer(${ik}$), intent(out) :: info real(sp), intent(out) :: d(*),difl(*),difr(lddifr,*),work(*) @@ -16574,7 +16574,7 @@ module stdlib_linalg_lapack pure subroutine dlasda( icompq, smlsiz, n, sqre, d, e, u, ldu, vt, k,difl, difr, z,& poles, givptr, givcol, ldgcol,perm, givnum, c, s, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: icompq,ldgcol,ldu,n,smlsiz,sqre integer(${ik}$), intent(out) :: info,givcol(ldgcol,*),givptr(*),iwork(*),k(*),& perm(ldgcol,*) @@ -16589,7 +16589,7 @@ module stdlib_linalg_lapack pure subroutine slasda( icompq, smlsiz, n, sqre, d, e, u, ldu, vt, k,difl, difr, z,& poles, givptr, givcol, ldgcol,perm, givnum, c, s, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: icompq,ldgcol,ldu,n,smlsiz,sqre integer(${ik}$), intent(out) :: info,givcol(ldgcol,*),givptr(*),iwork(*),k(*),& perm(ldgcol,*) @@ -16627,7 +16627,7 @@ module stdlib_linalg_lapack pure subroutine dlasdq( uplo, sqre, n, ncvt, nru, ncc, d, e, vt, ldvt,u, ldu, c, & ldc, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldc,ldu,ldvt,n,ncc,ncvt,nru,sqre @@ -16641,7 +16641,7 @@ module stdlib_linalg_lapack pure subroutine slasdq( uplo, sqre, n, ncvt, nru, ncc, d, e, vt, ldvt,u, ldu, c, & ldc, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldc,ldu,ldvt,n,ncc,ncvt,nru,sqre @@ -16667,7 +16667,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claset( uplo, m, n, alpha, beta, a, lda ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,m,n complex(sp), intent(in) :: alpha,beta @@ -16679,7 +16679,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaset( uplo, m, n, alpha, beta, a, lda ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(in) :: alpha,beta @@ -16691,7 +16691,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaset( uplo, m, n, alpha, beta, a, lda ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(in) :: alpha,beta @@ -16703,7 +16703,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaset( uplo, m, n, alpha, beta, a, lda ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,m,n complex(dp), intent(in) :: alpha,beta @@ -16742,7 +16742,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlasq1( n, d, e, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(dp), intent(inout) :: d(*),e(*) @@ -16754,7 +16754,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slasq1( n, d, e, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(sp), intent(inout) :: d(*),e(*) @@ -16780,7 +16780,7 @@ module stdlib_linalg_lapack pure subroutine dlasq4( i0, n0, z, pp, n0in, dmin, dmin1, dmin2, dn,dn1, dn2, tau, & ttype, g ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i0,n0,n0in,pp integer(${ik}$), intent(out) :: ttype real(dp), intent(in) :: dmin,dmin1,dmin2,dn,dn1,dn2,z(*) @@ -16794,7 +16794,7 @@ module stdlib_linalg_lapack pure subroutine slasq4( i0, n0, z, pp, n0in, dmin, dmin1, dmin2, dn,dn1, dn2, tau, & ttype, g ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i0,n0,n0in,pp integer(${ik}$), intent(out) :: ttype real(sp), intent(in) :: dmin,dmin1,dmin2,dn,dn1,dn2,z(*) @@ -16821,7 +16821,7 @@ module stdlib_linalg_lapack pure subroutine dlasq5( i0, n0, z, pp, tau, sigma, dmin, dmin1, dmin2,dn, dnm1, & dnm2, ieee, eps ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: ieee integer(${ik}$), intent(in) :: i0,n0,pp real(dp), intent(out) :: dmin,dmin1,dmin2,dn,dnm1,dnm2 @@ -16835,7 +16835,7 @@ module stdlib_linalg_lapack pure subroutine slasq5( i0, n0, z, pp, tau, sigma, dmin, dmin1, dmin2,dn, dnm1, & dnm2, ieee, eps ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: ieee integer(${ik}$), intent(in) :: i0,n0,pp real(sp), intent(out) :: dmin,dmin1,dmin2,dn,dnm1,dnm2 @@ -16861,7 +16861,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlasq6( i0, n0, z, pp, dmin, dmin1, dmin2, dn,dnm1, dnm2 ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i0,n0,pp real(dp), intent(out) :: dmin,dmin1,dmin2,dn,dnm1,dnm2 real(dp), intent(inout) :: z(*) @@ -16872,7 +16872,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slasq6( i0, n0, z, pp, dmin, dmin1, dmin2, dn,dnm1, dnm2 ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: i0,n0,pp real(sp), intent(out) :: dmin,dmin1,dmin2,dn,dnm1,dnm2 real(sp), intent(inout) :: z(*) @@ -16945,7 +16945,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clasr( side, pivot, direct, m, n, c, s, a, lda ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,pivot,side integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(in) :: c(*),s(*) @@ -16957,7 +16957,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlasr( side, pivot, direct, m, n, c, s, a, lda ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,pivot,side integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(inout) :: a(lda,*) @@ -16969,7 +16969,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slasr( side, pivot, direct, m, n, c, s, a, lda ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,pivot,side integer(${ik}$), intent(in) :: lda,m,n real(sp), intent(inout) :: a(lda,*) @@ -16981,7 +16981,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlasr( side, pivot, direct, m, n, c, s, a, lda ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,pivot,side integer(${ik}$), intent(in) :: lda,m,n real(dp), intent(in) :: c(*),s(*) @@ -17014,7 +17014,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlasrt( id, n, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: id integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -17026,7 +17026,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slasrt( id, n, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: id integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -17067,7 +17067,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine classq( n, x, incx, scl, sumsq ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(sp), intent(inout) :: scl,sumsq complex(sp), intent(in) :: x(*) @@ -17078,7 +17078,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlassq( n, x, incx, scl, sumsq ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(dp), intent(inout) :: scl,sumsq real(dp), intent(in) :: x(*) @@ -17089,7 +17089,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slassq( n, x, incx, scl, sumsq ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(sp), intent(inout) :: scl,sumsq real(sp), intent(in) :: x(*) @@ -17100,7 +17100,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlassq( n, x, incx, scl, sumsq ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(dp), intent(inout) :: scl,sumsq complex(dp), intent(in) :: x(*) @@ -17138,7 +17138,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claswlq( m, n, mb, nb, a, lda, t, ldt, work, lwork,info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,mb,nb,lwork,ldt complex(sp), intent(inout) :: a(lda,*) @@ -17150,7 +17150,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaswlq( m, n, mb, nb, a, lda, t, ldt, work, lwork,info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,mb,nb,lwork,ldt real(dp), intent(inout) :: a(lda,*) @@ -17162,7 +17162,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaswlq( m, n, mb, nb, a, lda, t, ldt, work, lwork,info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,mb,nb,lwork,ldt real(sp), intent(inout) :: a(lda,*) @@ -17174,7 +17174,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaswlq( m, n, mb, nb, a, lda, t, ldt, work, lwork,info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,mb,nb,lwork,ldt complex(dp), intent(inout) :: a(lda,*) @@ -17205,7 +17205,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claswp( n, a, lda, k1, k2, ipiv, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k1,k2,lda,n,ipiv(*) complex(sp), intent(inout) :: a(lda,*) end subroutine claswp @@ -17215,7 +17215,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlaswp( n, a, lda, k1, k2, ipiv, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k1,k2,lda,n,ipiv(*) real(dp), intent(inout) :: a(lda,*) end subroutine dlaswp @@ -17225,7 +17225,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slaswp( n, a, lda, k1, k2, ipiv, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k1,k2,lda,n,ipiv(*) real(sp), intent(inout) :: a(lda,*) end subroutine slaswp @@ -17235,7 +17235,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaswp( n, a, lda, k1, k2, ipiv, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,k1,k2,lda,n,ipiv(*) complex(dp), intent(inout) :: a(lda,*) end subroutine zlaswp @@ -17275,7 +17275,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clasyf( uplo, n, nb, kb, a, lda, ipiv, w, ldw, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17288,7 +17288,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlasyf( uplo, n, nb, kb, a, lda, ipiv, w, ldw, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17301,7 +17301,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slasyf( uplo, n, nb, kb, a, lda, ipiv, w, ldw, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17314,7 +17314,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlasyf( uplo, n, nb, kb, a, lda, ipiv, w, ldw, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17354,7 +17354,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clasyf_aa( uplo, j1, m, nb, a, lda, ipiv,h, ldh, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: m,nb,j1,lda,ldh integer(${ik}$), intent(out) :: ipiv(*) @@ -17367,7 +17367,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlasyf_aa( uplo, j1, m, nb, a, lda, ipiv,h, ldh, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: m,nb,j1,lda,ldh integer(${ik}$), intent(out) :: ipiv(*) @@ -17380,7 +17380,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slasyf_aa( uplo, j1, m, nb, a, lda, ipiv,h, ldh, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: m,nb,j1,lda,ldh integer(${ik}$), intent(out) :: ipiv(*) @@ -17393,7 +17393,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlasyf_aa( uplo, j1, m, nb, a, lda, ipiv,h, ldh, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: m,nb,j1,lda,ldh integer(${ik}$), intent(out) :: ipiv(*) @@ -17435,7 +17435,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clasyf_rk( uplo, n, nb, kb, a, lda, e, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17448,7 +17448,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlasyf_rk( uplo, n, nb, kb, a, lda, e, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17461,7 +17461,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slasyf_rk( uplo, n, nb, kb, a, lda, e, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17474,7 +17474,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlasyf_rk( uplo, n, nb, kb, a, lda, e, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17516,7 +17516,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clasyf_rook( uplo, n, nb, kb, a, lda, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17529,7 +17529,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlasyf_rook( uplo, n, nb, kb, a, lda, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17542,7 +17542,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slasyf_rook( uplo, n, nb, kb, a, lda, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17555,7 +17555,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlasyf_rook( uplo, n, nb, kb, a, lda, ipiv, w, ldw,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,kb,ipiv(*) integer(${ik}$), intent(in) :: lda,ldw,n,nb @@ -17596,7 +17596,7 @@ module stdlib_linalg_lapack pure subroutine clatbs( uplo, trans, diag, normin, n, kd, ab, ldab, x,scale, cnorm,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -17612,7 +17612,7 @@ module stdlib_linalg_lapack pure subroutine dlatbs( uplo, trans, diag, normin, n, kd, ab, ldab, x,scale, cnorm,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -17627,7 +17627,7 @@ module stdlib_linalg_lapack pure subroutine slatbs( uplo, trans, diag, normin, n, kd, ab, ldab, x,scale, cnorm,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -17642,7 +17642,7 @@ module stdlib_linalg_lapack pure subroutine zlatbs( uplo, trans, diag, normin, n, kd, ab, ldab, x,scale, cnorm,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -17682,7 +17682,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clatdf( ijob, n, z, ldz, rhs, rdsum, rdscal, ipiv,jpiv ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ijob,ldz,n,ipiv(*),jpiv(*) real(sp), intent(inout) :: rdscal,rdsum complex(sp), intent(inout) :: rhs(*),z(ldz,*) @@ -17693,7 +17693,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlatdf( ijob, n, z, ldz, rhs, rdsum, rdscal, ipiv,jpiv ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ijob,ldz,n,ipiv(*),jpiv(*) real(dp), intent(inout) :: rdscal,rdsum,rhs(*),z(ldz,*) end subroutine dlatdf @@ -17703,7 +17703,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slatdf( ijob, n, z, ldz, rhs, rdsum, rdscal, ipiv,jpiv ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ijob,ldz,n,ipiv(*),jpiv(*) real(sp), intent(inout) :: rdscal,rdsum,rhs(*),z(ldz,*) end subroutine slatdf @@ -17713,7 +17713,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlatdf( ijob, n, z, ldz, rhs, rdsum, rdscal, ipiv,jpiv ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ijob,ldz,n,ipiv(*),jpiv(*) real(dp), intent(inout) :: rdscal,rdsum complex(dp), intent(inout) :: rhs(*),z(ldz,*) @@ -17753,7 +17753,7 @@ module stdlib_linalg_lapack pure subroutine clatps( uplo, trans, diag, normin, n, ap, x, scale,cnorm, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -17769,7 +17769,7 @@ module stdlib_linalg_lapack pure subroutine dlatps( uplo, trans, diag, normin, n, ap, x, scale,cnorm, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -17784,7 +17784,7 @@ module stdlib_linalg_lapack pure subroutine slatps( uplo, trans, diag, normin, n, ap, x, scale,cnorm, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -17799,7 +17799,7 @@ module stdlib_linalg_lapack pure subroutine zlatps( uplo, trans, diag, normin, n, ap, x, scale,cnorm, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -17840,7 +17840,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clatrd( uplo, n, nb, a, lda, e, tau, w, ldw ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,ldw,n,nb real(sp), intent(out) :: e(*) @@ -17853,7 +17853,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlatrd( uplo, n, nb, a, lda, e, tau, w, ldw ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,ldw,n,nb real(dp), intent(inout) :: a(lda,*) @@ -17865,7 +17865,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slatrd( uplo, n, nb, a, lda, e, tau, w, ldw ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,ldw,n,nb real(sp), intent(inout) :: a(lda,*) @@ -17877,7 +17877,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlatrd( uplo, n, nb, a, lda, e, tau, w, ldw ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: lda,ldw,n,nb real(dp), intent(out) :: e(*) @@ -17918,7 +17918,7 @@ module stdlib_linalg_lapack pure subroutine clatrs( uplo, trans, diag, normin, n, a, lda, x, scale,cnorm, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -17934,7 +17934,7 @@ module stdlib_linalg_lapack pure subroutine dlatrs( uplo, trans, diag, normin, n, a, lda, x, scale,cnorm, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -17949,7 +17949,7 @@ module stdlib_linalg_lapack pure subroutine slatrs( uplo, trans, diag, normin, n, a, lda, x, scale,cnorm, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -17964,7 +17964,7 @@ module stdlib_linalg_lapack pure subroutine zlatrs( uplo, trans, diag, normin, n, a, lda, x, scale,cnorm, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,normin,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -18000,7 +18000,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clatrz( m, n, l, a, lda, tau, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: l,lda,m,n complex(sp), intent(inout) :: a(lda,*) complex(sp), intent(out) :: tau(*),work(*) @@ -18011,7 +18011,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlatrz( m, n, l, a, lda, tau, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: l,lda,m,n real(dp), intent(inout) :: a(lda,*) real(dp), intent(out) :: tau(*),work(*) @@ -18022,7 +18022,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slatrz( m, n, l, a, lda, tau, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: l,lda,m,n real(sp), intent(inout) :: a(lda,*) real(sp), intent(out) :: tau(*),work(*) @@ -18033,7 +18033,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlatrz( m, n, l, a, lda, tau, work ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: l,lda,m,n complex(dp), intent(inout) :: a(lda,*) complex(dp), intent(out) :: tau(*),work(*) @@ -18072,7 +18072,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clatsqr( m, n, mb, nb, a, lda, t, ldt, work,lwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,mb,nb,ldt,lwork complex(sp), intent(inout) :: a(lda,*) @@ -18084,7 +18084,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlatsqr( m, n, mb, nb, a, lda, t, ldt, work,lwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,mb,nb,ldt,lwork real(dp), intent(inout) :: a(lda,*) @@ -18096,7 +18096,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slatsqr( m, n, mb, nb, a, lda, t, ldt, work,lwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,mb,nb,ldt,lwork real(sp), intent(inout) :: a(lda,*) @@ -18108,7 +18108,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlatsqr( m, n, mb, nb, a, lda, t, ldt, work,lwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n,mb,nb,ldt,lwork complex(dp), intent(inout) :: a(lda,*) @@ -18170,7 +18170,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine claunhr_col_getrfnp( m, n, a, lda, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n complex(sp), intent(inout) :: a(lda,*) @@ -18182,7 +18182,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlaunhr_col_getrfnp( m, n, a, lda, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n complex(dp), intent(inout) :: a(lda,*) @@ -18253,7 +18253,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine claunhr_col_getrfnp2( m, n, a, lda, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n complex(sp), intent(inout) :: a(lda,*) @@ -18265,7 +18265,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine zlaunhr_col_getrfnp2( m, n, a, lda, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,m,n complex(dp), intent(inout) :: a(lda,*) @@ -18296,7 +18296,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine clauum( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -18308,7 +18308,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dlauum( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -18320,7 +18320,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine slauum( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -18332,7 +18332,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zlauum( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -18366,7 +18366,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dopgtr( uplo, n, ap, tau, q, ldq, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldq,n @@ -18379,7 +18379,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sopgtr( uplo, n, ap, tau, q, ldq, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldq,n @@ -18414,7 +18414,7 @@ module stdlib_linalg_lapack pure subroutine dopmtr( side, uplo, trans, m, n, ap, tau, c, ldc, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldc,m,n @@ -18429,7 +18429,7 @@ module stdlib_linalg_lapack pure subroutine sopmtr( side, uplo, trans, m, n, ap, tau, c, ldc, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldc,m,n @@ -18471,7 +18471,7 @@ module stdlib_linalg_lapack subroutine dorbdb( trans, signs, m, p, q, x11, ldx11, x12, ldx12,x21, ldx21, x22, & ldx22, theta, phi, taup1,taup2, tauq1, tauq2, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: signs,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldx11,ldx12,ldx21,ldx22,lwork,m,p,q @@ -18487,7 +18487,7 @@ module stdlib_linalg_lapack subroutine sorbdb( trans, signs, m, p, q, x11, ldx11, x12, ldx12,x21, ldx21, x22, & ldx22, theta, phi, taup1,taup2, tauq1, tauq2, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: signs,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldx11,ldx12,ldx21,ldx22,lwork,m,p,q @@ -18529,7 +18529,7 @@ module stdlib_linalg_lapack subroutine dorbdb1( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(dp), intent(out) :: phi(*),theta(*),taup1(*),taup2(*),tauq1(*),work(*) @@ -18543,7 +18543,7 @@ module stdlib_linalg_lapack subroutine sorbdb1( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(sp), intent(out) :: phi(*),theta(*),taup1(*),taup2(*),tauq1(*),work(*) @@ -18583,7 +18583,7 @@ module stdlib_linalg_lapack subroutine dorbdb2( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(dp), intent(out) :: phi(*),theta(*),taup1(*),taup2(*),tauq1(*),work(*) @@ -18597,7 +18597,7 @@ module stdlib_linalg_lapack subroutine sorbdb2( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(sp), intent(out) :: phi(*),theta(*),taup1(*),taup2(*),tauq1(*),work(*) @@ -18637,7 +18637,7 @@ module stdlib_linalg_lapack subroutine dorbdb3( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(dp), intent(out) :: phi(*),theta(*),taup1(*),taup2(*),tauq1(*),work(*) @@ -18651,7 +18651,7 @@ module stdlib_linalg_lapack subroutine sorbdb3( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(sp), intent(out) :: phi(*),theta(*),taup1(*),taup2(*),tauq1(*),work(*) @@ -18691,7 +18691,7 @@ module stdlib_linalg_lapack subroutine dorbdb4( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, phantom, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(dp), intent(out) :: phi(*),theta(*),phantom(*),taup1(*),taup2(*),tauq1(*)& @@ -18705,7 +18705,7 @@ module stdlib_linalg_lapack subroutine sorbdb4( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, phantom, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(sp), intent(out) :: phi(*),theta(*),phantom(*),taup1(*),taup2(*),tauq1(*)& @@ -18741,7 +18741,7 @@ module stdlib_linalg_lapack pure subroutine dorbdb5( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2,ldq2, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx1,incx2,ldq1,ldq2,lwork,m1,m2,n integer(${ik}$), intent(out) :: info real(dp), intent(in) :: q1(ldq1,*),q2(ldq2,*) @@ -18755,7 +18755,7 @@ module stdlib_linalg_lapack pure subroutine sorbdb5( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2,ldq2, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx1,incx2,ldq1,ldq2,lwork,m1,m2,n integer(${ik}$), intent(out) :: info real(sp), intent(in) :: q1(ldq1,*),q2(ldq2,*) @@ -18789,7 +18789,7 @@ module stdlib_linalg_lapack pure subroutine dorbdb6( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2,ldq2, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx1,incx2,ldq1,ldq2,lwork,m1,m2,n integer(${ik}$), intent(out) :: info real(dp), intent(in) :: q1(ldq1,*),q2(ldq2,*) @@ -18803,7 +18803,7 @@ module stdlib_linalg_lapack pure subroutine sorbdb6( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2,ldq2, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx1,incx2,ldq1,ldq2,lwork,m1,m2,n integer(${ik}$), intent(out) :: info real(sp), intent(in) :: q1(ldq1,*),q2(ldq2,*) @@ -18842,7 +18842,7 @@ module stdlib_linalg_lapack x11, ldx11, x12,ldx12, x21, ldx21, x22, ldx22, theta,u1, ldu1, u2, ldu2, v1t, & ldv1t, v2t,ldv2t, work, lwork, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu1,jobu2,jobv1t,jobv2t,signs,trans integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu1,ldu2,ldv1t,ldv2t,ldx11,ldx12,ldx21,ldx22,& @@ -18860,7 +18860,7 @@ module stdlib_linalg_lapack x11, ldx11, x12,ldx12, x21, ldx21, x22, ldx22, theta,u1, ldu1, u2, ldu2, v1t, & ldv1t, v2t,ldv2t, work, lwork, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu1,jobu2,jobv1t,jobv2t,signs,trans integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu1,ldu2,ldv1t,ldv2t,ldx11,ldx12,ldx21,ldx22,& @@ -18903,7 +18903,7 @@ module stdlib_linalg_lapack subroutine dorcsd2by1( jobu1, jobu2, jobv1t, m, p, q, x11, ldx11,x21, ldx21, theta,& u1, ldu1, u2, ldu2, v1t,ldv1t, work, lwork, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu1,jobu2,jobv1t integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu1,ldu2,ldv1t,lwork,ldx11,ldx21,m,p,q @@ -18918,7 +18918,7 @@ module stdlib_linalg_lapack subroutine sorcsd2by1( jobu1, jobu2, jobv1t, m, p, q, x11, ldx11,x21, ldx21, theta,& u1, ldu1, u2, ldu2, v1t,ldv1t, work, lwork, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu1,jobu2,jobv1t integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu1,ldu2,ldv1t,lwork,ldx11,ldx21,m,p,q @@ -18948,7 +18948,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dorg2l( m, n, k, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,m,n real(dp), intent(inout) :: a(lda,*) @@ -18961,7 +18961,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sorg2l( m, n, k, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,m,n real(sp), intent(inout) :: a(lda,*) @@ -18990,7 +18990,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dorg2r( m, n, k, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,m,n real(dp), intent(inout) :: a(lda,*) @@ -19003,7 +19003,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sorg2r( m, n, k, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,m,n real(sp), intent(inout) :: a(lda,*) @@ -19043,7 +19043,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dorgbr( vect, m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n @@ -19057,7 +19057,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sorgbr( vect, m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n @@ -19086,7 +19086,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dorghr( n, ilo, ihi, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,lda,lwork,n integer(${ik}$), intent(out) :: info real(dp), intent(inout) :: a(lda,*) @@ -19099,7 +19099,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sorghr( n, ilo, ihi, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,lda,lwork,n integer(${ik}$), intent(out) :: info real(sp), intent(inout) :: a(lda,*) @@ -19128,7 +19128,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dorglq( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -19141,7 +19141,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sorglq( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -19170,7 +19170,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dorgql( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -19183,7 +19183,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sorgql( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -19212,7 +19212,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dorgqr( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -19225,7 +19225,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sorgqr( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -19254,7 +19254,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dorgrq( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -19267,7 +19267,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sorgrq( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -19296,7 +19296,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dorgtr( uplo, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -19310,7 +19310,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sorgtr( uplo, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -19340,7 +19340,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dorgtsqr( m, n, mb, nb, a, lda, t, ldt, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,mb,nb real(dp), intent(inout) :: a(lda,*) @@ -19353,7 +19353,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sorgtsqr( m, n, mb, nb, a, lda, t, ldt, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,mb,nb real(sp), intent(inout) :: a(lda,*) @@ -19393,7 +19393,7 @@ module stdlib_linalg_lapack pure subroutine dorgtsqr_row( m, n, mb, nb, a, lda, t, ldt, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,mb,nb real(dp), intent(inout) :: a(lda,*) @@ -19407,7 +19407,7 @@ module stdlib_linalg_lapack pure subroutine sorgtsqr_row( m, n, mb, nb, a, lda, t, ldt, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,mb,nb real(sp), intent(inout) :: a(lda,*) @@ -19440,7 +19440,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dorhr_col( m, n, nb, a, lda, t, ldt, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,nb real(dp), intent(inout) :: a(lda,*) @@ -19452,7 +19452,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sorhr_col( m, n, nb, a, lda, t, ldt, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,nb real(sp), intent(inout) :: a(lda,*) @@ -19486,7 +19486,7 @@ module stdlib_linalg_lapack pure subroutine dorm2l( side, trans, m, n, k, a, lda, tau, c, ldc,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,m,n @@ -19501,7 +19501,7 @@ module stdlib_linalg_lapack pure subroutine sorm2l( side, trans, m, n, k, a, lda, tau, c, ldc,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,m,n @@ -19537,7 +19537,7 @@ module stdlib_linalg_lapack pure subroutine dorm2r( side, trans, m, n, k, a, lda, tau, c, ldc,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,m,n @@ -19552,7 +19552,7 @@ module stdlib_linalg_lapack pure subroutine sorm2r( side, trans, m, n, k, a, lda, tau, c, ldc,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,m,n @@ -19600,7 +19600,7 @@ module stdlib_linalg_lapack pure subroutine dormbr( vect, side, trans, m, n, k, a, lda, tau, c,ldc, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -19615,7 +19615,7 @@ module stdlib_linalg_lapack pure subroutine sormbr( vect, side, trans, m, n, k, a, lda, tau, c,ldc, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -19649,7 +19649,7 @@ module stdlib_linalg_lapack pure subroutine dormhr( side, trans, m, n, ilo, ihi, a, lda, tau, c,ldc, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(in) :: ihi,ilo,lda,ldc,lwork,m,n integer(${ik}$), intent(out) :: info @@ -19664,7 +19664,7 @@ module stdlib_linalg_lapack pure subroutine sormhr( side, trans, m, n, ilo, ihi, a, lda, tau, c,ldc, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(in) :: ihi,ilo,lda,ldc,lwork,m,n integer(${ik}$), intent(out) :: info @@ -19699,7 +19699,7 @@ module stdlib_linalg_lapack pure subroutine dormlq( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -19714,7 +19714,7 @@ module stdlib_linalg_lapack pure subroutine sormlq( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -19749,7 +19749,7 @@ module stdlib_linalg_lapack pure subroutine dormql( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -19764,7 +19764,7 @@ module stdlib_linalg_lapack pure subroutine sormql( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -19799,7 +19799,7 @@ module stdlib_linalg_lapack pure subroutine dormqr( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -19814,7 +19814,7 @@ module stdlib_linalg_lapack pure subroutine sormqr( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -19849,7 +19849,7 @@ module stdlib_linalg_lapack pure subroutine dormrq( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -19864,7 +19864,7 @@ module stdlib_linalg_lapack pure subroutine sormrq( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -19899,7 +19899,7 @@ module stdlib_linalg_lapack pure subroutine dormrz( side, trans, m, n, k, l, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,l,lda,ldc,lwork,m,n @@ -19914,7 +19914,7 @@ module stdlib_linalg_lapack pure subroutine sormrz( side, trans, m, n, k, l, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,l,lda,ldc,lwork,m,n @@ -19949,7 +19949,7 @@ module stdlib_linalg_lapack pure subroutine dormtr( side, uplo, trans, m, n, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldc,lwork,m,n @@ -19964,7 +19964,7 @@ module stdlib_linalg_lapack pure subroutine sormtr( side, uplo, trans, m, n, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldc,lwork,m,n @@ -19996,7 +19996,7 @@ module stdlib_linalg_lapack pure subroutine cpbcon( uplo, n, kd, ab, ldab, anorm, rcond, work,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20012,7 +20012,7 @@ module stdlib_linalg_lapack pure subroutine dpbcon( uplo, n, kd, ab, ldab, anorm, rcond, work,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,n @@ -20026,7 +20026,7 @@ module stdlib_linalg_lapack pure subroutine spbcon( uplo, n, kd, ab, ldab, anorm, rcond, work,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,n @@ -20040,7 +20040,7 @@ module stdlib_linalg_lapack pure subroutine zpbcon( uplo, n, kd, ab, ldab, anorm, rcond, work,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20080,7 +20080,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpbequ( uplo, n, kd, ab, ldab, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20093,7 +20093,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpbequ( uplo, n, kd, ab, ldab, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20106,7 +20106,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spbequ( uplo, n, kd, ab, ldab, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20119,7 +20119,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpbequ( uplo, n, kd, ab, ldab, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20154,7 +20154,7 @@ module stdlib_linalg_lapack pure subroutine cpbrfs( uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b,ldb, x, ldx, & ferr, berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldafb,ldb,ldx,n,nrhs @@ -20170,7 +20170,7 @@ module stdlib_linalg_lapack pure subroutine dpbrfs( uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b,ldb, x, ldx, & ferr, berr, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,ldafb,ldb,ldx,n,nrhs @@ -20185,7 +20185,7 @@ module stdlib_linalg_lapack pure subroutine spbrfs( uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b,ldb, x, ldx, & ferr, berr, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,ldafb,ldb,ldx,n,nrhs @@ -20200,7 +20200,7 @@ module stdlib_linalg_lapack pure subroutine zpbrfs( uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b,ldb, x, ldx, & ferr, berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldafb,ldb,ldx,n,nrhs @@ -20241,7 +20241,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpbstf( uplo, n, kd, ab, ldab, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20253,7 +20253,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpbstf( uplo, n, kd, ab, ldab, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20265,7 +20265,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spbstf( uplo, n, kd, ab, ldab, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20277,7 +20277,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpbstf( uplo, n, kd, ab, ldab, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20317,7 +20317,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpbsv( uplo, n, kd, nrhs, ab, ldab, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -20329,7 +20329,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpbsv( uplo, n, kd, nrhs, ab, ldab, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -20341,7 +20341,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spbsv( uplo, n, kd, nrhs, ab, ldab, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -20353,7 +20353,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpbsv( uplo, n, kd, nrhs, ab, ldab, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -20388,7 +20388,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpbtrf( uplo, n, kd, ab, ldab, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20400,7 +20400,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpbtrf( uplo, n, kd, ab, ldab, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20412,7 +20412,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spbtrf( uplo, n, kd, ab, ldab, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20424,7 +20424,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpbtrf( uplo, n, kd, ab, ldab, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -20456,7 +20456,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpbtrs( uplo, n, kd, nrhs, ab, ldab, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -20469,7 +20469,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpbtrs( uplo, n, kd, nrhs, ab, ldab, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -20482,7 +20482,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spbtrs( uplo, n, kd, nrhs, ab, ldab, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -20495,7 +20495,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpbtrs( uplo, n, kd, nrhs, ab, ldab, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -20532,7 +20532,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpftrf( transr, uplo, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(in) :: n integer(${ik}$), intent(out) :: info @@ -20544,7 +20544,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpftrf( transr, uplo, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(in) :: n integer(${ik}$), intent(out) :: info @@ -20556,7 +20556,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spftrf( transr, uplo, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(in) :: n integer(${ik}$), intent(out) :: info @@ -20568,7 +20568,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpftrf( transr, uplo, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(in) :: n integer(${ik}$), intent(out) :: info @@ -20600,7 +20600,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpftri( transr, uplo, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -20612,7 +20612,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpftri( transr, uplo, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -20624,7 +20624,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spftri( transr, uplo, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -20636,7 +20636,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpftri( transr, uplo, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -20668,7 +20668,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpftrs( transr, uplo, n, nrhs, a, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -20681,7 +20681,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpftrs( transr, uplo, n, nrhs, a, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -20694,7 +20694,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spftrs( transr, uplo, n, nrhs, a, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -20707,7 +20707,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpftrs( transr, uplo, n, nrhs, a, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -20742,7 +20742,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpocon( uplo, n, a, lda, anorm, rcond, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -20757,7 +20757,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpocon( uplo, n, a, lda, anorm, rcond, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,n @@ -20771,7 +20771,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spocon( uplo, n, a, lda, anorm, rcond, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,n @@ -20785,7 +20785,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpocon( uplo, n, a, lda, anorm, rcond, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -20825,7 +20825,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpoequ( n, a, lda, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(sp), intent(out) :: amax,scond,s(*) @@ -20837,7 +20837,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpoequ( n, a, lda, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(dp), intent(out) :: amax,scond,s(*) @@ -20849,7 +20849,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spoequ( n, a, lda, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(sp), intent(out) :: amax,scond,s(*) @@ -20861,7 +20861,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpoequ( n, a, lda, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(dp), intent(out) :: amax,scond,s(*) @@ -20903,7 +20903,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpoequb( n, a, lda, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(sp), intent(out) :: amax,scond,s(*) @@ -20915,7 +20915,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpoequb( n, a, lda, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(dp), intent(out) :: amax,scond,s(*) @@ -20927,7 +20927,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spoequb( n, a, lda, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(sp), intent(out) :: amax,scond,s(*) @@ -20939,7 +20939,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpoequb( n, a, lda, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(dp), intent(out) :: amax,scond,s(*) @@ -20973,7 +20973,7 @@ module stdlib_linalg_lapack pure subroutine cporfs( uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x,ldx, ferr, berr,& work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs @@ -20989,7 +20989,7 @@ module stdlib_linalg_lapack pure subroutine dporfs( uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x,ldx, ferr, berr,& work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs @@ -21004,7 +21004,7 @@ module stdlib_linalg_lapack pure subroutine sporfs( uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x,ldx, ferr, berr,& work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs @@ -21019,7 +21019,7 @@ module stdlib_linalg_lapack pure subroutine zporfs( uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x,ldx, ferr, berr,& work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs @@ -21061,7 +21061,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cposv( uplo, n, nrhs, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -21073,7 +21073,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dposv( uplo, n, nrhs, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -21085,7 +21085,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sposv( uplo, n, nrhs, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -21097,7 +21097,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zposv( uplo, n, nrhs, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -21133,7 +21133,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpotrf( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21145,7 +21145,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpotrf( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21157,7 +21157,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spotrf( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21169,7 +21169,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpotrf( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21211,7 +21211,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine cpotrf2( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21223,7 +21223,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine dpotrf2( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21235,7 +21235,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine spotrf2( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21247,7 +21247,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure recursive subroutine zpotrf2( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21279,7 +21279,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpotri( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21291,7 +21291,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpotri( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21303,7 +21303,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spotri( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21315,7 +21315,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpotri( uplo, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -21347,7 +21347,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpotrs( uplo, n, nrhs, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -21360,7 +21360,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpotrs( uplo, n, nrhs, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -21373,7 +21373,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spotrs( uplo, n, nrhs, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -21386,7 +21386,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpotrs( uplo, n, nrhs, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -21422,7 +21422,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cppcon( uplo, n, ap, anorm, rcond, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21437,7 +21437,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dppcon( uplo, n, ap, anorm, rcond, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: n @@ -21450,7 +21450,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sppcon( uplo, n, ap, anorm, rcond, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: n @@ -21463,7 +21463,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zppcon( uplo, n, ap, anorm, rcond, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21503,7 +21503,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cppequ( uplo, n, ap, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21516,7 +21516,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dppequ( uplo, n, ap, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21529,7 +21529,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sppequ( uplo, n, ap, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21542,7 +21542,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zppequ( uplo, n, ap, s, scond, amax, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21577,7 +21577,7 @@ module stdlib_linalg_lapack pure subroutine cpprfs( uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr,berr, work, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs @@ -21593,7 +21593,7 @@ module stdlib_linalg_lapack pure subroutine dpprfs( uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr,berr, work, & iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs @@ -21608,7 +21608,7 @@ module stdlib_linalg_lapack pure subroutine spprfs( uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr,berr, work, & iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs @@ -21623,7 +21623,7 @@ module stdlib_linalg_lapack pure subroutine zpprfs( uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr,berr, work, & rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs @@ -21665,7 +21665,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cppsv( uplo, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -21677,7 +21677,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dppsv( uplo, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -21689,7 +21689,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sppsv( uplo, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -21701,7 +21701,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zppsv( uplo, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -21736,7 +21736,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpptrf( uplo, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21748,7 +21748,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpptrf( uplo, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21760,7 +21760,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spptrf( uplo, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21772,7 +21772,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpptrf( uplo, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21804,7 +21804,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpptri( uplo, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21816,7 +21816,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpptri( uplo, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21828,7 +21828,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spptri( uplo, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21840,7 +21840,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpptri( uplo, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -21872,7 +21872,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpptrs( uplo, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -21885,7 +21885,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpptrs( uplo, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -21898,7 +21898,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spptrs( uplo, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -21911,7 +21911,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpptrs( uplo, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -21950,7 +21950,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpstrf( uplo, n, a, lda, piv, rank, tol, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: tol integer(${ik}$), intent(out) :: info,rank,piv(n) integer(${ik}$), intent(in) :: lda,n @@ -21964,7 +21964,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpstrf( uplo, n, a, lda, piv, rank, tol, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: tol integer(${ik}$), intent(out) :: info,rank,piv(n) integer(${ik}$), intent(in) :: lda,n @@ -21978,7 +21978,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spstrf( uplo, n, a, lda, piv, rank, tol, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: tol integer(${ik}$), intent(out) :: info,rank,piv(n) integer(${ik}$), intent(in) :: lda,n @@ -21992,7 +21992,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpstrf( uplo, n, a, lda, piv, rank, tol, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: tol integer(${ik}$), intent(out) :: info,rank,piv(n) integer(${ik}$), intent(in) :: lda,n @@ -22030,7 +22030,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cptcon( n, d, e, anorm, rcond, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(sp), intent(in) :: anorm,d(*) @@ -22043,7 +22043,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dptcon( n, d, e, anorm, rcond, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(dp), intent(in) :: anorm,d(*),e(*) @@ -22055,7 +22055,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sptcon( n, d, e, anorm, rcond, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(sp), intent(in) :: anorm,d(*),e(*) @@ -22067,7 +22067,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zptcon( n, d, e, anorm, rcond, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(dp), intent(in) :: anorm,d(*) @@ -22112,7 +22112,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpteqr( compz, n, d, e, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -22126,7 +22126,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpteqr( compz, n, d, e, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -22139,7 +22139,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spteqr( compz, n, d, e, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -22152,7 +22152,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpteqr( compz, n, d, e, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -22188,7 +22188,7 @@ module stdlib_linalg_lapack pure subroutine cptrfs( uplo, n, nrhs, d, e, df, ef, b, ldb, x, ldx,ferr, berr, & work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs @@ -22205,7 +22205,7 @@ module stdlib_linalg_lapack pure subroutine dptrfs( n, nrhs, d, e, df, ef, b, ldb, x, ldx, ferr,berr, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs real(dp), intent(in) :: b(ldb,*),d(*),df(*),e(*),ef(*) @@ -22219,7 +22219,7 @@ module stdlib_linalg_lapack pure subroutine sptrfs( n, nrhs, d, e, df, ef, b, ldb, x, ldx, ferr,berr, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs real(sp), intent(in) :: b(ldb,*),d(*),df(*),e(*),ef(*) @@ -22233,7 +22233,7 @@ module stdlib_linalg_lapack pure subroutine zptrfs( uplo, n, nrhs, d, e, df, ef, b, ldb, x, ldx,ferr, berr, & work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs @@ -22271,7 +22271,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cptsv( n, nrhs, d, e, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs real(sp), intent(inout) :: d(*) @@ -22283,7 +22283,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dptsv( n, nrhs, d, e, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs real(dp), intent(inout) :: b(ldb,*),d(*),e(*) @@ -22294,7 +22294,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sptsv( n, nrhs, d, e, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs real(sp), intent(inout) :: b(ldb,*),d(*),e(*) @@ -22305,7 +22305,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zptsv( n, nrhs, d, e, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs real(dp), intent(inout) :: d(*) @@ -22337,7 +22337,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpttrf( n, d, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(sp), intent(inout) :: d(*) @@ -22349,7 +22349,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpttrf( n, d, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(dp), intent(inout) :: d(*),e(*) @@ -22360,7 +22360,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spttrf( n, d, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(sp), intent(inout) :: d(*),e(*) @@ -22371,7 +22371,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpttrf( n, d, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(dp), intent(inout) :: d(*) @@ -22406,7 +22406,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cpttrs( uplo, n, nrhs, d, e, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -22420,7 +22420,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dpttrs( n, nrhs, d, e, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs real(dp), intent(inout) :: b(ldb,*) @@ -22432,7 +22432,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine spttrs( n, nrhs, d, e, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs real(sp), intent(inout) :: b(ldb,*) @@ -22444,7 +22444,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zpttrs( uplo, n, nrhs, d, e, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -22477,7 +22477,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine crot( n, cx, incx, cy, incy, c, s ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(sp), intent(in) :: c complex(sp), intent(in) :: s @@ -22489,7 +22489,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zrot( n, cx, incx, cy, incy, c, s ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,incy,n real(dp), intent(in) :: c complex(dp), intent(in) :: s @@ -22515,7 +22515,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine drscl( n, sa, sx, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(dp), intent(in) :: sa real(dp), intent(inout) :: sx(*) @@ -22526,7 +22526,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine srscl( n, sa, sx, incx ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx,n real(sp), intent(in) :: sa real(sp), intent(inout) :: sx(*) @@ -22551,7 +22551,7 @@ module stdlib_linalg_lapack pure subroutine dsb2st_kernels( uplo, wantz, ttype,st, ed, sweep, n, nb, ib,a, & lda, v, tau, ldvt, work) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo logical(lk), intent(in) :: wantz integer(${ik}$), intent(in) :: ttype,st,ed,sweep,n,nb,ib,lda,ldvt @@ -22565,7 +22565,7 @@ module stdlib_linalg_lapack pure subroutine ssb2st_kernels( uplo, wantz, ttype,st, ed, sweep, n, nb, ib,a, & lda, v, tau, ldvt, work) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo logical(lk), intent(in) :: wantz integer(${ik}$), intent(in) :: ttype,st,ed,sweep,n,nb,ib,lda,ldvt @@ -22591,7 +22591,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dsbev( jobz, uplo, n, kd, ab, ldab, w, z, ldz, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldz,n @@ -22604,7 +22604,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine ssbev( jobz, uplo, n, kd, ab, ldab, w, z, ldz, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldz,n @@ -22638,7 +22638,7 @@ module stdlib_linalg_lapack subroutine dsbevd( jobz, uplo, n, kd, ab, ldab, w, z, ldz, work,lwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,ldz,liwork,lwork,n @@ -22652,7 +22652,7 @@ module stdlib_linalg_lapack subroutine ssbevd( jobz, uplo, n, kd, ab, ldab, w, z, ldz, work,lwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,ldz,liwork,lwork,n @@ -22684,7 +22684,7 @@ module stdlib_linalg_lapack pure subroutine dsbgst( vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x,ldx, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldx,n @@ -22699,7 +22699,7 @@ module stdlib_linalg_lapack pure subroutine ssbgst( vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x,ldx, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldx,n @@ -22729,7 +22729,7 @@ module stdlib_linalg_lapack pure subroutine dsbgv( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z,ldz, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldz,n @@ -22743,7 +22743,7 @@ module stdlib_linalg_lapack pure subroutine ssbgv( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w, z,ldz, work, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldz,n @@ -22779,7 +22779,7 @@ module stdlib_linalg_lapack pure subroutine dsbgvd( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w,z, ldz, work, & lwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldz,liwork,lwork,n @@ -22793,7 +22793,7 @@ module stdlib_linalg_lapack pure subroutine ssbgvd( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, w,z, ldz, work, & lwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ka,kb,ldab,ldbb,ldz,liwork,lwork,n @@ -22821,7 +22821,7 @@ module stdlib_linalg_lapack pure subroutine dsbtrd( vect, uplo, n, kd, ab, ldab, d, e, q, ldq,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldq,n @@ -22835,7 +22835,7 @@ module stdlib_linalg_lapack pure subroutine ssbtrd( vect, uplo, n, kd, ab, ldab, d, e, q, ldq,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldq,n @@ -22867,7 +22867,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsfrk( transr, uplo, trans, n, k, alpha, a, lda, beta,c ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(dp), intent(in) :: alpha,beta,a(lda,*) integer(${ik}$), intent(in) :: k,lda,n character, intent(in) :: trans,transr,uplo @@ -22879,7 +22879,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssfrk( transr, uplo, trans, n, k, alpha, a, lda, beta,c ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none real(sp), intent(in) :: alpha,beta,a(lda,*) integer(${ik}$), intent(in) :: k,lda,n character, intent(in) :: trans,transr,uplo @@ -22907,7 +22907,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cspcon( uplo, n, ap, ipiv, anorm, rcond, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -22922,7 +22922,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dspcon( uplo, n, ap, ipiv, anorm, rcond, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: n,ipiv(*) @@ -22935,7 +22935,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sspcon( uplo, n, ap, ipiv, anorm, rcond, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: n,ipiv(*) @@ -22948,7 +22948,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zspcon( uplo, n, ap, ipiv, anorm, rcond, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -22982,7 +22982,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dspev( jobz, uplo, n, ap, w, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -22995,7 +22995,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine sspev( jobz, uplo, n, ap, w, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -23029,7 +23029,7 @@ module stdlib_linalg_lapack subroutine dspevd( jobz, uplo, n, ap, w, z, ldz, work, lwork,iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldz,liwork,lwork,n @@ -23043,7 +23043,7 @@ module stdlib_linalg_lapack subroutine sspevd( jobz, uplo, n, ap, w, z, ldz, work, lwork,iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldz,liwork,lwork,n @@ -23074,7 +23074,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dspgst( itype, uplo, n, ap, bp, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,n @@ -23087,7 +23087,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sspgst( itype, uplo, n, ap, bp, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,n @@ -23116,7 +23116,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dspgv( itype, jobz, uplo, n, ap, bp, w, z, ldz, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,ldz,n @@ -23129,7 +23129,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine sspgv( itype, jobz, uplo, n, ap, bp, w, z, ldz, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,ldz,n @@ -23166,7 +23166,7 @@ module stdlib_linalg_lapack subroutine dspgvd( itype, jobz, uplo, n, ap, bp, w, z, ldz, work,lwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: itype,ldz,liwork,lwork,n @@ -23180,7 +23180,7 @@ module stdlib_linalg_lapack subroutine sspgvd( itype, jobz, uplo, n, ap, bp, w, z, ldz, work,lwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: itype,ldz,liwork,lwork,n @@ -23208,7 +23208,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cspmv( uplo, n, alpha, ap, x, incx, beta, y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incx,incy,n complex(sp), intent(in) :: alpha,beta,ap(*),x(*) @@ -23220,7 +23220,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zspmv( uplo, n, alpha, ap, x, incx, beta, y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incx,incy,n complex(dp), intent(in) :: alpha,beta,ap(*),x(*) @@ -23247,7 +23247,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cspr( uplo, n, alpha, x, incx, ap ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incx,n complex(sp), intent(in) :: alpha,x(*) @@ -23259,7 +23259,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zspr( uplo, n, alpha, x, incx, ap ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incx,n complex(dp), intent(in) :: alpha,x(*) @@ -23287,7 +23287,7 @@ module stdlib_linalg_lapack pure subroutine csprfs( uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx,ferr, berr, & work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs,ipiv(*) @@ -23303,7 +23303,7 @@ module stdlib_linalg_lapack pure subroutine dsprfs( uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx,ferr, berr, & work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs,ipiv(*) @@ -23318,7 +23318,7 @@ module stdlib_linalg_lapack pure subroutine ssprfs( uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx,ferr, berr, & work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs,ipiv(*) @@ -23333,7 +23333,7 @@ module stdlib_linalg_lapack pure subroutine zsprfs( uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx,ferr, berr, & work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs,ipiv(*) @@ -23376,7 +23376,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cspsv( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -23388,7 +23388,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dspsv( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -23400,7 +23400,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sspsv( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -23412,7 +23412,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zspsv( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -23444,7 +23444,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsptrd( uplo, n, ap, d, e, tau, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -23457,7 +23457,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssptrd( uplo, n, ap, d, e, tau, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -23488,7 +23488,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csptrf( uplo, n, ap, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: n @@ -23500,7 +23500,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsptrf( uplo, n, ap, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: n @@ -23512,7 +23512,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssptrf( uplo, n, ap, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: n @@ -23524,7 +23524,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsptrf( uplo, n, ap, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: n @@ -23556,7 +23556,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csptri( uplo, n, ap, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -23569,7 +23569,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsptri( uplo, n, ap, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -23582,7 +23582,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssptri( uplo, n, ap, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -23595,7 +23595,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsptri( uplo, n, ap, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,ipiv(*) @@ -23628,7 +23628,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csptrs( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs,ipiv(*) @@ -23641,7 +23641,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsptrs( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs,ipiv(*) @@ -23654,7 +23654,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssptrs( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs,ipiv(*) @@ -23667,7 +23667,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsptrs( uplo, n, nrhs, ap, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs,ipiv(*) @@ -23708,7 +23708,7 @@ module stdlib_linalg_lapack pure subroutine dstebz( range, order, n, vl, vu, il, iu, abstol, d, e,m, nsplit, w,& iblock, isplit, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: order,range integer(${ik}$), intent(in) :: il,iu,n integer(${ik}$), intent(out) :: info,m,nsplit,iblock(*),isplit(*),iwork(*) @@ -23723,7 +23723,7 @@ module stdlib_linalg_lapack pure subroutine sstebz( range, order, n, vl, vu, il, iu, abstol, d, e,m, nsplit, w,& iblock, isplit, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: order,range integer(${ik}$), intent(in) :: il,iu,n integer(${ik}$), intent(out) :: info,m,nsplit,iblock(*),isplit(*),iwork(*) @@ -23760,7 +23760,7 @@ module stdlib_linalg_lapack pure subroutine cstedc( compz, n, d, e, z, ldz, work, lwork, rwork,lrwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldz,liwork,lrwork,lwork,n @@ -23776,7 +23776,7 @@ module stdlib_linalg_lapack pure subroutine dstedc( compz, n, d, e, z, ldz, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldz,liwork,lwork,n @@ -23790,7 +23790,7 @@ module stdlib_linalg_lapack pure subroutine sstedc( compz, n, d, e, z, ldz, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldz,liwork,lwork,n @@ -23804,7 +23804,7 @@ module stdlib_linalg_lapack pure subroutine zstedc( compz, n, d, e, z, ldz, work, lwork, rwork,lrwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldz,liwork,lrwork,lwork,n @@ -23853,7 +23853,7 @@ module stdlib_linalg_lapack pure subroutine cstegr( jobz, range, n, d, e, vl, vu, il, iu,abstol, m, w, z, ldz, & isuppz, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range integer(${ik}$), intent(in) :: il,iu,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,isuppz(*),iwork(*) @@ -23869,7 +23869,7 @@ module stdlib_linalg_lapack pure subroutine dstegr( jobz, range, n, d, e, vl, vu, il, iu,abstol, m, w, z, ldz, & isuppz, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range integer(${ik}$), intent(in) :: il,iu,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,isuppz(*),iwork(*) @@ -23884,7 +23884,7 @@ module stdlib_linalg_lapack pure subroutine sstegr( jobz, range, n, d, e, vl, vu, il, iu,abstol, m, w, z, ldz, & isuppz, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range integer(${ik}$), intent(in) :: il,iu,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,isuppz(*),iwork(*) @@ -23899,7 +23899,7 @@ module stdlib_linalg_lapack pure subroutine zstegr( jobz, range, n, d, e, vl, vu, il, iu,abstol, m, w, z, ldz, & isuppz, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range integer(${ik}$), intent(in) :: il,iu,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,isuppz(*),iwork(*) @@ -23941,7 +23941,7 @@ module stdlib_linalg_lapack pure subroutine cstein( n, d, e, m, w, iblock, isplit, z, ldz, work,iwork, ifail, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ifail(*),iwork(*) integer(${ik}$), intent(in) :: ldz,m,n,iblock(*),isplit(*) real(sp), intent(in) :: d(*),e(*),w(*) @@ -23955,7 +23955,7 @@ module stdlib_linalg_lapack pure subroutine dstein( n, d, e, m, w, iblock, isplit, z, ldz, work,iwork, ifail, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ifail(*),iwork(*) integer(${ik}$), intent(in) :: ldz,m,n,iblock(*),isplit(*) real(dp), intent(in) :: d(*),e(*),w(*) @@ -23968,7 +23968,7 @@ module stdlib_linalg_lapack pure subroutine sstein( n, d, e, m, w, iblock, isplit, z, ldz, work,iwork, ifail, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ifail(*),iwork(*) integer(${ik}$), intent(in) :: ldz,m,n,iblock(*),isplit(*) real(sp), intent(in) :: d(*),e(*),w(*) @@ -23981,7 +23981,7 @@ module stdlib_linalg_lapack pure subroutine zstein( n, d, e, m, w, iblock, isplit, z, ldz, work,iwork, ifail, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info,ifail(*),iwork(*) integer(${ik}$), intent(in) :: ldz,m,n,iblock(*),isplit(*) real(dp), intent(in) :: d(*),e(*),w(*) @@ -24071,7 +24071,7 @@ module stdlib_linalg_lapack pure subroutine cstemr( jobz, range, n, d, e, vl, vu, il, iu,m, w, z, ldz, nzc, & isuppz, tryrac, work, lwork,iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range logical(lk), intent(inout) :: tryrac integer(${ik}$), intent(in) :: il,iu,ldz,nzc,liwork,lwork,n @@ -24088,7 +24088,7 @@ module stdlib_linalg_lapack pure subroutine dstemr( jobz, range, n, d, e, vl, vu, il, iu,m, w, z, ldz, nzc, & isuppz, tryrac, work, lwork,iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range logical(lk), intent(inout) :: tryrac integer(${ik}$), intent(in) :: il,iu,ldz,nzc,liwork,lwork,n @@ -24104,7 +24104,7 @@ module stdlib_linalg_lapack pure subroutine sstemr( jobz, range, n, d, e, vl, vu, il, iu,m, w, z, ldz, nzc, & isuppz, tryrac, work, lwork,iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range logical(lk), intent(inout) :: tryrac integer(${ik}$), intent(in) :: il,iu,ldz,nzc,liwork,lwork,n @@ -24120,7 +24120,7 @@ module stdlib_linalg_lapack pure subroutine zstemr( jobz, range, n, d, e, vl, vu, il, iu,m, w, z, ldz, nzc, & isuppz, tryrac, work, lwork,iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range logical(lk), intent(inout) :: tryrac integer(${ik}$), intent(in) :: il,iu,ldz,nzc,liwork,lwork,n @@ -24158,7 +24158,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csteqr( compz, n, d, e, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -24172,7 +24172,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsteqr( compz, n, d, e, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -24185,7 +24185,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssteqr( compz, n, d, e, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -24198,7 +24198,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsteqr( compz, n, d, e, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compz integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -24231,7 +24231,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsterf( n, d, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(dp), intent(inout) :: d(*),e(*) @@ -24242,7 +24242,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssterf( n, d, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n real(sp), intent(inout) :: d(*),e(*) @@ -24266,7 +24266,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dstev( jobz, n, d, e, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -24279,7 +24279,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine sstev( jobz, n, d, e, z, ldz, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldz,n @@ -24313,7 +24313,7 @@ module stdlib_linalg_lapack pure subroutine dstevd( jobz, n, d, e, z, ldz, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldz,liwork,lwork,n @@ -24327,7 +24327,7 @@ module stdlib_linalg_lapack pure subroutine sstevd( jobz, n, d, e, z, ldz, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldz,liwork,lwork,n @@ -24387,7 +24387,7 @@ module stdlib_linalg_lapack pure subroutine dstevr( jobz, range, n, d, e, vl, vu, il, iu, abstol,m, w, z, ldz, & isuppz, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range integer(${ik}$), intent(in) :: il,iu,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,isuppz(*),iwork(*) @@ -24402,7 +24402,7 @@ module stdlib_linalg_lapack pure subroutine sstevr( jobz, range, n, d, e, vl, vu, il, iu, abstol,m, w, z, ldz, & isuppz, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range integer(${ik}$), intent(in) :: il,iu,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,isuppz(*),iwork(*) @@ -24432,7 +24432,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csycon( uplo, n, a, lda, ipiv, anorm, rcond, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24448,7 +24448,7 @@ module stdlib_linalg_lapack pure subroutine dsycon( uplo, n, a, lda, ipiv, anorm, rcond, work,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24462,7 +24462,7 @@ module stdlib_linalg_lapack pure subroutine ssycon( uplo, n, a, lda, ipiv, anorm, rcond, work,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24475,7 +24475,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsycon( uplo, n, a, lda, ipiv, anorm, rcond, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24513,7 +24513,7 @@ module stdlib_linalg_lapack pure subroutine csycon_rook( uplo, n, a, lda, ipiv, anorm, rcond, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24529,7 +24529,7 @@ module stdlib_linalg_lapack pure subroutine dsycon_rook( uplo, n, a, lda, ipiv, anorm, rcond, work,iwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24543,7 +24543,7 @@ module stdlib_linalg_lapack pure subroutine ssycon_rook( uplo, n, a, lda, ipiv, anorm, rcond, work,iwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24557,7 +24557,7 @@ module stdlib_linalg_lapack pure subroutine zsycon_rook( uplo, n, a, lda, ipiv, anorm, rcond, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24592,7 +24592,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csyconv( uplo, way, n, a, lda, ipiv, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24605,7 +24605,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsyconv( uplo, way, n, a, lda, ipiv, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24618,7 +24618,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssyconv( uplo, way, n, a, lda, ipiv, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24631,7 +24631,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsyconv( uplo, way, n, a, lda, ipiv, e, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24678,7 +24678,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csyconvf( uplo, way, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -24691,7 +24691,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsyconvf( uplo, way, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -24704,7 +24704,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssyconvf( uplo, way, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -24717,7 +24717,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsyconvf( uplo, way, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -24762,7 +24762,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csyconvf_rook( uplo, way, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24774,7 +24774,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsyconvf_rook( uplo, way, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24786,7 +24786,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssyconvf_rook( uplo, way, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24798,7 +24798,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsyconvf_rook( uplo, way, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo,way integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -24834,7 +24834,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csyequb( uplo, n, a, lda, s, scond, amax, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(sp), intent(out) :: amax,scond,s(*) @@ -24848,7 +24848,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsyequb( uplo, n, a, lda, s, scond, amax, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(dp), intent(out) :: amax,scond,s(*),work(*) @@ -24861,7 +24861,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssyequb( uplo, n, a, lda, s, scond, amax, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(sp), intent(out) :: amax,scond,s(*),work(*) @@ -24874,7 +24874,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsyequb( uplo, n, a, lda, s, scond, amax, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n real(dp), intent(out) :: amax,scond,s(*) @@ -24907,7 +24907,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dsyev( jobz, uplo, n, a, lda, w, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -24920,7 +24920,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine ssyev( jobz, uplo, n, a, lda, w, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -24956,7 +24956,7 @@ module stdlib_linalg_lapack subroutine dsyevd( jobz, uplo, n, a, lda, w, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,liwork,lwork,n @@ -24970,7 +24970,7 @@ module stdlib_linalg_lapack subroutine ssyevd( jobz, uplo, n, a, lda, w, work, lwork, iwork,liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,liwork,lwork,n @@ -25045,7 +25045,7 @@ module stdlib_linalg_lapack subroutine dsyevr( jobz, range, uplo, n, a, lda, vl, vu, il, iu,abstol, m, w, z, & ldz, isuppz, work, lwork,iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range,uplo integer(${ik}$), intent(in) :: il,iu,lda,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,isuppz(*),iwork(*) @@ -25060,7 +25060,7 @@ module stdlib_linalg_lapack subroutine ssyevr( jobz, range, uplo, n, a, lda, vl, vu, il, iu,abstol, m, w, z, & ldz, isuppz, work, lwork,iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,range,uplo integer(${ik}$), intent(in) :: il,iu,lda,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,isuppz(*),iwork(*) @@ -25092,7 +25092,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsygst( itype, uplo, n, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,lda,ldb,n @@ -25105,7 +25105,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssygst( itype, uplo, n, a, lda, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,lda,ldb,n @@ -25135,7 +25135,7 @@ module stdlib_linalg_lapack subroutine dsygv( itype, jobz, uplo, n, a, lda, b, ldb, w, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,lda,ldb,lwork,n @@ -25149,7 +25149,7 @@ module stdlib_linalg_lapack subroutine ssygv( itype, jobz, uplo, n, a, lda, b, ldb, w, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: itype,lda,ldb,lwork,n @@ -25185,7 +25185,7 @@ module stdlib_linalg_lapack subroutine dsygvd( itype, jobz, uplo, n, a, lda, b, ldb, w, work,lwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: itype,lda,ldb,liwork,lwork,n @@ -25199,7 +25199,7 @@ module stdlib_linalg_lapack subroutine ssygvd( itype, jobz, uplo, n, a, lda, b, ldb, w, work,lwork, iwork, & liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobz,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: itype,lda,ldb,liwork,lwork,n @@ -25227,7 +25227,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csymv( uplo, n, alpha, a, lda, x, incx, beta, y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incx,incy,lda,n complex(sp), intent(in) :: alpha,beta,a(lda,*),x(*) @@ -25239,7 +25239,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsymv( uplo, n, alpha, a, lda, x, incx, beta, y, incy ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incx,incy,lda,n complex(dp), intent(in) :: alpha,beta,a(lda,*),x(*) @@ -25266,7 +25266,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csyr( uplo, n, alpha, x, incx, a, lda ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incx,lda,n complex(sp), intent(in) :: alpha,x(*) @@ -25278,7 +25278,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsyr( uplo, n, alpha, x, incx, a, lda ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: incx,lda,n complex(dp), intent(in) :: alpha,x(*) @@ -25305,7 +25305,7 @@ module stdlib_linalg_lapack pure subroutine csyrfs( uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb,x, ldx, ferr,& berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs,ipiv(*) @@ -25321,7 +25321,7 @@ module stdlib_linalg_lapack pure subroutine dsyrfs( uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb,x, ldx, ferr,& berr, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs,ipiv(*) @@ -25336,7 +25336,7 @@ module stdlib_linalg_lapack pure subroutine ssyrfs( uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb,x, ldx, ferr,& berr, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs,ipiv(*) @@ -25351,7 +25351,7 @@ module stdlib_linalg_lapack pure subroutine zsyrfs( uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb,x, ldx, ferr,& berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldaf,ldb,ldx,n,nrhs,ipiv(*) @@ -25395,7 +25395,7 @@ module stdlib_linalg_lapack pure subroutine csysv( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25409,7 +25409,7 @@ module stdlib_linalg_lapack pure subroutine dsysv( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25423,7 +25423,7 @@ module stdlib_linalg_lapack pure subroutine ssysv( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25437,7 +25437,7 @@ module stdlib_linalg_lapack pure subroutine zsysv( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25478,7 +25478,7 @@ module stdlib_linalg_lapack pure subroutine csysv_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25492,7 +25492,7 @@ module stdlib_linalg_lapack pure subroutine dsysv_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25506,7 +25506,7 @@ module stdlib_linalg_lapack pure subroutine ssysv_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25520,7 +25520,7 @@ module stdlib_linalg_lapack pure subroutine zsysv_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25565,7 +25565,7 @@ module stdlib_linalg_lapack pure subroutine csysv_rk( uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work,lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25579,7 +25579,7 @@ module stdlib_linalg_lapack pure subroutine dsysv_rk( uplo, n, nrhs, a, lda, e, ipiv, b, ldb,work, lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25593,7 +25593,7 @@ module stdlib_linalg_lapack pure subroutine ssysv_rk( uplo, n, nrhs, a, lda, e, ipiv, b, ldb,work, lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25607,7 +25607,7 @@ module stdlib_linalg_lapack pure subroutine zsysv_rk( uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work,lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25654,7 +25654,7 @@ module stdlib_linalg_lapack pure subroutine csysv_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25668,7 +25668,7 @@ module stdlib_linalg_lapack pure subroutine dsysv_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25682,7 +25682,7 @@ module stdlib_linalg_lapack pure subroutine ssysv_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25696,7 +25696,7 @@ module stdlib_linalg_lapack pure subroutine zsysv_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,ldb,lwork,n,nrhs @@ -25728,7 +25728,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csyswapr( uplo, n, a, lda, i1, i2) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: i1,i2,lda,n complex(sp), intent(inout) :: a(lda,n) @@ -25739,7 +25739,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsyswapr( uplo, n, a, lda, i1, i2) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: i1,i2,lda,n real(dp), intent(inout) :: a(lda,n) @@ -25750,7 +25750,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssyswapr( uplo, n, a, lda, i1, i2) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: i1,i2,lda,n real(sp), intent(inout) :: a(lda,n) @@ -25761,7 +25761,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsyswapr( uplo, n, a, lda, i1, i2) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: i1,i2,lda,n complex(dp), intent(inout) :: a(lda,n) @@ -25798,7 +25798,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytf2_rk( uplo, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -25811,7 +25811,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytf2_rk( uplo, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -25824,7 +25824,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytf2_rk( uplo, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -25837,7 +25837,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytf2_rk( uplo, n, a, lda, e, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -25874,7 +25874,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytf2_rook( uplo, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -25886,7 +25886,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytf2_rook( uplo, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -25898,7 +25898,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytf2_rook( uplo, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -25910,7 +25910,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytf2_rook( uplo, n, a, lda, ipiv, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,n @@ -25942,7 +25942,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytrd( uplo, n, a, lda, d, e, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -25955,7 +25955,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytrd( uplo, n, a, lda, d, e, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -25983,7 +25983,7 @@ module stdlib_linalg_lapack subroutine dsytrd_sb2st( stage1, vect, uplo, n, kd, ab, ldab,d, e, hous, & lhous, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: stage1,uplo,vect integer(${ik}$), intent(in) :: n,kd,ldab,lhous,lwork integer(${ik}$), intent(out) :: info @@ -25997,7 +25997,7 @@ module stdlib_linalg_lapack subroutine ssytrd_sb2st( stage1, vect, uplo, n, kd, ab, ldab,d, e, hous, & lhous, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: stage1,uplo,vect integer(${ik}$), intent(in) :: n,kd,ldab,lhous,lwork integer(${ik}$), intent(out) :: info @@ -26025,7 +26025,7 @@ module stdlib_linalg_lapack subroutine dsytrd_sy2sb( uplo, n, kd, a, lda, ab, ldab, tau,work, lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldab,lwork,n,kd @@ -26039,7 +26039,7 @@ module stdlib_linalg_lapack subroutine ssytrd_sy2sb( uplo, n, kd, a, lda, ab, ldab, tau,work, lwork, info & ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldab,lwork,n,kd @@ -26071,7 +26071,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytrf( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26084,7 +26084,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytrf( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26097,7 +26097,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytrf( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26110,7 +26110,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytrf( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26146,7 +26146,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytrf_aa( uplo, n, a, lda, ipiv, work, lwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,lda,lwork integer(${ik}$), intent(out) :: info,ipiv(*) @@ -26159,7 +26159,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytrf_aa( uplo, n, a, lda, ipiv, work, lwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,lda,lwork integer(${ik}$), intent(out) :: info,ipiv(*) @@ -26172,7 +26172,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytrf_aa( uplo, n, a, lda, ipiv, work, lwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,lda,lwork integer(${ik}$), intent(out) :: info,ipiv(*) @@ -26185,7 +26185,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytrf_aa( uplo, n, a, lda, ipiv, work, lwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,lda,lwork integer(${ik}$), intent(out) :: info,ipiv(*) @@ -26224,7 +26224,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytrf_rk( uplo, n, a, lda, e, ipiv, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26237,7 +26237,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytrf_rk( uplo, n, a, lda, e, ipiv, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26250,7 +26250,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytrf_rk( uplo, n, a, lda, e, ipiv, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26263,7 +26263,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytrf_rk( uplo, n, a, lda, e, ipiv, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26301,7 +26301,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytrf_rook( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26314,7 +26314,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytrf_rook( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26327,7 +26327,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytrf_rook( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26340,7 +26340,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytrf_rook( uplo, n, a, lda, ipiv, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info,ipiv(*) integer(${ik}$), intent(in) :: lda,lwork,n @@ -26373,7 +26373,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytri( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -26386,7 +26386,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytri( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -26399,7 +26399,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytri( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -26412,7 +26412,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytri( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -26445,7 +26445,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytri_rook( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -26458,7 +26458,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytri_rook( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -26471,7 +26471,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytri_rook( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -26484,7 +26484,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytri_rook( uplo, n, a, lda, ipiv, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n,ipiv(*) @@ -26517,7 +26517,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26530,7 +26530,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26543,7 +26543,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26556,7 +26556,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26589,7 +26589,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytrs2( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26602,7 +26602,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytrs2( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26615,7 +26615,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytrs2( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26628,7 +26628,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytrs2( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26667,7 +26667,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytrs_3( uplo, n, nrhs, a, lda, e, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26680,7 +26680,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytrs_3( uplo, n, nrhs, a, lda, e, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26693,7 +26693,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytrs_3( uplo, n, nrhs, a, lda, e, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26706,7 +26706,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytrs_3( uplo, n, nrhs, a, lda, e, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26740,7 +26740,7 @@ module stdlib_linalg_lapack pure subroutine csytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,nrhs,lda,ldb,lwork,ipiv(*) integer(${ik}$), intent(out) :: info @@ -26755,7 +26755,7 @@ module stdlib_linalg_lapack pure subroutine dsytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,nrhs,lda,ldb,lwork,ipiv(*) integer(${ik}$), intent(out) :: info @@ -26770,7 +26770,7 @@ module stdlib_linalg_lapack pure subroutine ssytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,nrhs,lda,ldb,lwork,ipiv(*) integer(${ik}$), intent(out) :: info @@ -26785,7 +26785,7 @@ module stdlib_linalg_lapack pure subroutine zsytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb,work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(in) :: n,nrhs,lda,ldb,lwork,ipiv(*) integer(${ik}$), intent(out) :: info @@ -26819,7 +26819,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine csytrs_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26832,7 +26832,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dsytrs_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26845,7 +26845,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ssytrs_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26858,7 +26858,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zsytrs_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs,ipiv(*) @@ -26895,7 +26895,7 @@ module stdlib_linalg_lapack subroutine ctbcon( norm, uplo, diag, n, kd, ab, ldab, rcond, work,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -26910,7 +26910,7 @@ module stdlib_linalg_lapack subroutine dtbcon( norm, uplo, diag, n, kd, ab, ldab, rcond, work,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,n @@ -26924,7 +26924,7 @@ module stdlib_linalg_lapack subroutine stbcon( norm, uplo, diag, n, kd, ab, ldab, rcond, work,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,n @@ -26938,7 +26938,7 @@ module stdlib_linalg_lapack subroutine ztbcon( norm, uplo, diag, n, kd, ab, ldab, rcond, work,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,n @@ -26976,7 +26976,7 @@ module stdlib_linalg_lapack pure subroutine ctbrfs( uplo, trans, diag, n, kd, nrhs, ab, ldab, b,ldb, x, ldx, & ferr, berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,ldx,n,nrhs @@ -26991,7 +26991,7 @@ module stdlib_linalg_lapack pure subroutine dtbrfs( uplo, trans, diag, n, kd, nrhs, ab, ldab, b,ldb, x, ldx, & ferr, berr, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,ldb,ldx,n,nrhs @@ -27005,7 +27005,7 @@ module stdlib_linalg_lapack pure subroutine stbrfs( uplo, trans, diag, n, kd, nrhs, ab, ldab, b,ldb, x, ldx, & ferr, berr, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: kd,ldab,ldb,ldx,n,nrhs @@ -27019,7 +27019,7 @@ module stdlib_linalg_lapack pure subroutine ztbrfs( uplo, trans, diag, n, kd, nrhs, ab, ldab, b,ldb, x, ldx, & ferr, berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,ldx,n,nrhs @@ -27055,7 +27055,7 @@ module stdlib_linalg_lapack pure subroutine ctbtrs( uplo, trans, diag, n, kd, nrhs, ab, ldab, b,ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -27069,7 +27069,7 @@ module stdlib_linalg_lapack pure subroutine dtbtrs( uplo, trans, diag, n, kd, nrhs, ab, ldab, b,ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -27083,7 +27083,7 @@ module stdlib_linalg_lapack pure subroutine stbtrs( uplo, trans, diag, n, kd, nrhs, ab, ldab, b,ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -27097,7 +27097,7 @@ module stdlib_linalg_lapack pure subroutine ztbtrs( uplo, trans, diag, n, kd, nrhs, ab, ldab, b,ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: kd,ldab,ldb,n,nrhs @@ -27136,7 +27136,7 @@ module stdlib_linalg_lapack pure subroutine ctfsm( transr, side, uplo, trans, diag, m, n, alpha, a,b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,diag,side,trans,uplo integer(${ik}$), intent(in) :: ldb,m,n complex(sp), intent(in) :: alpha,a(0:*) @@ -27149,7 +27149,7 @@ module stdlib_linalg_lapack pure subroutine dtfsm( transr, side, uplo, trans, diag, m, n, alpha, a,b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,diag,side,trans,uplo integer(${ik}$), intent(in) :: ldb,m,n real(dp), intent(in) :: alpha,a(0:*) @@ -27162,7 +27162,7 @@ module stdlib_linalg_lapack pure subroutine stfsm( transr, side, uplo, trans, diag, m, n, alpha, a,b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,diag,side,trans,uplo integer(${ik}$), intent(in) :: ldb,m,n real(sp), intent(in) :: alpha,a(0:*) @@ -27175,7 +27175,7 @@ module stdlib_linalg_lapack pure subroutine ztfsm( transr, side, uplo, trans, diag, m, n, alpha, a,b, ldb ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,diag,side,trans,uplo integer(${ik}$), intent(in) :: ldb,m,n complex(dp), intent(in) :: alpha,a(0:*) @@ -27207,7 +27207,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctftri( transr, uplo, diag, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo,diag integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -27219,7 +27219,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtftri( transr, uplo, diag, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo,diag integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -27231,7 +27231,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stftri( transr, uplo, diag, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo,diag integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -27243,7 +27243,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztftri( transr, uplo, diag, n, a, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo,diag integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -27274,7 +27274,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctfttp( transr, uplo, n, arf, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -27287,7 +27287,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtfttp( transr, uplo, n, arf, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -27300,7 +27300,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stfttp( transr, uplo, n, arf, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -27313,7 +27313,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztfttp( transr, uplo, n, arf, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -27345,7 +27345,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctfttr( transr, uplo, n, arf, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -27358,7 +27358,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtfttr( transr, uplo, n, arf, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -27371,7 +27371,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stfttr( transr, uplo, n, arf, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -27384,7 +27384,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztfttr( transr, uplo, n, arf, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -27433,7 +27433,7 @@ module stdlib_linalg_lapack pure subroutine ctgevc( side, howmny, select, n, s, lds, p, ldp, vl,ldvl, vr, ldvr,& mm, m, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldp,lds,ldvl,ldvr,mm,n @@ -27450,7 +27450,7 @@ module stdlib_linalg_lapack pure subroutine dtgevc( side, howmny, select, n, s, lds, p, ldp, vl,ldvl, vr, ldvr,& mm, m, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldp,lds,ldvl,ldvr,mm,n @@ -27466,7 +27466,7 @@ module stdlib_linalg_lapack pure subroutine stgevc( side, howmny, select, n, s, lds, p, ldp, vl,ldvl, vr, ldvr,& mm, m, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldp,lds,ldvl,ldvr,mm,n @@ -27482,7 +27482,7 @@ module stdlib_linalg_lapack pure subroutine ztgevc( side, howmny, select, n, s, lds, p, ldp, vl,ldvl, vr, ldvr,& mm, m, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldp,lds,ldvl,ldvr,mm,n @@ -27526,7 +27526,7 @@ module stdlib_linalg_lapack pure subroutine ctgexc( wantq, wantz, n, a, lda, b, ldb, q, ldq, z,ldz, ifst, ilst,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantq,wantz integer(${ik}$), intent(in) :: ifst,lda,ldb,ldq,ldz,n integer(${ik}$), intent(inout) :: ilst @@ -27540,7 +27540,7 @@ module stdlib_linalg_lapack pure subroutine dtgexc( wantq, wantz, n, a, lda, b, ldb, q, ldq, z,ldz, ifst, ilst,& work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantq,wantz integer(${ik}$), intent(inout) :: ifst,ilst integer(${ik}$), intent(out) :: info @@ -27555,7 +27555,7 @@ module stdlib_linalg_lapack pure subroutine stgexc( wantq, wantz, n, a, lda, b, ldb, q, ldq, z,ldz, ifst, ilst,& work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantq,wantz integer(${ik}$), intent(inout) :: ifst,ilst integer(${ik}$), intent(out) :: info @@ -27570,7 +27570,7 @@ module stdlib_linalg_lapack pure subroutine ztgexc( wantq, wantz, n, a, lda, b, ldb, q, ldq, z,ldz, ifst, ilst,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantq,wantz integer(${ik}$), intent(in) :: ifst,lda,ldb,ldq,ldz,n integer(${ik}$), intent(inout) :: ilst @@ -27619,7 +27619,7 @@ module stdlib_linalg_lapack pure subroutine ctgsen( ijob, wantq, wantz, select, n, a, lda, b, ldb,alpha, beta, & q, ldq, z, ldz, m, pl, pr, dif,work, lwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantq,wantz,select(*) integer(${ik}$), intent(in) :: ijob,lda,ldb,ldq,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,iwork(*) @@ -27635,7 +27635,7 @@ module stdlib_linalg_lapack alphai, beta, q, ldq, z, ldz, m, pl,pr, dif, work, lwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantq,wantz,select(*) integer(${ik}$), intent(in) :: ijob,lda,ldb,ldq,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,iwork(*) @@ -27651,7 +27651,7 @@ module stdlib_linalg_lapack alphai, beta, q, ldq, z, ldz, m, pl,pr, dif, work, lwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantq,wantz,select(*) integer(${ik}$), intent(in) :: ijob,lda,ldb,ldq,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,iwork(*) @@ -27666,7 +27666,7 @@ module stdlib_linalg_lapack pure subroutine ztgsen( ijob, wantq, wantz, select, n, a, lda, b, ldb,alpha, beta, & q, ldq, z, ldz, m, pl, pr, dif,work, lwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none logical(lk), intent(in) :: wantq,wantz,select(*) integer(${ik}$), intent(in) :: ijob,lda,ldb,ldq,ldz,liwork,lwork,n integer(${ik}$), intent(out) :: info,m,iwork(*) @@ -27760,7 +27760,7 @@ module stdlib_linalg_lapack pure subroutine ctgsja( jobu, jobv, jobq, m, p, n, k, l, a, lda, b,ldb, tola, tolb,& alpha, beta, u, ldu, v, ldv,q, ldq, work, ncycle, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobq,jobu,jobv integer(${ik}$), intent(out) :: info,ncycle integer(${ik}$), intent(in) :: k,l,lda,ldb,ldq,ldu,ldv,m,n,p @@ -27777,7 +27777,7 @@ module stdlib_linalg_lapack pure subroutine dtgsja( jobu, jobv, jobq, m, p, n, k, l, a, lda, b,ldb, tola, tolb,& alpha, beta, u, ldu, v, ldv,q, ldq, work, ncycle, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobq,jobu,jobv integer(${ik}$), intent(out) :: info,ncycle integer(${ik}$), intent(in) :: k,l,lda,ldb,ldq,ldu,ldv,m,n,p @@ -27793,7 +27793,7 @@ module stdlib_linalg_lapack pure subroutine stgsja( jobu, jobv, jobq, m, p, n, k, l, a, lda, b,ldb, tola, tolb,& alpha, beta, u, ldu, v, ldv,q, ldq, work, ncycle, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobq,jobu,jobv integer(${ik}$), intent(out) :: info,ncycle integer(${ik}$), intent(in) :: k,l,lda,ldb,ldq,ldu,ldv,m,n,p @@ -27809,7 +27809,7 @@ module stdlib_linalg_lapack pure subroutine ztgsja( jobu, jobv, jobq, m, p, n, k, l, a, lda, b,ldb, tola, tolb,& alpha, beta, u, ldu, v, ldv,q, ldq, work, ncycle, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobq,jobu,jobv integer(${ik}$), intent(out) :: info,ncycle integer(${ik}$), intent(in) :: k,l,lda,ldb,ldq,ldu,ldv,m,n,p @@ -27847,7 +27847,7 @@ module stdlib_linalg_lapack pure subroutine ctgsna( job, howmny, select, n, a, lda, b, ldb, vl,ldvl, vr, ldvr, & s, dif, mm, m, work, lwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,job integer(${ik}$), intent(out) :: info,m,iwork(*) integer(${ik}$), intent(in) :: lda,ldb,ldvl,ldvr,lwork,mm,n @@ -27863,7 +27863,7 @@ module stdlib_linalg_lapack pure subroutine dtgsna( job, howmny, select, n, a, lda, b, ldb, vl,ldvl, vr, ldvr, & s, dif, mm, m, work, lwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,job integer(${ik}$), intent(out) :: info,m,iwork(*) integer(${ik}$), intent(in) :: lda,ldb,ldvl,ldvr,lwork,mm,n @@ -27878,7 +27878,7 @@ module stdlib_linalg_lapack pure subroutine stgsna( job, howmny, select, n, a, lda, b, ldb, vl,ldvl, vr, ldvr, & s, dif, mm, m, work, lwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,job integer(${ik}$), intent(out) :: info,m,iwork(*) integer(${ik}$), intent(in) :: lda,ldb,ldvl,ldvr,lwork,mm,n @@ -27893,7 +27893,7 @@ module stdlib_linalg_lapack pure subroutine ztgsna( job, howmny, select, n, a, lda, b, ldb, vl,ldvl, vr, ldvr, & s, dif, mm, m, work, lwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,job integer(${ik}$), intent(out) :: info,m,iwork(*) integer(${ik}$), intent(in) :: lda,ldb,ldvl,ldvr,lwork,mm,n @@ -27953,7 +27953,7 @@ module stdlib_linalg_lapack pure subroutine ctgsyl( trans, ijob, m, n, a, lda, b, ldb, c, ldc, d,ldd, e, lde, & f, ldf, scale, dif, work, lwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: ijob,lda,ldb,ldc,ldd,lde,ldf,lwork,m,n integer(${ik}$), intent(out) :: info,iwork(*) @@ -27969,7 +27969,7 @@ module stdlib_linalg_lapack pure subroutine dtgsyl( trans, ijob, m, n, a, lda, b, ldb, c, ldc, d,ldd, e, lde, & f, ldf, scale, dif, work, lwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: ijob,lda,ldb,ldc,ldd,lde,ldf,lwork,m,n integer(${ik}$), intent(out) :: info,iwork(*) @@ -27984,7 +27984,7 @@ module stdlib_linalg_lapack pure subroutine stgsyl( trans, ijob, m, n, a, lda, b, ldb, c, ldc, d,ldd, e, lde, & f, ldf, scale, dif, work, lwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: ijob,lda,ldb,ldc,ldd,lde,ldf,lwork,m,n integer(${ik}$), intent(out) :: info,iwork(*) @@ -27999,7 +27999,7 @@ module stdlib_linalg_lapack pure subroutine ztgsyl( trans, ijob, m, n, a, lda, b, ldb, c, ldc, d,ldd, e, lde, & f, ldf, scale, dif, work, lwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trans integer(${ik}$), intent(in) :: ijob,lda,ldb,ldc,ldd,lde,ldf,lwork,m,n integer(${ik}$), intent(out) :: info,iwork(*) @@ -28037,7 +28037,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine ctpcon( norm, uplo, diag, n, ap, rcond, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -28051,7 +28051,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dtpcon( norm, uplo, diag, n, ap, rcond, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: n @@ -28064,7 +28064,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine stpcon( norm, uplo, diag, n, ap, rcond, work, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: n @@ -28077,7 +28077,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine ztpcon( norm, uplo, diag, n, ap, rcond, work, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -28112,7 +28112,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctplqt( m, n, l, mb, a, lda, b, ldb, t, ldt, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l,mb complex(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28124,7 +28124,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtplqt( m, n, l, mb, a, lda, b, ldb, t, ldt, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l,mb real(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28136,7 +28136,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stplqt( m, n, l, mb, a, lda, b, ldb, t, ldt, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l,mb real(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28148,7 +28148,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztplqt( m, n, l, mb, a, lda, b, ldb, t, ldt, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l,mb complex(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28180,7 +28180,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctplqt2( m, n, l, a, lda, b, ldb, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l complex(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28192,7 +28192,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtplqt2( m, n, l, a, lda, b, ldb, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l real(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28204,7 +28204,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stplqt2( m, n, l, a, lda, b, ldb, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l real(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28216,7 +28216,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztplqt2( m, n, l, a, lda, b, ldb, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l complex(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28249,7 +28249,7 @@ module stdlib_linalg_lapack pure subroutine ctpmlqt( side, trans, m, n, k, l, mb, v, ldv, t, ldt,a, lda, b, & ldb, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,lda,ldb,m,n,l,mb,ldt @@ -28264,7 +28264,7 @@ module stdlib_linalg_lapack pure subroutine dtpmlqt( side, trans, m, n, k, l, mb, v, ldv, t, ldt,a, lda, b, & ldb, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,lda,ldb,m,n,l,mb,ldt @@ -28279,7 +28279,7 @@ module stdlib_linalg_lapack pure subroutine stpmlqt( side, trans, m, n, k, l, mb, v, ldv, t, ldt,a, lda, b, & ldb, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,lda,ldb,m,n,l,mb,ldt @@ -28294,7 +28294,7 @@ module stdlib_linalg_lapack pure subroutine ztpmlqt( side, trans, m, n, k, l, mb, v, ldv, t, ldt,a, lda, b, & ldb, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,lda,ldb,m,n,l,mb,ldt @@ -28329,7 +28329,7 @@ module stdlib_linalg_lapack pure subroutine ctpmqrt( side, trans, m, n, k, l, nb, v, ldv, t, ldt,a, lda, b, & ldb, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,lda,ldb,m,n,l,nb,ldt @@ -28344,7 +28344,7 @@ module stdlib_linalg_lapack pure subroutine dtpmqrt( side, trans, m, n, k, l, nb, v, ldv, t, ldt,a, lda, b, & ldb, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,lda,ldb,m,n,l,nb,ldt @@ -28359,7 +28359,7 @@ module stdlib_linalg_lapack pure subroutine stpmqrt( side, trans, m, n, k, l, nb, v, ldv, t, ldt,a, lda, b, & ldb, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,lda,ldb,m,n,l,nb,ldt @@ -28374,7 +28374,7 @@ module stdlib_linalg_lapack pure subroutine ztpmqrt( side, trans, m, n, k, l, nb, v, ldv, t, ldt,a, lda, b, & ldb, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,ldv,lda,ldb,m,n,l,nb,ldt @@ -28409,7 +28409,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctpqrt( m, n, l, nb, a, lda, b, ldb, t, ldt, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l,nb complex(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28421,7 +28421,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtpqrt( m, n, l, nb, a, lda, b, ldb, t, ldt, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l,nb real(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28433,7 +28433,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stpqrt( m, n, l, nb, a, lda, b, ldb, t, ldt, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l,nb real(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28445,7 +28445,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztpqrt( m, n, l, nb, a, lda, b, ldb, t, ldt, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l,nb complex(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28477,7 +28477,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctpqrt2( m, n, l, a, lda, b, ldb, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l complex(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28489,7 +28489,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtpqrt2( m, n, l, a, lda, b, ldb, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l real(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28501,7 +28501,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stpqrt2( m, n, l, a, lda, b, ldb, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l real(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28513,7 +28513,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztpqrt2( m, n, l, a, lda, b, ldb, t, ldt, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldt,n,m,l complex(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28546,7 +28546,7 @@ module stdlib_linalg_lapack pure subroutine ctprfb( side, trans, direct, storev, m, n, k, l,v, ldv, t, ldt, a, & lda, b, ldb, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,l,lda,ldb,ldt,ldv,ldwork,m,n complex(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28560,7 +28560,7 @@ module stdlib_linalg_lapack pure subroutine dtprfb( side, trans, direct, storev, m, n, k, l,v, ldv, t, ldt, a, & lda, b, ldb, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,l,lda,ldb,ldt,ldv,ldwork,m,n real(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28574,7 +28574,7 @@ module stdlib_linalg_lapack pure subroutine stprfb( side, trans, direct, storev, m, n, k, l,v, ldv, t, ldt, a, & lda, b, ldb, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,l,lda,ldb,ldt,ldv,ldwork,m,n real(sp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28588,7 +28588,7 @@ module stdlib_linalg_lapack pure subroutine ztprfb( side, trans, direct, storev, m, n, k, l,v, ldv, t, ldt, a, & lda, b, ldb, work, ldwork ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: direct,side,storev,trans integer(${ik}$), intent(in) :: k,l,lda,ldb,ldt,ldv,ldwork,m,n complex(dp), intent(inout) :: a(lda,*),b(ldb,*) @@ -28625,7 +28625,7 @@ module stdlib_linalg_lapack pure subroutine ctprfs( uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx,ferr, berr, & work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs @@ -28640,7 +28640,7 @@ module stdlib_linalg_lapack pure subroutine dtprfs( uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx,ferr, berr, & work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs @@ -28654,7 +28654,7 @@ module stdlib_linalg_lapack pure subroutine stprfs( uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx,ferr, berr, & work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs @@ -28668,7 +28668,7 @@ module stdlib_linalg_lapack pure subroutine ztprfs( uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx,ferr, berr, & work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,ldx,n,nrhs @@ -28701,7 +28701,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctptri( uplo, diag, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -28713,7 +28713,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtptri( uplo, diag, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -28725,7 +28725,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stptri( uplo, diag, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -28737,7 +28737,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztptri( uplo, diag, n, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -28771,7 +28771,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctptrs( uplo, trans, diag, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -28784,7 +28784,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtptrs( uplo, trans, diag, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -28797,7 +28797,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stptrs( uplo, trans, diag, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -28810,7 +28810,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztptrs( uplo, trans, diag, n, nrhs, ap, b, ldb, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldb,n,nrhs @@ -28842,7 +28842,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctpttf( transr, uplo, n, ap, arf, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -28855,7 +28855,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtpttf( transr, uplo, n, ap, arf, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -28868,7 +28868,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stpttf( transr, uplo, n, ap, arf, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -28881,7 +28881,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztpttf( transr, uplo, n, ap, arf, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n @@ -28913,7 +28913,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctpttr( uplo, n, ap, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -28926,7 +28926,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtpttr( uplo, n, ap, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -28939,7 +28939,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stpttr( uplo, n, ap, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -28952,7 +28952,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztpttr( uplo, n, ap, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -28988,7 +28988,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine ctrcon( norm, uplo, diag, n, a, lda, rcond, work,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -29002,7 +29002,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dtrcon( norm, uplo, diag, n, a, lda, rcond, work,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,n @@ -29015,7 +29015,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine strcon( norm, uplo, diag, n, a, lda, rcond, work,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,n @@ -29028,7 +29028,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine ztrcon( norm, uplo, diag, n, a, lda, rcond, work,rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,norm,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -29075,7 +29075,7 @@ module stdlib_linalg_lapack pure subroutine ctrevc( side, howmny, select, n, t, ldt, vl, ldvl, vr,ldvr, mm, m, & work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,mm,n @@ -29091,7 +29091,7 @@ module stdlib_linalg_lapack pure subroutine dtrevc( side, howmny, select, n, t, ldt, vl, ldvl, vr,ldvr, mm, m, & work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,mm,n @@ -29107,7 +29107,7 @@ module stdlib_linalg_lapack pure subroutine strevc( side, howmny, select, n, t, ldt, vl, ldvl, vr,ldvr, mm, m, & work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,mm,n @@ -29123,7 +29123,7 @@ module stdlib_linalg_lapack pure subroutine ztrevc( side, howmny, select, n, t, ldt, vl, ldvl, vr,ldvr, mm, m, & work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,mm,n @@ -29172,7 +29172,7 @@ module stdlib_linalg_lapack pure subroutine ctrevc3( side, howmny, select, n, t, ldt, vl, ldvl, vr,ldvr, mm, m,& work, lwork, rwork, lrwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,lwork,lrwork,mm,n @@ -29188,7 +29188,7 @@ module stdlib_linalg_lapack pure subroutine dtrevc3( side, howmny, select, n, t, ldt, vl, ldvl,vr, ldvr, mm, m,& work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,lwork,mm,n @@ -29204,7 +29204,7 @@ module stdlib_linalg_lapack pure subroutine strevc3( side, howmny, select, n, t, ldt, vl, ldvl,vr, ldvr, mm, m,& work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,lwork,mm,n @@ -29220,7 +29220,7 @@ module stdlib_linalg_lapack pure subroutine ztrevc3( side, howmny, select, n, t, ldt, vl, ldvl, vr,ldvr, mm, m,& work, lwork, rwork, lrwork, info) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,side integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,lwork,lrwork,mm,n @@ -29258,7 +29258,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctrexc( compq, n, t, ldt, q, ldq, ifst, ilst, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq integer(${ik}$), intent(in) :: ifst,ilst,ldq,ldt,n integer(${ik}$), intent(out) :: info @@ -29270,7 +29270,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine dtrexc( compq, n, t, ldt, q, ldq, ifst, ilst, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq integer(${ik}$), intent(inout) :: ifst,ilst integer(${ik}$), intent(out) :: info @@ -29284,7 +29284,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ subroutine strexc( compq, n, t, ldt, q, ldq, ifst, ilst, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq integer(${ik}$), intent(inout) :: ifst,ilst integer(${ik}$), intent(out) :: info @@ -29298,7 +29298,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztrexc( compq, n, t, ldt, q, ldq, ifst, ilst, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq integer(${ik}$), intent(in) :: ifst,ilst,ldq,ldt,n integer(${ik}$), intent(out) :: info @@ -29334,7 +29334,7 @@ module stdlib_linalg_lapack pure subroutine ctrrfs( uplo, trans, diag, n, nrhs, a, lda, b, ldb, x,ldx, ferr, & berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldx,n,nrhs @@ -29349,7 +29349,7 @@ module stdlib_linalg_lapack pure subroutine dtrrfs( uplo, trans, diag, n, nrhs, a, lda, b, ldb, x,ldx, ferr, & berr, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldb,ldx,n,nrhs @@ -29363,7 +29363,7 @@ module stdlib_linalg_lapack pure subroutine strrfs( uplo, trans, diag, n, nrhs, a, lda, b, ldb, x,ldx, ferr, & berr, work, iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: lda,ldb,ldx,n,nrhs @@ -29377,7 +29377,7 @@ module stdlib_linalg_lapack pure subroutine ztrrfs( uplo, trans, diag, n, nrhs, a, lda, b, ldb, x,ldx, ferr, & berr, work, rwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,ldx,n,nrhs @@ -29416,7 +29416,7 @@ module stdlib_linalg_lapack subroutine ctrsen( job, compq, select, n, t, ldt, q, ldq, w, m, s,sep, work, lwork,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,job integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldq,ldt,lwork,n @@ -29432,7 +29432,7 @@ module stdlib_linalg_lapack subroutine dtrsen( job, compq, select, n, t, ldt, q, ldq, wr, wi,m, s, sep, work, & lwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,job integer(${ik}$), intent(out) :: info,m,iwork(*) integer(${ik}$), intent(in) :: ldq,ldt,liwork,lwork,n @@ -29447,7 +29447,7 @@ module stdlib_linalg_lapack subroutine strsen( job, compq, select, n, t, ldt, q, ldq, wr, wi,m, s, sep, work, & lwork, iwork, liwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,job integer(${ik}$), intent(out) :: info,m,iwork(*) integer(${ik}$), intent(in) :: ldq,ldt,liwork,lwork,n @@ -29462,7 +29462,7 @@ module stdlib_linalg_lapack subroutine ztrsen( job, compq, select, n, t, ldt, q, ldq, w, m, s,sep, work, lwork,& info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: compq,job integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldq,ldt,lwork,n @@ -29498,7 +29498,7 @@ module stdlib_linalg_lapack pure subroutine ctrsna( job, howmny, select, n, t, ldt, vl, ldvl, vr,ldvr, s, sep, & mm, m, work, ldwork, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,job integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,ldwork,mm,n @@ -29514,7 +29514,7 @@ module stdlib_linalg_lapack subroutine dtrsna( job, howmny, select, n, t, ldt, vl, ldvl, vr,ldvr, s, sep, mm, & m, work, ldwork, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,job integer(${ik}$), intent(out) :: info,m,iwork(*) integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,ldwork,mm,n @@ -29529,7 +29529,7 @@ module stdlib_linalg_lapack subroutine strsna( job, howmny, select, n, t, ldt, vl, ldvl, vr,ldvr, s, sep, mm, & m, work, ldwork, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,job integer(${ik}$), intent(out) :: info,m,iwork(*) integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,ldwork,mm,n @@ -29544,7 +29544,7 @@ module stdlib_linalg_lapack pure subroutine ztrsna( job, howmny, select, n, t, ldt, vl, ldvl, vr,ldvr, s, sep, & mm, m, work, ldwork, rwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: howmny,job integer(${ik}$), intent(out) :: info,m integer(${ik}$), intent(in) :: ldt,ldvl,ldvr,ldwork,mm,n @@ -29584,7 +29584,7 @@ module stdlib_linalg_lapack subroutine ctrsyl( trana, tranb, isgn, m, n, a, lda, b, ldb, c,ldc, scale, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trana,tranb integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: isgn,lda,ldb,ldc,m,n @@ -29599,7 +29599,7 @@ module stdlib_linalg_lapack subroutine dtrsyl( trana, tranb, isgn, m, n, a, lda, b, ldb, c,ldc, scale, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trana,tranb integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: isgn,lda,ldb,ldc,m,n @@ -29614,7 +29614,7 @@ module stdlib_linalg_lapack subroutine strsyl( trana, tranb, isgn, m, n, a, lda, b, ldb, c,ldc, scale, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trana,tranb integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: isgn,lda,ldb,ldc,m,n @@ -29629,7 +29629,7 @@ module stdlib_linalg_lapack subroutine ztrsyl( trana, tranb, isgn, m, n, a, lda, b, ldb, c,ldc, scale, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: trana,tranb integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: isgn,lda,ldb,ldc,m,n @@ -29663,7 +29663,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctrtri( uplo, diag, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -29675,7 +29675,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtrtri( uplo, diag, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -29687,7 +29687,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine strtri( uplo, diag, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -29699,7 +29699,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztrtri( uplo, diag, n, a, lda, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,n @@ -29732,7 +29732,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctrtrs( uplo, trans, diag, n, nrhs, a, lda, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -29745,7 +29745,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtrtrs( uplo, trans, diag, n, nrhs, a, lda, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -29758,7 +29758,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine strtrs( uplo, trans, diag, n, nrhs, a, lda, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -29771,7 +29771,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztrtrs( uplo, trans, diag, n, nrhs, a, lda, b, ldb,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: diag,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldb,n,nrhs @@ -29803,7 +29803,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctrttf( transr, uplo, n, a, lda, arf, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -29816,7 +29816,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtrttf( transr, uplo, n, a, lda, arf, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -29829,7 +29829,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine strttf( transr, uplo, n, a, lda, arf, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -29842,7 +29842,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztrttf( transr, uplo, n, a, lda, arf, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: transr,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -29874,7 +29874,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctrttp( uplo, n, a, lda, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -29887,7 +29887,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtrttp( uplo, n, a, lda, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -29900,7 +29900,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine strttp( uplo, n, a, lda, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -29913,7 +29913,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztrttp( uplo, n, a, lda, ap, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: n,lda @@ -29949,7 +29949,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ctzrzf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(sp), intent(inout) :: a(lda,*) @@ -29961,7 +29961,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine dtzrzf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(dp), intent(inout) :: a(lda,*) @@ -29973,7 +29973,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine stzrzf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n real(sp), intent(inout) :: a(lda,*) @@ -29985,7 +29985,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine ztzrzf( m, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,m,n complex(dp), intent(inout) :: a(lda,*) @@ -30031,7 +30031,7 @@ module stdlib_linalg_lapack subroutine cunbdb( trans, signs, m, p, q, x11, ldx11, x12, ldx12,x21, ldx21, x22, & ldx22, theta, phi, taup1,taup2, tauq1, tauq2, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: signs,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldx11,ldx12,ldx21,ldx22,lwork,m,p,q @@ -30048,7 +30048,7 @@ module stdlib_linalg_lapack subroutine zunbdb( trans, signs, m, p, q, x11, ldx11, x12, ldx12,x21, ldx21, x22, & ldx22, theta, phi, taup1,taup2, tauq1, tauq2, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: signs,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldx11,ldx12,ldx21,ldx22,lwork,m,p,q @@ -30091,7 +30091,7 @@ module stdlib_linalg_lapack subroutine cunbdb1( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(sp), intent(out) :: phi(*),theta(*) @@ -30105,7 +30105,7 @@ module stdlib_linalg_lapack subroutine zunbdb1( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(dp), intent(out) :: phi(*),theta(*) @@ -30145,7 +30145,7 @@ module stdlib_linalg_lapack subroutine cunbdb2( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(sp), intent(out) :: phi(*),theta(*) @@ -30159,7 +30159,7 @@ module stdlib_linalg_lapack subroutine zunbdb2( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(dp), intent(out) :: phi(*),theta(*) @@ -30199,7 +30199,7 @@ module stdlib_linalg_lapack subroutine cunbdb3( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(sp), intent(out) :: phi(*),theta(*) @@ -30213,7 +30213,7 @@ module stdlib_linalg_lapack subroutine zunbdb3( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(dp), intent(out) :: phi(*),theta(*) @@ -30253,7 +30253,7 @@ module stdlib_linalg_lapack subroutine cunbdb4( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, phantom, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(sp), intent(out) :: phi(*),theta(*) @@ -30268,7 +30268,7 @@ module stdlib_linalg_lapack subroutine zunbdb4( m, p, q, x11, ldx11, x21, ldx21, theta, phi,taup1, taup2, & tauq1, phantom, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lwork,m,p,q,ldx11,ldx21 real(dp), intent(out) :: phi(*),theta(*) @@ -30305,7 +30305,7 @@ module stdlib_linalg_lapack pure subroutine cunbdb5( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2,ldq2, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx1,incx2,ldq1,ldq2,lwork,m1,m2,n integer(${ik}$), intent(out) :: info complex(sp), intent(in) :: q1(ldq1,*),q2(ldq2,*) @@ -30319,7 +30319,7 @@ module stdlib_linalg_lapack pure subroutine zunbdb5( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2,ldq2, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx1,incx2,ldq1,ldq2,lwork,m1,m2,n integer(${ik}$), intent(out) :: info complex(dp), intent(in) :: q1(ldq1,*),q2(ldq2,*) @@ -30353,7 +30353,7 @@ module stdlib_linalg_lapack pure subroutine cunbdb6( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2,ldq2, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx1,incx2,ldq1,ldq2,lwork,m1,m2,n integer(${ik}$), intent(out) :: info complex(sp), intent(in) :: q1(ldq1,*),q2(ldq2,*) @@ -30367,7 +30367,7 @@ module stdlib_linalg_lapack pure subroutine zunbdb6( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2,ldq2, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: incx1,incx2,ldq1,ldq2,lwork,m1,m2,n integer(${ik}$), intent(out) :: info complex(dp), intent(in) :: q1(ldq1,*),q2(ldq2,*) @@ -30406,7 +30406,7 @@ module stdlib_linalg_lapack x11, ldx11, x12,ldx12, x21, ldx21, x22, ldx22, theta,u1, ldu1, u2, ldu2, v1t, & ldv1t, v2t,ldv2t, work, lwork, rwork, lrwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu1,jobu2,jobv1t,jobv2t,signs,trans integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu1,ldu2,ldv1t,ldv2t,ldx11,ldx12,ldx21,ldx22,& @@ -30425,7 +30425,7 @@ module stdlib_linalg_lapack x11, ldx11, x12,ldx12, x21, ldx21, x22, ldx22, theta,u1, ldu1, u2, ldu2, v1t, & ldv1t, v2t,ldv2t, work, lwork, rwork, lrwork,iwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu1,jobu2,jobv1t,jobv2t,signs,trans integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu1,ldu2,ldv1t,ldv2t,ldx11,ldx12,ldx21,ldx22,& @@ -30469,7 +30469,7 @@ module stdlib_linalg_lapack subroutine cuncsd2by1( jobu1, jobu2, jobv1t, m, p, q, x11, ldx11,x21, ldx21, theta,& u1, ldu1, u2, ldu2, v1t,ldv1t, work, lwork, rwork, lrwork, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu1,jobu2,jobv1t integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu1,ldu2,ldv1t,lwork,ldx11,ldx21,m,p,q,& @@ -30485,7 +30485,7 @@ module stdlib_linalg_lapack subroutine zuncsd2by1( jobu1, jobu2, jobv1t, m, p, q, x11, ldx11,x21, ldx21, theta,& u1, ldu1, u2, ldu2, v1t,ldv1t, work, lwork, rwork, lrwork, iwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: jobu1,jobu2,jobv1t integer(${ik}$), intent(out) :: info,iwork(*) integer(${ik}$), intent(in) :: ldu1,ldu2,ldv1t,lwork,ldx11,ldx21,m,p,q,& @@ -30516,7 +30516,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cung2l( m, n, k, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,m,n complex(sp), intent(inout) :: a(lda,*) @@ -30529,7 +30529,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zung2l( m, n, k, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,m,n complex(dp), intent(inout) :: a(lda,*) @@ -30558,7 +30558,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cung2r( m, n, k, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,m,n complex(sp), intent(inout) :: a(lda,*) @@ -30571,7 +30571,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zung2r( m, n, k, a, lda, tau, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,m,n complex(dp), intent(inout) :: a(lda,*) @@ -30611,7 +30611,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cungbr( vect, m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n @@ -30625,7 +30625,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zungbr( vect, m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n @@ -30654,7 +30654,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cunghr( n, ilo, ihi, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,lda,lwork,n integer(${ik}$), intent(out) :: info complex(sp), intent(inout) :: a(lda,*) @@ -30667,7 +30667,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zunghr( n, ilo, ihi, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(in) :: ihi,ilo,lda,lwork,n integer(${ik}$), intent(out) :: info complex(dp), intent(inout) :: a(lda,*) @@ -30696,7 +30696,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cunglq( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n complex(sp), intent(inout) :: a(lda,*) @@ -30709,7 +30709,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zunglq( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n complex(dp), intent(inout) :: a(lda,*) @@ -30738,7 +30738,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cungql( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n complex(sp), intent(inout) :: a(lda,*) @@ -30751,7 +30751,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zungql( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n complex(dp), intent(inout) :: a(lda,*) @@ -30780,7 +30780,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cungqr( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n complex(sp), intent(inout) :: a(lda,*) @@ -30793,7 +30793,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zungqr( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n complex(dp), intent(inout) :: a(lda,*) @@ -30822,7 +30822,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cungrq( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n complex(sp), intent(inout) :: a(lda,*) @@ -30835,7 +30835,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zungrq( m, n, k, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,lwork,m,n complex(dp), intent(inout) :: a(lda,*) @@ -30864,7 +30864,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cungtr( uplo, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -30878,7 +30878,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zungtr( uplo, n, a, lda, tau, work, lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,lwork,n @@ -30908,7 +30908,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cungtsqr( m, n, mb, nb, a, lda, t, ldt, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,mb,nb complex(sp), intent(inout) :: a(lda,*) @@ -30921,7 +30921,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zungtsqr( m, n, mb, nb, a, lda, t, ldt, work, lwork,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,mb,nb complex(dp), intent(inout) :: a(lda,*) @@ -30961,7 +30961,7 @@ module stdlib_linalg_lapack pure subroutine cungtsqr_row( m, n, mb, nb, a, lda, t, ldt, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,mb,nb complex(sp), intent(inout) :: a(lda,*) @@ -30975,7 +30975,7 @@ module stdlib_linalg_lapack pure subroutine zungtsqr_row( m, n, mb, nb, a, lda, t, ldt, work,lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,lwork,m,n,mb,nb complex(dp), intent(inout) :: a(lda,*) @@ -31008,7 +31008,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cunhr_col( m, n, nb, a, lda, t, ldt, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,nb complex(sp), intent(inout) :: a(lda,*) @@ -31020,7 +31020,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zunhr_col( m, n, nb, a, lda, t, ldt, d, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldt,m,n,nb complex(dp), intent(inout) :: a(lda,*) @@ -31054,7 +31054,7 @@ module stdlib_linalg_lapack pure subroutine cunm2l( side, trans, m, n, k, a, lda, tau, c, ldc,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,m,n @@ -31069,7 +31069,7 @@ module stdlib_linalg_lapack pure subroutine zunm2l( side, trans, m, n, k, a, lda, tau, c, ldc,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,m,n @@ -31105,7 +31105,7 @@ module stdlib_linalg_lapack pure subroutine cunm2r( side, trans, m, n, k, a, lda, tau, c, ldc,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,m,n @@ -31120,7 +31120,7 @@ module stdlib_linalg_lapack pure subroutine zunm2r( side, trans, m, n, k, a, lda, tau, c, ldc,work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,m,n @@ -31168,7 +31168,7 @@ module stdlib_linalg_lapack pure subroutine cunmbr( vect, side, trans, m, n, k, a, lda, tau, c,ldc, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -31183,7 +31183,7 @@ module stdlib_linalg_lapack pure subroutine zunmbr( vect, side, trans, m, n, k, a, lda, tau, c,ldc, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,vect integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -31217,7 +31217,7 @@ module stdlib_linalg_lapack pure subroutine cunmhr( side, trans, m, n, ilo, ihi, a, lda, tau, c,ldc, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(in) :: ihi,ilo,lda,ldc,lwork,m,n integer(${ik}$), intent(out) :: info @@ -31232,7 +31232,7 @@ module stdlib_linalg_lapack pure subroutine zunmhr( side, trans, m, n, ilo, ihi, a, lda, tau, c,ldc, work, & lwork, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(in) :: ihi,ilo,lda,ldc,lwork,m,n integer(${ik}$), intent(out) :: info @@ -31267,7 +31267,7 @@ module stdlib_linalg_lapack pure subroutine cunmlq( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -31282,7 +31282,7 @@ module stdlib_linalg_lapack pure subroutine zunmlq( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -31317,7 +31317,7 @@ module stdlib_linalg_lapack pure subroutine cunmql( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -31332,7 +31332,7 @@ module stdlib_linalg_lapack pure subroutine zunmql( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -31367,7 +31367,7 @@ module stdlib_linalg_lapack pure subroutine cunmqr( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -31382,7 +31382,7 @@ module stdlib_linalg_lapack pure subroutine zunmqr( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -31417,7 +31417,7 @@ module stdlib_linalg_lapack pure subroutine cunmrq( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -31432,7 +31432,7 @@ module stdlib_linalg_lapack pure subroutine zunmrq( side, trans, m, n, k, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,lda,ldc,lwork,m,n @@ -31467,7 +31467,7 @@ module stdlib_linalg_lapack pure subroutine cunmrz( side, trans, m, n, k, l, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,l,lda,ldc,lwork,m,n @@ -31482,7 +31482,7 @@ module stdlib_linalg_lapack pure subroutine zunmrz( side, trans, m, n, k, l, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: k,l,lda,ldc,lwork,m,n @@ -31517,7 +31517,7 @@ module stdlib_linalg_lapack pure subroutine cunmtr( side, uplo, trans, m, n, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldc,lwork,m,n @@ -31532,7 +31532,7 @@ module stdlib_linalg_lapack pure subroutine zunmtr( side, uplo, trans, m, n, a, lda, tau, c, ldc,work, lwork, & info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: lda,ldc,lwork,m,n @@ -31562,7 +31562,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine cupgtr( uplo, n, ap, tau, q, ldq, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldq,n @@ -31575,7 +31575,7 @@ module stdlib_linalg_lapack #ifdef STDLIB_EXTERNAL_LAPACK${ii}$ pure subroutine zupgtr( uplo, n, ap, tau, q, ldq, work, info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldq,n @@ -31610,7 +31610,7 @@ module stdlib_linalg_lapack pure subroutine cupmtr( side, uplo, trans, m, n, ap, tau, c, ldc, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldc,m,n @@ -31625,7 +31625,7 @@ module stdlib_linalg_lapack pure subroutine zupmtr( side, uplo, trans, m, n, ap, tau, c, ldc, work,info ) import sp,dp,qp,${ik}$,lk - implicit none(type,external) + implicit none character, intent(in) :: side,trans,uplo integer(${ik}$), intent(out) :: info integer(${ik}$), intent(in) :: ldc,m,n diff --git a/src/stdlib_linalg_least_squares.fypp b/src/stdlib_linalg_least_squares.fypp index 5bcd5fb38..14b281360 100644 --- a/src/stdlib_linalg_least_squares.fypp +++ b/src/stdlib_linalg_least_squares.fypp @@ -10,7 +10,7 @@ submodule (stdlib_linalg) stdlib_linalg_least_squares use stdlib_linalg_lapack, only: gelsd, stdlib_ilaenv use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, & LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR - implicit none(type,external) + implicit none character(*), parameter :: this = 'lstsq' diff --git a/src/stdlib_linalg_norms.fypp b/src/stdlib_linalg_norms.fypp index 85bc8a248..3133c2f0f 100644 --- a/src/stdlib_linalg_norms.fypp +++ b/src/stdlib_linalg_norms.fypp @@ -13,7 +13,7 @@ submodule(stdlib_linalg) stdlib_linalg_norms use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, & LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR use iso_c_binding, only: c_intptr_t,c_char,c_loc - implicit none(type,external) + implicit none character(*), parameter :: this = 'norm' diff --git a/src/stdlib_linalg_pinv.fypp b/src/stdlib_linalg_pinv.fypp index e1d41f0a1..ed616a13b 100644 --- a/src/stdlib_linalg_pinv.fypp +++ b/src/stdlib_linalg_pinv.fypp @@ -7,7 +7,7 @@ submodule(stdlib_linalg) stdlib_linalg_pseudoinverse use stdlib_linalg_lapack use stdlib_linalg_state use ieee_arithmetic, only: ieee_value, ieee_quiet_nan - implicit none(type,external) + implicit none character(*), parameter :: this = 'pseudo-inverse' diff --git a/src/stdlib_linalg_qr.fypp b/src/stdlib_linalg_qr.fypp index 06d772d63..d2656ca34 100644 --- a/src/stdlib_linalg_qr.fypp +++ b/src/stdlib_linalg_qr.fypp @@ -5,7 +5,7 @@ submodule (stdlib_linalg) stdlib_linalg_qr use stdlib_linalg_lapack, only: geqrf, orgqr, ungqr use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, & LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR - implicit none(type,external) + implicit none character(*), parameter :: this = 'qr' diff --git a/src/stdlib_linalg_schur.fypp b/src/stdlib_linalg_schur.fypp index 3e477a319..68b526249 100644 --- a/src/stdlib_linalg_schur.fypp +++ b/src/stdlib_linalg_schur.fypp @@ -5,7 +5,7 @@ submodule (stdlib_linalg) stdlib_linalg_schur use stdlib_linalg_lapack, only: gees use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, & LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR - implicit none(type,external) + implicit none character(*), parameter :: this = 'schur' diff --git a/src/stdlib_linalg_solve.fypp b/src/stdlib_linalg_solve.fypp index 7c266b9b8..1c700683b 100644 --- a/src/stdlib_linalg_solve.fypp +++ b/src/stdlib_linalg_solve.fypp @@ -10,7 +10,7 @@ submodule (stdlib_linalg) stdlib_linalg_solve use stdlib_linalg_lapack, only: gesv use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, & LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR - implicit none(type,external) + implicit none character(*), parameter :: this = 'solve' diff --git a/src/stdlib_linalg_state.fypp b/src/stdlib_linalg_state.fypp index b261dc223..08fe1ebe3 100644 --- a/src/stdlib_linalg_state.fypp +++ b/src/stdlib_linalg_state.fypp @@ -10,7 +10,7 @@ module stdlib_linalg_state use stdlib_kinds, only: int8, int16, int32, int64, sp, dp, xdp, qp, lk use stdlib_io, only: FMT_REAL_SP, FMT_REAL_DP, FMT_REAL_QP, FMT_COMPLEX_SP, FMT_COMPLEX_DP, & FMT_COMPLEX_QP, FMT_REAL_XDP, FMT_COMPLEX_XDP - implicit none(type,external) + implicit none private !> Version: experimental diff --git a/src/stdlib_linalg_svd.fypp b/src/stdlib_linalg_svd.fypp index 934f51945..5c1befe79 100644 --- a/src/stdlib_linalg_svd.fypp +++ b/src/stdlib_linalg_svd.fypp @@ -6,7 +6,7 @@ submodule(stdlib_linalg) stdlib_linalg_svd use stdlib_linalg_lapack, only: gesdd use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, & LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR, LINALG_SUCCESS - implicit none(type,external) + implicit none character(*), parameter :: this = 'svd'