Skip to content

Commit ac82605

Browse files
committed
refactor: rename ABS1 statement function to CABS1 for consistency
Several LAPACK, BLAS, and CBLAS source files defined a local statement function named ABS1 for the complex 1-norm approximation: ABS1( X ) = ABS( REAL( X ) ) + ABS( AIMAG( X ) ) ABS1( X ) = ABS( DBLE( X ) ) + ABS( DIMAG( X ) ) The majority of the codebase already uses CABS1 for this identical purpose. This commit renames ABS1 to CABS1 in all remaining files (definition line, declaration line, and all call sites within the same file) to make the naming consistent across the repository. A small number of fixed-form lines required continuation-line splits to stay within the 72-column limit after the rename. No numerical change. Statement functions are file-local in Fortran, so there is no ABI or interface impact. This is a preparatory cleanup before inlining these statement functions (see issue #1200).
1 parent c550a36 commit ac82605

30 files changed

Lines changed: 462 additions & 444 deletions

BLAS/TESTING/cblat2.f

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2974,9 +2974,9 @@ SUBROUTINE CMVCH( TRANS, M, N, ALPHA, A, NMAX, X, INCX, BETA, Y,
29742974
* .. Intrinsic Functions ..
29752975
INTRINSIC ABS, AIMAG, CONJG, MAX, REAL, SQRT
29762976
* .. Statement Functions ..
2977-
REAL ABS1
2977+
REAL CABS1
29782978
* .. Statement Function definitions ..
2979-
ABS1( C ) = ABS( REAL( C ) ) + ABS( AIMAG( C ) )
2979+
CABS1( C ) = ABS( REAL( C ) ) + ABS( AIMAG( C ) )
29802980
* .. Executable Statements ..
29812981
TRAN = TRANS.EQ.'T'
29822982
CTRAN = TRANS.EQ.'C'
@@ -3013,24 +3013,25 @@ SUBROUTINE CMVCH( TRANS, M, N, ALPHA, A, NMAX, X, INCX, BETA, Y,
30133013
IF( TRAN )THEN
30143014
DO 10 J = 1, NL
30153015
YT( IY ) = YT( IY ) + A( J, I )*X( JX )
3016-
G( IY ) = G( IY ) + ABS1( A( J, I ) )*ABS1( X( JX ) )
3016+
G( IY ) = G( IY ) + CABS1( A( J, I ) )*CABS1( X( JX ) )
30173017
JX = JX + INCXL
30183018
10 CONTINUE
30193019
ELSE IF( CTRAN )THEN
30203020
DO 20 J = 1, NL
30213021
YT( IY ) = YT( IY ) + CONJG( A( J, I ) )*X( JX )
3022-
G( IY ) = G( IY ) + ABS1( A( J, I ) )*ABS1( X( JX ) )
3022+
G( IY ) = G( IY ) + CABS1( A( J, I ) )*CABS1( X( JX ) )
30233023
JX = JX + INCXL
30243024
20 CONTINUE
30253025
ELSE
30263026
DO 30 J = 1, NL
30273027
YT( IY ) = YT( IY ) + A( I, J )*X( JX )
3028-
G( IY ) = G( IY ) + ABS1( A( I, J ) )*ABS1( X( JX ) )
3028+
G( IY ) = G( IY ) + CABS1( A( I, J ) )*CABS1( X( JX ) )
30293029
JX = JX + INCXL
30303030
30 CONTINUE
30313031
END IF
30323032
YT( IY ) = ALPHA*YT( IY ) + BETA*Y( IY )
3033-
G( IY ) = ABS1( ALPHA )*G( IY ) + ABS1( BETA )*ABS1( Y( IY ) )
3033+
G( IY ) = CABS1( ALPHA )*G( IY )
3034+
$ + CABS1( BETA )*CABS1( Y( IY ) )
30343035
IY = IY + INCYL
30353036
40 CONTINUE
30363037
*

BLAS/TESTING/cblat3.f

Lines changed: 46 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -3288,9 +3288,9 @@ SUBROUTINE CMMCH( TRANSA, TRANSB, M, N, KK, ALPHA, A, LDA, B, LDB,
32883288
* .. Intrinsic Functions ..
32893289
INTRINSIC ABS, AIMAG, CONJG, MAX, REAL, SQRT
32903290
* .. Statement Functions ..
3291-
REAL ABS1
3291+
REAL CABS1
32923292
* .. Statement Function definitions ..
3293-
ABS1( CL ) = ABS( REAL( CL ) ) + ABS( AIMAG( CL ) )
3293+
CABS1( CL ) = ABS( REAL( CL ) ) + ABS( AIMAG( CL ) )
32943294
* .. Executable Statements ..
32953295
TRANA = TRANSA.EQ.'T'.OR.TRANSA.EQ.'C'
32963296
TRANB = TRANSB.EQ.'T'.OR.TRANSB.EQ.'C'
@@ -3311,24 +3311,25 @@ SUBROUTINE CMMCH( TRANSA, TRANSB, M, N, KK, ALPHA, A, LDA, B, LDB,
33113311
DO 30 K = 1, KK
33123312
DO 20 I = 1, M
33133313
CT( I ) = CT( I ) + A( I, K )*B( K, J )
3314-
G( I ) = G( I ) + ABS1( A( I, K ) )*ABS1( B( K, J ) )
3314+
G( I ) = G( I )
3315+
$ + CABS1( A( I, K ) )*CABS1( B( K, J ) )
33153316
20 CONTINUE
33163317
30 CONTINUE
33173318
ELSE IF( TRANA.AND..NOT.TRANB )THEN
33183319
IF( CTRANA )THEN
33193320
DO 50 K = 1, KK
33203321
DO 40 I = 1, M
33213322
CT( I ) = CT( I ) + CONJG( A( K, I ) )*B( K, J )
3322-
G( I ) = G( I ) + ABS1( A( K, I ) )*
3323-
$ ABS1( B( K, J ) )
3323+
G( I ) = G( I ) + CABS1( A( K, I ) )*
3324+
$ CABS1( B( K, J ) )
33243325
40 CONTINUE
33253326
50 CONTINUE
33263327
ELSE
33273328
DO 70 K = 1, KK
33283329
DO 60 I = 1, M
33293330
CT( I ) = CT( I ) + A( K, I )*B( K, J )
3330-
G( I ) = G( I ) + ABS1( A( K, I ) )*
3331-
$ ABS1( B( K, J ) )
3331+
G( I ) = G( I ) + CABS1( A( K, I ) )*
3332+
$ CABS1( B( K, J ) )
33323333
60 CONTINUE
33333334
70 CONTINUE
33343335
END IF
@@ -3337,16 +3338,16 @@ SUBROUTINE CMMCH( TRANSA, TRANSB, M, N, KK, ALPHA, A, LDA, B, LDB,
33373338
DO 90 K = 1, KK
33383339
DO 80 I = 1, M
33393340
CT( I ) = CT( I ) + A( I, K )*CONJG( B( J, K ) )
3340-
G( I ) = G( I ) + ABS1( A( I, K ) )*
3341-
$ ABS1( B( J, K ) )
3341+
G( I ) = G( I ) + CABS1( A( I, K ) )*
3342+
$ CABS1( B( J, K ) )
33423343
80 CONTINUE
33433344
90 CONTINUE
33443345
ELSE
33453346
DO 110 K = 1, KK
33463347
DO 100 I = 1, M
33473348
CT( I ) = CT( I ) + A( I, K )*B( J, K )
3348-
G( I ) = G( I ) + ABS1( A( I, K ) )*
3349-
$ ABS1( B( J, K ) )
3349+
G( I ) = G( I ) + CABS1( A( I, K ) )*
3350+
$ CABS1( B( J, K ) )
33503351
100 CONTINUE
33513352
110 CONTINUE
33523353
END IF
@@ -3357,16 +3358,16 @@ SUBROUTINE CMMCH( TRANSA, TRANSB, M, N, KK, ALPHA, A, LDA, B, LDB,
33573358
DO 120 I = 1, M
33583359
CT( I ) = CT( I ) + CONJG( A( K, I ) )*
33593360
$ CONJG( B( J, K ) )
3360-
G( I ) = G( I ) + ABS1( A( K, I ) )*
3361-
$ ABS1( B( J, K ) )
3361+
G( I ) = G( I ) + CABS1( A( K, I ) )*
3362+
$ CABS1( B( J, K ) )
33623363
120 CONTINUE
33633364
130 CONTINUE
33643365
ELSE
33653366
DO 150 K = 1, KK
33663367
DO 140 I = 1, M
33673368
CT( I ) = CT( I ) + CONJG( A( K, I ) )*B( J, K )
3368-
G( I ) = G( I ) + ABS1( A( K, I ) )*
3369-
$ ABS1( B( J, K ) )
3369+
G( I ) = G( I ) + CABS1( A( K, I ) )*
3370+
$ CABS1( B( J, K ) )
33703371
140 CONTINUE
33713372
150 CONTINUE
33723373
END IF
@@ -3375,32 +3376,32 @@ SUBROUTINE CMMCH( TRANSA, TRANSB, M, N, KK, ALPHA, A, LDA, B, LDB,
33753376
DO 170 K = 1, KK
33763377
DO 160 I = 1, M
33773378
CT( I ) = CT( I ) + A( K, I )*CONJG( B( J, K ) )
3378-
G( I ) = G( I ) + ABS1( A( K, I ) )*
3379-
$ ABS1( B( J, K ) )
3379+
G( I ) = G( I ) + CABS1( A( K, I ) )*
3380+
$ CABS1( B( J, K ) )
33803381
160 CONTINUE
33813382
170 CONTINUE
33823383
ELSE
33833384
DO 190 K = 1, KK
33843385
DO 180 I = 1, M
33853386
CT( I ) = CT( I ) + A( K, I )*B( J, K )
3386-
G( I ) = G( I ) + ABS1( A( K, I ) )*
3387-
$ ABS1( B( J, K ) )
3387+
G( I ) = G( I ) + CABS1( A( K, I ) )*
3388+
$ CABS1( B( J, K ) )
33883389
180 CONTINUE
33893390
190 CONTINUE
33903391
END IF
33913392
END IF
33923393
END IF
33933394
DO 200 I = 1, M
33943395
CT( I ) = ALPHA*CT( I ) + BETA*C( I, J )
3395-
G( I ) = ABS1( ALPHA )*G( I ) +
3396-
$ ABS1( BETA )*ABS1( C( I, J ) )
3396+
G( I ) = CABS1( ALPHA )*G( I ) +
3397+
$ CABS1( BETA )*CABS1( C( I, J ) )
33973398
200 CONTINUE
33983399
*
33993400
* Compute the error ratio for this result.
34003401
*
34013402
ERR = ZERO
34023403
DO 210 I = 1, M
3403-
ERRI = ABS1( CT( I ) - CC( I, J ) )/EPS
3404+
ERRI = CABS1( CT( I ) - CC( I, J ) )/EPS
34043405
IF( G( I ).NE.RZERO )
34053406
$ ERRI = ERRI/G( I )
34063407
ERR = MAX( ERR, ERRI )
@@ -4022,9 +4023,9 @@ SUBROUTINE CMMTCH( UPLO, TRANSA, TRANSB, N, KK, ALPHA, A, LDA,
40224023
* .. Intrinsic Functions ..
40234024
INTRINSIC ABS, AIMAG, CONJG, MAX, REAL, SQRT
40244025
* .. Statement Functions ..
4025-
REAL ABS1
4026+
REAL CABS1
40264027
* .. Statement Function definitions ..
4027-
ABS1( CL ) = ABS( REAL( CL ) ) + ABS( AIMAG( CL ) )
4028+
CABS1( CL ) = ABS( REAL( CL ) ) + ABS( AIMAG( CL ) )
40284029
* .. Executable Statements ..
40294030
UPPER = UPLO.EQ.'U'
40304031
TRANA = TRANSA.EQ.'T'.OR.TRANSA.EQ.'C'
@@ -4057,24 +4058,25 @@ SUBROUTINE CMMTCH( UPLO, TRANSA, TRANSB, N, KK, ALPHA, A, LDA,
40574058
DO 30 K = 1, KK
40584059
DO 20 I = ISTART, ISTOP
40594060
CT( I ) = CT( I ) + A( I, K )*B( K, J )
4060-
G( I ) = G( I ) + ABS1( A( I, K ) )*ABS1( B( K, J ) )
4061+
G( I ) = G( I )
4062+
$ + CABS1( A( I, K ) )*CABS1( B( K, J ) )
40614063
20 CONTINUE
40624064
30 CONTINUE
40634065
ELSE IF( TRANA.AND..NOT.TRANB )THEN
40644066
IF( CTRANA )THEN
40654067
DO 50 K = 1, KK
40664068
DO 40 I = ISTART, ISTOP
40674069
CT( I ) = CT( I ) + CONJG( A( K, I ) )*B( K, J )
4068-
G( I ) = G( I ) + ABS1( A( K, I ) )*
4069-
$ ABS1( B( K, J ) )
4070+
G( I ) = G( I ) + CABS1( A( K, I ) )*
4071+
$ CABS1( B( K, J ) )
40704072
40 CONTINUE
40714073
50 CONTINUE
40724074
ELSE
40734075
DO 70 K = 1, KK
40744076
DO 60 I = ISTART, ISTOP
40754077
CT( I ) = CT( I ) + A( K, I )*B( K, J )
4076-
G( I ) = G( I ) + ABS1( A( K, I ) )*
4077-
$ ABS1( B( K, J ) )
4078+
G( I ) = G( I ) + CABS1( A( K, I ) )*
4079+
$ CABS1( B( K, J ) )
40784080
60 CONTINUE
40794081
70 CONTINUE
40804082
END IF
@@ -4083,16 +4085,16 @@ SUBROUTINE CMMTCH( UPLO, TRANSA, TRANSB, N, KK, ALPHA, A, LDA,
40834085
DO 90 K = 1, KK
40844086
DO 80 I = ISTART, ISTOP
40854087
CT( I ) = CT( I ) + A( I, K )*CONJG( B( J, K ) )
4086-
G( I ) = G( I ) + ABS1( A( I, K ) )*
4087-
$ ABS1( B( J, K ) )
4088+
G( I ) = G( I ) + CABS1( A( I, K ) )*
4089+
$ CABS1( B( J, K ) )
40884090
80 CONTINUE
40894091
90 CONTINUE
40904092
ELSE
40914093
DO 110 K = 1, KK
40924094
DO 100 I = ISTART, ISTOP
40934095
CT( I ) = CT( I ) + A( I, K )*B( J, K )
4094-
G( I ) = G( I ) + ABS1( A( I, K ) )*
4095-
$ ABS1( B( J, K ) )
4096+
G( I ) = G( I ) + CABS1( A( I, K ) )*
4097+
$ CABS1( B( J, K ) )
40964098
100 CONTINUE
40974099
110 CONTINUE
40984100
END IF
@@ -4103,16 +4105,16 @@ SUBROUTINE CMMTCH( UPLO, TRANSA, TRANSB, N, KK, ALPHA, A, LDA,
41034105
DO 120 I = ISTART, ISTOP
41044106
CT( I ) = CT( I ) + CONJG( A( K, I ) )*
41054107
$ CONJG( B( J, K ) )
4106-
G( I ) = G( I ) + ABS1( A( K, I ) )*
4107-
$ ABS1( B( J, K ) )
4108+
G( I ) = G( I ) + CABS1( A( K, I ) )*
4109+
$ CABS1( B( J, K ) )
41084110
120 CONTINUE
41094111
130 CONTINUE
41104112
ELSE
41114113
DO 150 K = 1, KK
41124114
DO 140 I = ISTART, ISTOP
41134115
CT( I ) = CT( I ) + CONJG( A( K, I ) )*B( J, K )
4114-
G( I ) = G( I ) + ABS1( A( K, I ) )*
4115-
$ ABS1( B( J, K ) )
4116+
G( I ) = G( I ) + CABS1( A( K, I ) )*
4117+
$ CABS1( B( J, K ) )
41164118
140 CONTINUE
41174119
150 CONTINUE
41184120
END IF
@@ -4121,32 +4123,32 @@ SUBROUTINE CMMTCH( UPLO, TRANSA, TRANSB, N, KK, ALPHA, A, LDA,
41214123
DO 170 K = 1, KK
41224124
DO 160 I = ISTART, ISTOP
41234125
CT( I ) = CT( I ) + A( K, I )*CONJG( B( J, K ) )
4124-
G( I ) = G( I ) + ABS1( A( K, I ) )*
4125-
$ ABS1( B( J, K ) )
4126+
G( I ) = G( I ) + CABS1( A( K, I ) )*
4127+
$ CABS1( B( J, K ) )
41264128
160 CONTINUE
41274129
170 CONTINUE
41284130
ELSE
41294131
DO 190 K = 1, KK
41304132
DO 180 I = ISTART, ISTOP
41314133
CT( I ) = CT( I ) + A( K, I )*B( J, K )
4132-
G( I ) = G( I ) + ABS1( A( K, I ) )*
4133-
$ ABS1( B( J, K ) )
4134+
G( I ) = G( I ) + CABS1( A( K, I ) )*
4135+
$ CABS1( B( J, K ) )
41344136
180 CONTINUE
41354137
190 CONTINUE
41364138
END IF
41374139
END IF
41384140
END IF
41394141
DO 200 I = ISTART, ISTOP
41404142
CT( I ) = ALPHA*CT( I ) + BETA*C( I, J )
4141-
G( I ) = ABS1( ALPHA )*G( I ) +
4142-
$ ABS1( BETA )*ABS1( C( I, J ) )
4143+
G( I ) = CABS1( ALPHA )*G( I ) +
4144+
$ CABS1( BETA )*CABS1( C( I, J ) )
41434145
200 CONTINUE
41444146
*
41454147
* Compute the error ratio for this result.
41464148
*
41474149
ERR = ZERO
41484150
DO 210 I = ISTART, ISTOP
4149-
ERRI = ABS1( CT( I ) - CC( I, J ) )/EPS
4151+
ERRI = CABS1( CT( I ) - CC( I, J ) )/EPS
41504152
IF( G( I ).NE.RZERO )
41514153
$ ERRI = ERRI/G( I )
41524154
ERR = MAX( ERR, ERRI )

BLAS/TESTING/zblat2.f

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2982,9 +2982,9 @@ SUBROUTINE ZMVCH( TRANS, M, N, ALPHA, A, NMAX, X, INCX, BETA, Y,
29822982
* .. Intrinsic Functions ..
29832983
INTRINSIC ABS, DBLE, DCONJG, DIMAG, MAX, SQRT
29842984
* .. Statement Functions ..
2985-
DOUBLE PRECISION ABS1
2985+
DOUBLE PRECISION CABS1
29862986
* .. Statement Function definitions ..
2987-
ABS1( C ) = ABS( DBLE( C ) ) + ABS( DIMAG( C ) )
2987+
CABS1( C ) = ABS( DBLE( C ) ) + ABS( DIMAG( C ) )
29882988
* .. Executable Statements ..
29892989
TRAN = TRANS.EQ.'T'
29902990
CTRAN = TRANS.EQ.'C'
@@ -3021,24 +3021,25 @@ SUBROUTINE ZMVCH( TRANS, M, N, ALPHA, A, NMAX, X, INCX, BETA, Y,
30213021
IF( TRAN )THEN
30223022
DO 10 J = 1, NL
30233023
YT( IY ) = YT( IY ) + A( J, I )*X( JX )
3024-
G( IY ) = G( IY ) + ABS1( A( J, I ) )*ABS1( X( JX ) )
3024+
G( IY ) = G( IY ) + CABS1( A( J, I ) )*CABS1( X( JX ) )
30253025
JX = JX + INCXL
30263026
10 CONTINUE
30273027
ELSE IF( CTRAN )THEN
30283028
DO 20 J = 1, NL
30293029
YT( IY ) = YT( IY ) + DCONJG( A( J, I ) )*X( JX )
3030-
G( IY ) = G( IY ) + ABS1( A( J, I ) )*ABS1( X( JX ) )
3030+
G( IY ) = G( IY ) + CABS1( A( J, I ) )*CABS1( X( JX ) )
30313031
JX = JX + INCXL
30323032
20 CONTINUE
30333033
ELSE
30343034
DO 30 J = 1, NL
30353035
YT( IY ) = YT( IY ) + A( I, J )*X( JX )
3036-
G( IY ) = G( IY ) + ABS1( A( I, J ) )*ABS1( X( JX ) )
3036+
G( IY ) = G( IY ) + CABS1( A( I, J ) )*CABS1( X( JX ) )
30373037
JX = JX + INCXL
30383038
30 CONTINUE
30393039
END IF
30403040
YT( IY ) = ALPHA*YT( IY ) + BETA*Y( IY )
3041-
G( IY ) = ABS1( ALPHA )*G( IY ) + ABS1( BETA )*ABS1( Y( IY ) )
3041+
G( IY ) = CABS1( ALPHA )*G( IY )
3042+
$ + CABS1( BETA )*CABS1( Y( IY ) )
30423043
IY = IY + INCYL
30433044
40 CONTINUE
30443045
*

0 commit comments

Comments
 (0)