@@ -29177,8 +29177,7 @@ module stdlib_linalg_lapack_d
29177
29177
end do
29178
29178
f = finit + tau*fc
29179
29179
erretm = eight*( abs( finit )+abs( tau )*erretm ) +abs( tau )*df
29180
- if( ( abs( f )<=four*eps*erretm ) .or.( (ubd-lbd)<=four*eps*abs(tau) ) )go to &
29181
- 60
29180
+ if( ( abs( f )<=four*eps*erretm ) .or.( (ubd-lbd)<=four*eps*abs(tau) ) ) go to 60
29182
29181
if( f <= zero )then
29183
29182
lbd = tau
29184
29183
else
@@ -35315,8 +35314,7 @@ module stdlib_linalg_lapack_d
35315
35314
nn = 4*n0 + pp
35316
35315
if( n0==( i0+1 ) )go to 40
35317
35316
! check whether e(n0-1) is negligible, 1 eigenvalue.
35318
- if( z( nn-5 )>tol2*( sigma+z( nn-3 ) ) .and.z( nn-2*pp-4 )>tol2*z( nn-7 ) )go to &
35319
- 30
35317
+ if( z( nn-5 )>tol2*( sigma+z( nn-3 ) ) .and.z( nn-2*pp-4 )>tol2*z( nn-7 ) ) go to 30
35320
35318
20 continue
35321
35319
z( 4*n0-3 ) = z( 4*n0+pp-3 ) + sigma
35322
35320
n0 = n0 - 1
@@ -66034,8 +66032,7 @@ module stdlib_linalg_lapack_d
66034
66032
call stdlib_dlarfx( 'L', 3, 3, u, tau, d, ldd, work )
66035
66033
call stdlib_dlarfx( 'R', 3, 3, u, tau, d, ldd, work )
66036
66034
! test whether to reject swap.
66037
- if( max( abs( d( 3, 1 ) ), abs( d( 3, 2 ) ), abs( d( 3,3 )-t11 ) )>thresh )go to &
66038
- 50
66035
+ if( max( abs( d( 3, 1 ) ), abs( d( 3, 2 ) ), abs( d( 3,3 )-t11 ) )>thresh ) go to 50
66039
66036
! accept swap: apply transformation to the entire matrix t.
66040
66037
call stdlib_dlarfx( 'L', 3, n-j1+1, u, tau, t( j1, j1 ), ldt, work )
66041
66038
call stdlib_dlarfx( 'R', j2, 3, u, tau, t( 1, j1 ), ldt, work )
@@ -66062,8 +66059,7 @@ module stdlib_linalg_lapack_d
66062
66059
call stdlib_dlarfx( 'L', 3, 3, u, tau, d, ldd, work )
66063
66060
call stdlib_dlarfx( 'R', 3, 3, u, tau, d, ldd, work )
66064
66061
! test whether to reject swap.
66065
- if( max( abs( d( 2, 1 ) ), abs( d( 3, 1 ) ), abs( d( 1,1 )-t33 ) )>thresh )go to &
66066
- 50
66062
+ if( max( abs( d( 2, 1 ) ), abs( d( 3, 1 ) ), abs( d( 1,1 )-t33 ) )>thresh ) go to 50
66067
66063
! accept swap: apply transformation to the entire matrix t.
66068
66064
call stdlib_dlarfx( 'R', j3, 3, u, tau, t( 1, j1 ), ldt, work )
66069
66065
call stdlib_dlarfx( 'L', 3, n-j1, u, tau, t( j1, j2 ), ldt, work )
@@ -68845,25 +68841,23 @@ module stdlib_linalg_lapack_d
68845
68841
! aggressive enforcement of lower numerical rank by introducing a
68846
68842
! backward error of the order of n*epsln*||a||.
68847
68843
temp1 = sqrt(real(n,KIND=dp))*epsln
68848
- do p = 2, n
68844
+ loop_3002: do p = 2, n
68849
68845
if ( abs(a(p,p)) >= (temp1*abs(a(1,1))) ) then
68850
68846
nr = nr + 1
68851
68847
else
68852
- go to 3002
68848
+ exit loop_3002
68853
68849
end if
68854
- end do
68855
- 3002 continue
68850
+ end do loop_3002
68856
68851
else if ( l2rank ) then
68857
68852
! .. similarly as above, only slightly more gentle (less aggressive).
68858
68853
! sudden drop on the diagonal of r1 is used as the criterion for
68859
68854
! close-to-rank-deficient.
68860
68855
temp1 = sqrt(sfmin)
68861
- do p = 2, n
68856
+ loop_3402: do p = 2, n
68862
68857
if ( ( abs(a(p,p)) < (epsln*abs(a(p-1,p-1))) ) .or.( abs(a(p,p)) < small ) .or.( &
68863
- l2kill .and. (abs(a(p,p)) < temp1) ) ) go to 3402
68858
+ l2kill .and. (abs(a(p,p)) < temp1) ) ) exit loop_3402
68864
68859
nr = nr + 1
68865
- end do
68866
- 3402 continue
68860
+ end do loop_3402
68867
68861
else
68868
68862
! the goal is high relative accuracy. however, if the matrix
68869
68863
! has high scaled condition number the relative accuracy is in
@@ -68873,12 +68867,10 @@ module stdlib_linalg_lapack_d
68873
68867
! factor. this prevents the situation in which the code is
68874
68868
! working hard to get the accuracy not warranted by the data.
68875
68869
temp1 = sqrt(sfmin)
68876
- do p = 2, n
68877
- if ( ( abs(a(p,p)) < small ) .or.( l2kill .and. (abs(a(p,p)) < temp1) ) ) go to &
68878
- 3302
68870
+ loop_3302: do p = 2, n
68871
+ if ( ( abs(a(p,p)) < small ) .or.( l2kill .and. (abs(a(p,p)) < temp1) ) ) exit loop_3302
68879
68872
nr = nr + 1
68880
- end do
68881
- 3302 continue
68873
+ end do loop_3302
68882
68874
end if
68883
68875
almort = .false.
68884
68876
if ( nr == n ) then
@@ -78664,11 +78656,10 @@ module stdlib_linalg_lapack_d
78664
78656
! backward error of the order of n*eps*||a||_f.
78665
78657
nr = 1
78666
78658
rtmp = sqrt(real(n,KIND=dp))*epsln
78667
- do p = 2, n
78668
- if ( abs(a(p,p)) < (rtmp*abs(a(1,1))) ) go to 3002
78659
+ loop_3002: do p = 2, n
78660
+ if ( abs(a(p,p)) < (rtmp*abs(a(1,1))) ) exit loop_3002
78669
78661
nr = nr + 1
78670
- end do
78671
- 3002 continue
78662
+ end do loop_3002
78672
78663
elseif ( acclm ) then
78673
78664
! .. similarly as above, only slightly more gentle (less aggressive).
78674
78665
! sudden drop on the diagonal of r is used as the criterion for being
@@ -78677,23 +78668,20 @@ module stdlib_linalg_lapack_d
78677
78668
! with a user specified threshold.]] also, the values that underflow
78678
78669
! will be truncated.
78679
78670
nr = 1
78680
- do p = 2, n
78681
- if ( ( abs(a(p,p)) < (epsln*abs(a(p-1,p-1))) ) .or.( abs(a(p,p)) < sfmin ) ) go &
78682
- to 3402
78671
+ loop_3402: do p = 2, n
78672
+ if ( ( abs(a(p,p)) < (epsln*abs(a(p-1,p-1))) ) .or.( abs(a(p,p)) < sfmin ) ) exit loop_3402
78683
78673
nr = nr + 1
78684
- end do
78685
- 3402 continue
78674
+ end do loop_3402
78686
78675
else
78687
78676
! Rrqr Not Authorized To Determine Numerical Rank Except In The
78688
78677
! obvious case of zero pivots.
78689
78678
! .. inspect r for exact zeros on the diagonal;
78690
78679
! r(i,i)=0 => r(i:n,i:n)=0.
78691
78680
nr = 1
78692
- do p = 2, n
78693
- if ( abs(a(p,p)) == zero ) go to 3502
78694
- nr = nr + 1
78695
- end do
78696
- 3502 continue
78681
+ loop_3502: do p = 2, n
78682
+ if ( abs(a(p,p)) == zero ) exit loop_3502
78683
+ nr = nr + 1
78684
+ end do loop_3502
78697
78685
if ( conda ) then
78698
78686
! estimate the scaled condition number of a. use the fact that it is
78699
78687
! the same as the scaled condition number of r.
@@ -80397,7 +80385,7 @@ module stdlib_linalg_lapack_d
80397
80385
kwtop, kwv, ld, ls, lwkopt, ndec, ndfl, nh, nho, nibble, nmin, ns, nsmax, nsr, nve, nw,&
80398
80386
nwmax, nwr, nwupbd
80399
80387
logical(lk) :: sorted
80400
- character :: jbcmpz*2
80388
+ character(len=2) :: jbcmpz
80401
80389
! Local Arrays
80402
80390
real(dp) :: zdum(1,1)
80403
80391
! Intrinsic Functions
@@ -81084,7 +81072,7 @@ module stdlib_linalg_lapack_d
81084
81072
kwtop, kwv, ld, ls, lwkopt, ndec, ndfl, nh, nho, nibble, nmin, ns, nsmax, nsr, nve, nw,&
81085
81073
nwmax, nwr, nwupbd
81086
81074
logical(lk) :: sorted
81087
- character :: jbcmpz*2
81075
+ character(len=2) :: jbcmpz
81088
81076
! Local Arrays
81089
81077
real(dp) :: zdum(1,1)
81090
81078
! Intrinsic Functions
@@ -81464,7 +81452,7 @@ module stdlib_linalg_lapack_d
81464
81452
istopm, iwants, iwantq, iwantz, norm_info, aed_info, nwr, nbr, nsr, itemp1, itemp2, &
81465
81453
rcost, i
81466
81454
logical(lk) :: ilschur, ilq, ilz
81467
- character :: jbcmpz*3
81455
+ character(len=3) :: jbcmpz
81468
81456
if( stdlib_lsame( wants, 'E' ) ) then
81469
81457
ilschur = .false.
81470
81458
iwants = 1
0 commit comments