From e9d5504c513aa121be49fd991ddfa604a6eaf18b Mon Sep 17 00:00:00 2001 From: thijs Date: Mon, 15 Feb 2021 16:38:44 +0100 Subject: [PATCH] add declarations for external routines in QZ code --- SRC/claqz0.f | 2 ++ SRC/claqz1.f | 3 +++ SRC/claqz2.f | 2 ++ SRC/claqz3.f | 2 ++ SRC/dlaqz0.f | 2 ++ SRC/dlaqz2.f | 3 +++ SRC/dlaqz3.f | 2 ++ SRC/dlaqz4.f | 4 ++++ SRC/slaqz0.f | 2 ++ SRC/slaqz2.f | 3 +++ SRC/slaqz3.f | 2 ++ SRC/slaqz4.f | 4 ++++ SRC/zlaqz0.f | 2 ++ SRC/zlaqz1.f | 3 +++ SRC/zlaqz2.f | 2 ++ SRC/zlaqz3.f | 2 ++ 16 files changed, 40 insertions(+) diff --git a/SRC/claqz0.f b/SRC/claqz0.f index a76f548b9a..2284fd65d9 100644 --- a/SRC/claqz0.f +++ b/SRC/claqz0.f @@ -310,6 +310,8 @@ RECURSIVE SUBROUTINE CLAQZ0( WANTS, WANTQ, WANTZ, N, ILO, IHI, A, CHARACTER :: JBCMPZ*3 * External Functions + EXTERNAL :: XERBLA, CHGEQZ, CLAQZ2, CLAQZ3, CLASET, SLABAD, + $ CLARTG, CROT REAL, EXTERNAL :: SLAMCH LOGICAL, EXTERNAL :: LSAME INTEGER, EXTERNAL :: ILAENV diff --git a/SRC/claqz1.f b/SRC/claqz1.f index 9814482532..b89fe6e196 100644 --- a/SRC/claqz1.f +++ b/SRC/claqz1.f @@ -187,6 +187,9 @@ SUBROUTINE CLAQZ1( ILQ, ILZ, K, ISTARTM, ISTOPM, IHI, A, LDA, B, * Local variables REAL :: C COMPLEX :: S, TEMP +* +* External Functions + EXTERNAL :: CLARTG, CROT * IF( K+1 .EQ. IHI ) THEN * diff --git a/SRC/claqz2.f b/SRC/claqz2.f index 19a95cd4f1..895e0095bf 100644 --- a/SRC/claqz2.f +++ b/SRC/claqz2.f @@ -257,6 +257,8 @@ RECURSIVE SUBROUTINE CLAQZ2( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NW, COMPLEX :: S, S1, TEMP * External Functions + EXTERNAL :: XERBLA, CLAQZ0, CLAQZ1, SLABAD, CLACPY, CLASET, CGEMM, + $ CTGEXC, CLARTG, CROT REAL, EXTERNAL :: SLAMCH INFO = 0 diff --git a/SRC/claqz3.f b/SRC/claqz3.f index 61ac970044..fecba656d2 100644 --- a/SRC/claqz3.f +++ b/SRC/claqz3.f @@ -230,6 +230,8 @@ SUBROUTINE CLAQZ3( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NSHIFTS, COMPLEX :: TEMP, TEMP2, TEMP3, S * External Functions + EXTERNAL :: XERBLA, SLABAD, CLASET, CLARTG, CROT, CLAQZ1, CGEMM, + $ CLACPY REAL, EXTERNAL :: SLAMCH INFO = 0 diff --git a/SRC/dlaqz0.f b/SRC/dlaqz0.f index 2dfa66f100..dbaec1c99f 100644 --- a/SRC/dlaqz0.f +++ b/SRC/dlaqz0.f @@ -332,6 +332,8 @@ RECURSIVE SUBROUTINE DLAQZ0( WANTS, WANTQ, WANTZ, N, ILO, IHI, A, CHARACTER :: JBCMPZ*3 * External Functions + EXTERNAL :: XERBLA, DHGEQZ, DLASET, DLAQZ3, DLAQZ4, DLABAD, + $ DLARTG, DROT DOUBLE PRECISION, EXTERNAL :: DLAMCH LOGICAL, EXTERNAL :: LSAME INTEGER, EXTERNAL :: ILAENV diff --git a/SRC/dlaqz2.f b/SRC/dlaqz2.f index 8333640660..806e0c2530 100644 --- a/SRC/dlaqz2.f +++ b/SRC/dlaqz2.f @@ -186,6 +186,9 @@ SUBROUTINE DLAQZ2( ILQ, ILZ, K, ISTARTM, ISTOPM, IHI, A, LDA, B, * * Local variables DOUBLE PRECISION :: H( 2, 3 ), C1, S1, C2, S2, TEMP +* +* External functions + EXTERNAL :: DLARTG, DROT * IF( K+2 .EQ. IHI ) THEN * Shift is located on the edge of the matrix, remove it diff --git a/SRC/dlaqz3.f b/SRC/dlaqz3.f index 035d245573..e85bf0bb77 100644 --- a/SRC/dlaqz3.f +++ b/SRC/dlaqz3.f @@ -260,6 +260,8 @@ RECURSIVE SUBROUTINE DLAQZ3( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NW, DOUBLE PRECISION :: S, SMLNUM, ULP, SAFMIN, SAFMAX, C1, S1, TEMP * External Functions + EXTERNAL :: XERBLA, DTGEXC, DLABAD, DLAQZ0, DLACPY, DLASET, + $ DLAQZ2, DROT, DLARTG, DLAG2, DGEMM DOUBLE PRECISION, EXTERNAL :: DLAMCH INFO = 0 diff --git a/SRC/dlaqz4.f b/SRC/dlaqz4.f index 0c123ce67b..1848727751 100644 --- a/SRC/dlaqz4.f +++ b/SRC/dlaqz4.f @@ -232,6 +232,10 @@ SUBROUTINE DLAQZ4( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NSHIFTS, INTEGER :: I, J, NS, ISTARTM, ISTOPM, SHEIGHT, SWIDTH, K, NP, $ ISTARTB, ISTOPB, ISHIFT, NBLOCK, NPOS DOUBLE PRECISION :: TEMP, V( 3 ), C1, S1, C2, S2, SWAP +* +* External functions + EXTERNAL :: XERBLA, DGEMM, DLAQZ1, DLAQZ2, DLASET, DLARTG, DROT, + $ DLACPY INFO = 0 IF ( NBLOCK_DESIRED .LT. NSHIFTS+1 ) THEN diff --git a/SRC/slaqz0.f b/SRC/slaqz0.f index fed84beca6..16e960a052 100644 --- a/SRC/slaqz0.f +++ b/SRC/slaqz0.f @@ -328,6 +328,8 @@ RECURSIVE SUBROUTINE SLAQZ0( WANTS, WANTQ, WANTZ, N, ILO, IHI, A, CHARACTER :: JBCMPZ*3 * External Functions + EXTERNAL :: XERBLA, SHGEQZ, SLAQZ3, SLAQZ4, SLASET, SLABAD, + $ SLARTG, SROT REAL, EXTERNAL :: SLAMCH LOGICAL, EXTERNAL :: LSAME INTEGER, EXTERNAL :: ILAENV diff --git a/SRC/slaqz2.f b/SRC/slaqz2.f index 05e3ff0518..48b74432f5 100644 --- a/SRC/slaqz2.f +++ b/SRC/slaqz2.f @@ -184,6 +184,9 @@ SUBROUTINE SLAQZ2( ILQ, ILZ, K, ISTARTM, ISTOPM, IHI, A, LDA, B, * * Local variables REAL :: H( 2, 3 ), C1, S1, C2, S2, TEMP +* +* External functions + EXTERNAL :: SLARTG, SROT * IF( K+2 .EQ. IHI ) THEN * Shift is located on the edge of the matrix, remove it diff --git a/SRC/slaqz3.f b/SRC/slaqz3.f index 73c3d1f8dd..edb8a6012c 100644 --- a/SRC/slaqz3.f +++ b/SRC/slaqz3.f @@ -258,6 +258,8 @@ RECURSIVE SUBROUTINE SLAQZ3( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NW, REAL :: S, SMLNUM, ULP, SAFMIN, SAFMAX, C1, S1, TEMP * External Functions + EXTERNAL :: XERBLA, STGEXC, SLABAD, SLAQZ0, SLACPY, SLASET, + $ SLAQZ2, SROT, SLARTG, SLAG2, SGEMM REAL, EXTERNAL :: SLAMCH INFO = 0 diff --git a/SRC/slaqz4.f b/SRC/slaqz4.f index e04646a2e7..3c307dd474 100644 --- a/SRC/slaqz4.f +++ b/SRC/slaqz4.f @@ -232,6 +232,10 @@ SUBROUTINE SLAQZ4( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NSHIFTS, INTEGER :: I, J, NS, ISTARTM, ISTOPM, SHEIGHT, SWIDTH, K, NP, $ ISTARTB, ISTOPB, ISHIFT, NBLOCK, NPOS REAL :: TEMP, V( 3 ), C1, S1, C2, S2, SWAP +* +* External functions + EXTERNAL :: XERBLA, SGEMM, SLAQZ1, SLAQZ2, SLASET, SLARTG, SROT, + $ SLACPY INFO = 0 IF ( NBLOCK_DESIRED .LT. NSHIFTS+1 ) THEN diff --git a/SRC/zlaqz0.f b/SRC/zlaqz0.f index 4fb0ce251f..2616f20b5b 100644 --- a/SRC/zlaqz0.f +++ b/SRC/zlaqz0.f @@ -311,6 +311,8 @@ RECURSIVE SUBROUTINE ZLAQZ0( WANTS, WANTQ, WANTZ, N, ILO, IHI, A, CHARACTER :: JBCMPZ*3 * External Functions + EXTERNAL :: XERBLA, ZHGEQZ, ZLAQZ2, ZLAQZ3, ZLASET, DLABAD, + $ ZLARTG, ZROT DOUBLE PRECISION, EXTERNAL :: DLAMCH LOGICAL, EXTERNAL :: LSAME INTEGER, EXTERNAL :: ILAENV diff --git a/SRC/zlaqz1.f b/SRC/zlaqz1.f index a8377d0f8b..d8f52ad04c 100644 --- a/SRC/zlaqz1.f +++ b/SRC/zlaqz1.f @@ -188,6 +188,9 @@ SUBROUTINE ZLAQZ1( ILQ, ILZ, K, ISTARTM, ISTOPM, IHI, A, LDA, B, * Local variables DOUBLE PRECISION :: C COMPLEX*16 :: S, TEMP +* +* External Functions + EXTERNAL :: ZLARTG, ZROT * IF( K+1 .EQ. IHI ) THEN * diff --git a/SRC/zlaqz2.f b/SRC/zlaqz2.f index 95bbb61e49..2e94e6dc49 100644 --- a/SRC/zlaqz2.f +++ b/SRC/zlaqz2.f @@ -258,6 +258,8 @@ RECURSIVE SUBROUTINE ZLAQZ2( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NW, COMPLEX*16 :: S, S1, TEMP * External Functions + EXTERNAL :: XERBLA, ZLAQZ0, ZLAQZ1, DLABAD, ZLACPY, ZLASET, ZGEMM, + $ ZTGEXC, ZLARTG, ZROT DOUBLE PRECISION, EXTERNAL :: DLAMCH INFO = 0 diff --git a/SRC/zlaqz3.f b/SRC/zlaqz3.f index a59bf350f1..9e589cb67e 100644 --- a/SRC/zlaqz3.f +++ b/SRC/zlaqz3.f @@ -232,6 +232,8 @@ SUBROUTINE ZLAQZ3( ILSCHUR, ILQ, ILZ, N, ILO, IHI, NSHIFTS, COMPLEX*16 :: TEMP, TEMP2, TEMP3, S * External Functions + EXTERNAL :: XERBLA, DLABAD, ZLASET, ZLARTG, ZROT, ZLAQZ1, ZGEMM, + $ ZLACPY DOUBLE PRECISION, EXTERNAL :: DLAMCH INFO = 0