1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
From c8f5920c1b5934075431b83e20695b957e673654 Mon Sep 17 00:00:00 2001
From: Mark Gates <mgates3@icl.utk.edu>
Date: Wed, 27 Aug 2025 00:25:00 -0400
Subject: [PATCH] Add `implicit none` and fix undeclared variables and
functions. Fixes #144.
---
SRC/pcheevd.f | 2 ++
SRC/pclacon.f | 5 +++--
SRC/pclauu2.f | 4 +++-
SRC/pzheevd.f | 6 ++++--
SRC/pzlacon.f | 5 +++--
SRC/pzlauu2.f | 4 +++-
6 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/SRC/pcheevd.f b/SRC/pcheevd.f
index 45f62bd7..ea883a79 100644
--- a/SRC/pcheevd.f
+++ b/SRC/pcheevd.f
@@ -1,6 +1,7 @@
SUBROUTINE PCHEEVD( JOBZ, UPLO, N, A, IA, JA, DESCA, W, Z, IZ, JZ,
$ DESCZ, WORK, LWORK, RWORK, LRWORK, IWORK,
$ LIWORK, INFO )
+ IMPLICIT NONE
*
* -- ScaLAPACK routine (version 1.7) --
* University of Tennessee, Knoxville, Oak Ridge National Laboratory,
@@ -10,6 +11,7 @@ SUBROUTINE PCHEEVD( JOBZ, UPLO, N, A, IA, JA, DESCA, W, Z, IZ, JZ,
* .. Scalar Arguments ..
CHARACTER JOBZ, UPLO
INTEGER IA, INFO, IZ, JA, JZ, LIWORK, LRWORK, LWORK, N
+ INTEGER ICTXT
* ..
* .. Array Arguments ..
INTEGER DESCA( * ), DESCZ( * ), IWORK( * )
diff --git a/SRC/pclacon.f b/SRC/pclacon.f
index c3947d08..cfd4308d 100644
--- a/SRC/pclacon.f
+++ b/SRC/pclacon.f
@@ -1,5 +1,6 @@
SUBROUTINE PCLACON( N, V, IV, JV, DESCV, X, IX, JX, DESCX, EST,
$ KASE )
+ IMPLICIT NONE
*
* -- ScaLAPACK auxiliary routine (version 1.7) --
* University of Tennessee, Knoxville, Oak Ridge National Laboratory,
@@ -150,8 +151,8 @@ SUBROUTINE PCLACON( N, V, IV, JV, DESCV, X, IX, JX, DESCX, EST,
$ RSRC_ = 7, CSRC_ = 8, LLD_ = 9 )
INTEGER ITMAX
PARAMETER ( ITMAX = 5 )
- REAL ONE, TWO
- PARAMETER ( ONE = 1.0E+0, TWO = 2.0E+0 )
+ REAL ZERO, ONE, TWO
+ PARAMETER ( ZERO = 0.0E+0, ONE = 1.0E+0, TWO = 2.0E+0 )
COMPLEX CZERO, CONE
PARAMETER ( CZERO = ( 0.0E+0, 0.0E+0 ),
$ CONE = ( 1.0E+0, 0.0E+0 ) )
diff --git a/SRC/pclauu2.f b/SRC/pclauu2.f
index 59bdd4f1..a5df3059 100644
--- a/SRC/pclauu2.f
+++ b/SRC/pclauu2.f
@@ -1,4 +1,5 @@
SUBROUTINE PCLAUU2( UPLO, N, A, IA, JA, DESCA )
+ IMPLICIT NONE
*
* -- ScaLAPACK auxiliary routine (version 1.7) --
* University of Tennessee, Knoxville, Oak Ridge National Laboratory,
@@ -139,7 +140,8 @@ SUBROUTINE PCLAUU2( UPLO, N, A, IA, JA, DESCA )
* ..
* .. External Functions ..
LOGICAL LSAME
- EXTERNAL LSAME
+ COMPLEX CDOTC
+ EXTERNAL LSAME, CDOTC
* ..
* .. Intrinsic Functions ..
INTRINSIC CMPLX, REAL
diff --git a/SRC/pzheevd.f b/SRC/pzheevd.f
index 52d09559..598debb6 100644
--- a/SRC/pzheevd.f
+++ b/SRC/pzheevd.f
@@ -1,6 +1,7 @@
SUBROUTINE PZHEEVD( JOBZ, UPLO, N, A, IA, JA, DESCA, W, Z, IZ, JZ,
$ DESCZ, WORK, LWORK, RWORK, LRWORK, IWORK,
$ LIWORK, INFO )
+ IMPLICIT NONE
*
* -- ScaLAPACK routine (version 1.7) --
* University of Tennessee, Knoxville, Oak Ridge National Laboratory,
@@ -10,12 +11,13 @@ SUBROUTINE PZHEEVD( JOBZ, UPLO, N, A, IA, JA, DESCA, W, Z, IZ, JZ,
* .. Scalar Arguments ..
CHARACTER JOBZ, UPLO
INTEGER IA, INFO, IZ, JA, JZ, LIWORK, LRWORK, LWORK, N
+ INTEGER ICTXT
* ..
* .. Array Arguments ..
INTEGER DESCA( * ), DESCZ( * ), IWORK( * )
DOUBLE PRECISION RWORK( * ), W( * )
COMPLEX*16 A( * ), WORK( * ), Z( * )
-*
+*
*
* Purpose
* =======
@@ -221,7 +223,7 @@ SUBROUTINE PZHEEVD( JOBZ, UPLO, N, A, IA, JA, DESCA, W, Z, IZ, JZ,
*
IF( NPROW.EQ.-1 ) THEN
INFO = -( 700+CTXT_ )
- ELSE
+ ELSE
CALL CHK1MAT( N, 3, N, 3, IA, JA, DESCA, 7, INFO )
CALL CHK1MAT( N, 3, N, 3, IZ, JZ, DESCZ, 12, INFO )
IF( INFO.EQ.0 ) THEN
diff --git a/SRC/pzlacon.f b/SRC/pzlacon.f
index ac121c4c..19663f46 100644
--- a/SRC/pzlacon.f
+++ b/SRC/pzlacon.f
@@ -1,5 +1,6 @@
SUBROUTINE PZLACON( N, V, IV, JV, DESCV, X, IX, JX, DESCX, EST,
$ KASE )
+ IMPLICIT NONE
*
* -- ScaLAPACK auxiliary routine (version 1.7) --
* University of Tennessee, Knoxville, Oak Ridge National Laboratory,
@@ -150,8 +151,8 @@ SUBROUTINE PZLACON( N, V, IV, JV, DESCV, X, IX, JX, DESCX, EST,
$ RSRC_ = 7, CSRC_ = 8, LLD_ = 9 )
INTEGER ITMAX
PARAMETER ( ITMAX = 5 )
- DOUBLE PRECISION ONE, TWO
- PARAMETER ( ONE = 1.0D+0, TWO = 2.0D+0 )
+ DOUBLE PRECISION ZERO, ONE, TWO
+ PARAMETER ( ZERO = 0.0D+0, ONE = 1.0D+0, TWO = 2.0D+0 )
COMPLEX*16 CZERO, CONE
PARAMETER ( CZERO = ( 0.0D+0, 0.0D+0 ),
$ CONE = ( 1.0D+0, 0.0D+0 ) )
diff --git a/SRC/pzlauu2.f b/SRC/pzlauu2.f
index 25ba8823..dc3341d3 100644
--- a/SRC/pzlauu2.f
+++ b/SRC/pzlauu2.f
@@ -1,4 +1,5 @@
SUBROUTINE PZLAUU2( UPLO, N, A, IA, JA, DESCA )
+ IMPLICIT NONE
*
* -- ScaLAPACK auxiliary routine (version 1.7) --
* University of Tennessee, Knoxville, Oak Ridge National Laboratory,
@@ -139,7 +140,8 @@ SUBROUTINE PZLAUU2( UPLO, N, A, IA, JA, DESCA )
* ..
* .. External Functions ..
LOGICAL LSAME
- EXTERNAL LSAME
+ COMPLEX*16 ZDOTC
+ EXTERNAL LSAME, ZDOTC
* ..
* .. Intrinsic Functions ..
INTRINSIC DCMPLX, DBLE
|