Skip to content

Commit 16db9c2

Browse files
author
eugene.chereshnev
committed
Add quick return for *LARR* routines
1 parent ee09e07 commit 16db9c2

24 files changed

Lines changed: 4618 additions & 4476 deletions

SRC/cgejsv.f

Lines changed: 2235 additions & 2235 deletions
Large diffs are not rendered by default.

SRC/clarrv.f

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,13 @@ SUBROUTINE CLARRV( N, VL, VU, D, L, PIVMIN,
348348
* ..
349349

350350
INFO = 0
351+
*
352+
* Quick return if possible
353+
*
354+
IF( N.LE.0 ) THEN
355+
RETURN
356+
END IF
357+
*
351358
* The first N entries of WORK are reserved for the eigenvalues
352359
INDLD = N+1
353360
INDLLD= 2*N+1

SRC/dlarra.f

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,13 @@ SUBROUTINE DLARRA( N, D, E, E2, SPLTOL, TNRM,
167167
* .. Executable Statements ..
168168
*
169169
INFO = 0
170-
170+
*
171+
* Quick return if possible
172+
*
173+
IF( N.LE.0 ) THEN
174+
RETURN
175+
END IF
176+
*
171177
* Compute splitting points
172178
NSPLIT = 1
173179
IF(SPLTOL.LT.ZERO) THEN

SRC/dlarrb.f

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,12 @@ SUBROUTINE DLARRB( N, D, LLD, IFIRST, ILAST, RTOL1,
236236
* .. Executable Statements ..
237237
*
238238
INFO = 0
239+
*
240+
* Quick return if possible
241+
*
242+
IF( N.LE.0 ) THEN
243+
RETURN
244+
END IF
239245
*
240246
MAXITR = INT( ( LOG( SPDIAM+PIVMIN )-LOG( PIVMIN ) ) /
241247
$ LOG( TWO ) ) + 2

SRC/dlarrc.f

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,13 @@ SUBROUTINE DLARRC( JOBT, N, VL, VU, D, E, PIVMIN,
170170
* .. Executable Statements ..
171171
*
172172
INFO = 0
173+
*
174+
* Quick return if possible
175+
*
176+
IF( N.LE.0 ) THEN
177+
RETURN
178+
END IF
179+
*
173180
LCNT = 0
174181
RCNT = 0
175182
EIGCNT = 0

SRC/dlarrd.f

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,12 @@ SUBROUTINE DLARRD( RANGE, ORDER, N, VL, VU, IL, IU, GERS,
385385
*
386386
INFO = 0
387387
*
388+
* Quick return if possible
389+
*
390+
IF( N.LE.0 ) THEN
391+
RETURN
392+
END IF
393+
*
388394
* Decode RANGE
389395
*
390396
IF( LSAME( RANGE, 'A' ) ) THEN

SRC/dlarre.f

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,12 @@ SUBROUTINE DLARRE( RANGE, N, VL, VU, IL, IU, D, E, E2,
370370
*
371371

372372
INFO = 0
373-
373+
*
374+
* Quick return if possible
375+
*
376+
IF( N.LE.0 ) THEN
377+
RETURN
378+
END IF
374379
*
375380
* Decode RANGE
376381
*

SRC/dlarrf.f

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,13 @@ SUBROUTINE DLARRF( N, D, L, LD, CLSTRT, CLEND,
239239
* .. Executable Statements ..
240240
*
241241
INFO = 0
242+
*
243+
* Quick return if possible
244+
*
245+
IF( N.LE.0 ) THEN
246+
RETURN
247+
END IF
248+
*
242249
FACT = DBLE(2**KTRYMAX)
243250
EPS = DLAMCH( 'Precision' )
244251
SHIFT = 0

SRC/dlarrj.f

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,12 @@ SUBROUTINE DLARRJ( N, D, E2, IFIRST, ILAST,
203203
* .. Executable Statements ..
204204
*
205205
INFO = 0
206+
*
207+
* Quick return if possible
208+
*
209+
IF( N.LE.0 ) THEN
210+
RETURN
211+
END IF
206212
*
207213
MAXITR = INT( ( LOG( SPDIAM+PIVMIN )-LOG( PIVMIN ) ) /
208214
$ LOG( TWO ) ) + 2

SRC/dlarrk.f

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,13 @@ SUBROUTINE DLARRK( N, IW, GL, GU,
179179
* ..
180180
* .. Executable Statements ..
181181
*
182+
* Quick return if possible
183+
*
184+
IF( N.LE.0 ) THEN
185+
INFO = 0
186+
RETURN
187+
END IF
188+
*
182189
* Get machine constants
183190
EPS = DLAMCH( 'P' )
184191

0 commit comments

Comments
 (0)