@@ -2737,7 +2737,7 @@ module stdlib_linalg_lapack_s
2737
2737
end function stdlib${ii}$_slaisnan
2738
2738
2739
2739
2740
- pure real(sp) function stdlib${ii}$_slamch( cmach )
2740
+ pure real(sp) function stdlib${ii}$_slamch( cmach )
2741
2741
!! SLAMCH determines single precision machine parameters.
2742
2742
! -- lapack auxiliary routine --
2743
2743
! -- lapack is a software package provided by univ. of tennessee, --
@@ -2747,17 +2747,11 @@ module stdlib_linalg_lapack_s
2747
2747
! =====================================================================
2748
2748
2749
2749
! Local Scalars
2750
- real(sp) :: rnd, eps, sfmin, small, rmach
2750
+ real(sp) :: sfmin, small, rmach
2751
2751
! Intrinsic Functions
2752
2752
intrinsic :: digits,epsilon,huge,maxexponent,minexponent,radix,tiny
2753
2753
! Executable Statements
2754
2754
! assume rounding, not chopping. always.
2755
- rnd = one
2756
- if( one==rnd ) then
2757
- eps = epsilon(zero) * 0.5
2758
- else
2759
- eps = epsilon(zero)
2760
- end if
2761
2755
if( stdlib_lsame( cmach, 'E' ) ) then
2762
2756
rmach = eps
2763
2757
else if( stdlib_lsame( cmach, 'S' ) ) then
@@ -2776,7 +2770,7 @@ module stdlib_linalg_lapack_s
2776
2770
else if( stdlib_lsame( cmach, 'N' ) ) then
2777
2771
rmach = digits(zero)
2778
2772
else if( stdlib_lsame( cmach, 'R' ) ) then
2779
- rmach = rnd
2773
+ rmach = one
2780
2774
else if( stdlib_lsame( cmach, 'M' ) ) then
2781
2775
rmach = minexponent(zero)
2782
2776
else if( stdlib_lsame( cmach, 'U' ) ) then
@@ -2793,7 +2787,7 @@ module stdlib_linalg_lapack_s
2793
2787
end function stdlib${ii}$_slamch
2794
2788
2795
2789
2796
- pure real(sp) function stdlib${ii}$_slamc3( a, b )
2790
+ pure real(sp) function stdlib${ii}$_slamc3( a, b )
2797
2791
! -- lapack auxiliary routine --
2798
2792
! univ. of tennessee, univ. of california berkeley and nag ltd..
2799
2793
! Scalar Arguments
@@ -3135,7 +3129,7 @@ module stdlib_linalg_lapack_s
3135
3129
end subroutine stdlib${ii}$_slapmt
3136
3130
3137
3131
3138
- pure real(sp) function stdlib${ii}$_slapy3( x, y, z )
3132
+ pure real(sp) function stdlib${ii}$_slapy3( x, y, z )
3139
3133
!! SLAPY3 returns sqrt(x**2+y**2+z**2), taking care not to cause
3140
3134
!! unnecessary overflow and unnecessary underflow.
3141
3135
! -- lapack auxiliary routine --
@@ -29907,7 +29901,7 @@ module stdlib_linalg_lapack_s
29907
29901
end function stdlib${ii}$_slaneg
29908
29902
29909
29903
29910
- real(sp) function stdlib${ii}$_slangb( norm, n, kl, ku, ab, ldab,work )
29904
+ real(sp) function stdlib${ii}$_slangb( norm, n, kl, ku, ab, ldab,work )
29911
29905
!! SLANGB returns the value of the one norm, or the Frobenius norm, or
29912
29906
!! the infinity norm, or the element of largest absolute value of an
29913
29907
!! n by n band matrix A, with kl sub-diagonals and ku super-diagonals.
@@ -29982,7 +29976,7 @@ module stdlib_linalg_lapack_s
29982
29976
end function stdlib${ii}$_slangb
29983
29977
29984
29978
29985
- real(sp) function stdlib${ii}$_slange( norm, m, n, a, lda, work )
29979
+ real(sp) function stdlib${ii}$_slange( norm, m, n, a, lda, work )
29986
29980
!! SLANGE returns the value of the one norm, or the Frobenius norm, or
29987
29981
!! the infinity norm, or the element of largest absolute value of a
29988
29982
!! real matrix A.
@@ -30054,7 +30048,7 @@ module stdlib_linalg_lapack_s
30054
30048
end function stdlib${ii}$_slange
30055
30049
30056
30050
30057
- pure real(sp) function stdlib${ii}$_slangt( norm, n, dl, d, du )
30051
+ pure real(sp) function stdlib${ii}$_slangt( norm, n, dl, d, du )
30058
30052
!! SLANGT returns the value of the one norm, or the Frobenius norm, or
30059
30053
!! the infinity norm, or the element of largest absolute value of a
30060
30054
!! real tridiagonal matrix A.
@@ -30130,7 +30124,7 @@ module stdlib_linalg_lapack_s
30130
30124
end function stdlib${ii}$_slangt
30131
30125
30132
30126
30133
- real(sp) function stdlib${ii}$_slanhs( norm, n, a, lda, work )
30127
+ real(sp) function stdlib${ii}$_slanhs( norm, n, a, lda, work )
30134
30128
!! SLANHS returns the value of the one norm, or the Frobenius norm, or
30135
30129
!! the infinity norm, or the element of largest absolute value of a
30136
30130
!! Hessenberg matrix A.
@@ -30202,7 +30196,7 @@ module stdlib_linalg_lapack_s
30202
30196
end function stdlib${ii}$_slanhs
30203
30197
30204
30198
30205
- real(sp) function stdlib${ii}$_slansb( norm, uplo, n, k, ab, ldab,work )
30199
+ real(sp) function stdlib${ii}$_slansb( norm, uplo, n, k, ab, ldab,work )
30206
30200
!! SLANSB returns the value of the one norm, or the Frobenius norm, or
30207
30201
!! the infinity norm, or the element of largest absolute value of an
30208
30202
!! n by n symmetric band matrix A, with k super-diagonals.
@@ -31011,7 +31005,7 @@ module stdlib_linalg_lapack_s
31011
31005
end function stdlib${ii}$_slansf
31012
31006
31013
31007
31014
- real(sp) function stdlib${ii}$_slansp( norm, uplo, n, ap, work )
31008
+ real(sp) function stdlib${ii}$_slansp( norm, uplo, n, ap, work )
31015
31009
!! SLANSP returns the value of the one norm, or the Frobenius norm, or
31016
31010
!! the infinity norm, or the element of largest absolute value of a
31017
31011
!! real symmetric matrix A, supplied in packed form.
@@ -31135,7 +31129,7 @@ module stdlib_linalg_lapack_s
31135
31129
end function stdlib${ii}$_slansp
31136
31130
31137
31131
31138
- pure real(sp) function stdlib${ii}$_slanst( norm, n, d, e )
31132
+ pure real(sp) function stdlib${ii}$_slanst( norm, n, d, e )
31139
31133
!! SLANST returns the value of the one norm, or the Frobenius norm, or
31140
31134
!! the infinity norm, or the element of largest absolute value of a
31141
31135
!! real symmetric tridiagonal matrix A.
@@ -31197,7 +31191,7 @@ module stdlib_linalg_lapack_s
31197
31191
end function stdlib${ii}$_slanst
31198
31192
31199
31193
31200
- real(sp) function stdlib${ii}$_slansy( norm, uplo, n, a, lda, work )
31194
+ real(sp) function stdlib${ii}$_slansy( norm, uplo, n, a, lda, work )
31201
31195
!! SLANSY returns the value of the one norm, or the Frobenius norm, or
31202
31196
!! the infinity norm, or the element of largest absolute value of a
31203
31197
!! real symmetric matrix A.
@@ -31293,7 +31287,7 @@ module stdlib_linalg_lapack_s
31293
31287
end function stdlib${ii}$_slansy
31294
31288
31295
31289
31296
- real(sp) function stdlib${ii}$_slantb( norm, uplo, diag, n, k, ab,ldab, work )
31290
+ real(sp) function stdlib${ii}$_slantb( norm, uplo, diag, n, k, ab,ldab, work )
31297
31291
!! SLANTB returns the value of the one norm, or the Frobenius norm, or
31298
31292
!! the infinity norm, or the element of largest absolute value of an
31299
31293
!! n by n triangular band matrix A, with ( k + 1 ) diagonals.
@@ -31486,7 +31480,7 @@ module stdlib_linalg_lapack_s
31486
31480
end function stdlib${ii}$_slantb
31487
31481
31488
31482
31489
- real(sp) function stdlib${ii}$_slantp( norm, uplo, diag, n, ap, work )
31483
+ real(sp) function stdlib${ii}$_slantp( norm, uplo, diag, n, ap, work )
31490
31484
!! SLANTP returns the value of the one norm, or the Frobenius norm, or
31491
31485
!! the infinity norm, or the element of largest absolute value of a
31492
31486
!! triangular matrix A, supplied in packed form.
@@ -31692,7 +31686,7 @@ module stdlib_linalg_lapack_s
31692
31686
end function stdlib${ii}$_slantp
31693
31687
31694
31688
31695
- real(sp) function stdlib${ii}$_slantr( norm, uplo, diag, m, n, a, lda,work )
31689
+ real(sp) function stdlib${ii}$_slantr( norm, uplo, diag, m, n, a, lda,work )
31696
31690
!! SLANTR returns the value of the one norm, or the Frobenius norm, or
31697
31691
!! the infinity norm, or the element of largest absolute value of a
31698
31692
!! trapezoidal or triangular matrix A.
@@ -31972,7 +31966,7 @@ module stdlib_linalg_lapack_s
31972
31966
end subroutine stdlib${ii}$_slaorhr_col_getrfnp
31973
31967
31974
31968
31975
- pure real(sp) function stdlib${ii}$_slapy2( x, y )
31969
+ pure real(sp) function stdlib${ii}$_slapy2( x, y )
31976
31970
!! SLAPY2 returns sqrt(x**2+y**2), taking care not to cause unnecessary
31977
31971
!! overflow and unnecessary underflow.
31978
31972
! -- lapack auxiliary routine --
@@ -81042,7 +81036,7 @@ module stdlib_linalg_lapack_s
81042
81036
integer(${ik}$), intent( out ) :: info
81043
81037
real(sp), intent( inout ) :: a( lda, * ), b( ldb, * ), q( ldq, * ),z( ldz, * ), alphar(&
81044
81038
* ), alphai( * ), beta( * ), work( * )
81045
-
81039
+ ! ================================================================
81046
81040
! local scalars
81047
81041
real(sp) :: smlnum, ulp, eshift, safmin, safmax, c1, s1, temp, swap
81048
81042
integer(${ik}$) :: istart, istop, iiter, maxit, istart2, k, ld, nshifts, nblock, nw, nmin,&
@@ -81392,6 +81386,7 @@ module stdlib_linalg_lapack_s
81392
81386
real(sp), intent(inout) :: qc(ldqc,*), zc(ldzc,*)
81393
81387
real(sp), intent(out) :: work(*)
81394
81388
81389
+ ! ================================================================
81395
81390
! local scalars
81396
81391
logical(lk) :: bulge
81397
81392
integer(${ik}$) :: jw, kwtop, kwbot, istopm, istartm, k, k2, stgexc_info, ifst, ilst, &
0 commit comments