From d8a000d4ffece612f192e2cc9de9aabdceac7460 Mon Sep 17 00:00:00 2001 From: "Igor S. Gerasimov" Date: Sun, 30 Nov 2025 10:16:11 +0100 Subject: [PATCH 1/4] Update Function Arguments in cgees, cgeesx, cgges3, cgges, cggesx --- SRC/cgees.f | 8 ++++++-- SRC/cgeesx.f | 8 ++++++-- SRC/cgges.f | 8 ++++++-- SRC/cgges3.f | 8 ++++++-- SRC/cggesx.f | 8 ++++++-- 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/SRC/cgees.f b/SRC/cgees.f index 36269985e..4d102a921 100644 --- a/SRC/cgees.f +++ b/SRC/cgees.f @@ -208,8 +208,12 @@ SUBROUTINE CGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, W, VS, COMPLEX A( LDA, * ), VS( LDVS, * ), W( * ), WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELECT - EXTERNAL SELECT + INTERFACE + LOGICAL FUNCTION SELECT_PROC_TYPE(EV) BIND(C) + COMPLEX EV + END FUNCTION SELECT_PROC_TYPE + END INTERFACE + PROCEDURE(SELECT_PROC_TYPE) :: SELECT * .. * * ===================================================================== diff --git a/SRC/cgeesx.f b/SRC/cgeesx.f index fd717973f..84933958b 100644 --- a/SRC/cgeesx.f +++ b/SRC/cgeesx.f @@ -252,8 +252,12 @@ SUBROUTINE CGEESX( JOBVS, SORT, SELECT, SENSE, N, A, LDA, SDIM, COMPLEX A( LDA, * ), VS( LDVS, * ), W( * ), WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELECT - EXTERNAL SELECT + INTERFACE + LOGICAL FUNCTION SELECT_PROC_TYPE(EV) BIND(C) + COMPLEX EV + END FUNCTION SELECT_PROC_TYPE + END INTERFACE + PROCEDURE(SELECT_PROC_TYPE) :: SELECT * .. * * ===================================================================== diff --git a/SRC/cgges.f b/SRC/cgges.f index 85bc2b0ee..f28245988 100644 --- a/SRC/cgges.f +++ b/SRC/cgges.f @@ -284,8 +284,12 @@ SUBROUTINE CGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, $ WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHA,BETA) BIND(C) + COMPLEX ALPHA, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * ===================================================================== diff --git a/SRC/cgges3.f b/SRC/cgges3.f index 05dbc7fa7..3ca10204c 100644 --- a/SRC/cgges3.f +++ b/SRC/cgges3.f @@ -283,8 +283,12 @@ SUBROUTINE CGGES3( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, $ WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHA,BETA) BIND(C) + COMPLEX ALPHA, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * ===================================================================== diff --git a/SRC/cggesx.f b/SRC/cggesx.f index 379d21c4e..cc6a662b6 100644 --- a/SRC/cggesx.f +++ b/SRC/cggesx.f @@ -346,8 +346,12 @@ SUBROUTINE CGGESX( JOBVSL, JOBVSR, SORT, SELCTG, SENSE, N, A, $ WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHA,BETA) BIND(C) + COMPLEX ALPHA, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * ===================================================================== From 8492fc3cc7792e0cf107b23e2777f6bc1c79018c Mon Sep 17 00:00:00 2001 From: "Igor S. Gerasimov" Date: Sun, 30 Nov 2025 10:19:36 +0100 Subject: [PATCH 2/4] Update Function Arguments in zgees, zgeesx, zgges3, zgges, zggesx --- SRC/zgees.f | 8 ++++++-- SRC/zgeesx.f | 8 ++++++-- SRC/zgges.f | 8 ++++++-- SRC/zgges3.f | 8 ++++++-- SRC/zggesx.f | 8 ++++++-- 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/SRC/zgees.f b/SRC/zgees.f index 0402e7c7a..995419de6 100644 --- a/SRC/zgees.f +++ b/SRC/zgees.f @@ -208,8 +208,12 @@ SUBROUTINE ZGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, W, VS, COMPLEX*16 A( LDA, * ), VS( LDVS, * ), W( * ), WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELECT - EXTERNAL SELECT + INTERFACE + LOGICAL FUNCTION SELECT_PROC_TYPE(EV) BIND(C) + COMPLEX*16 EV + END FUNCTION SELECT_PROC_TYPE + END INTERFACE + PROCEDURE(SELECT_PROC_TYPE) :: SELECT * .. * * ===================================================================== diff --git a/SRC/zgeesx.f b/SRC/zgeesx.f index a5770aa77..ad1731c6c 100644 --- a/SRC/zgeesx.f +++ b/SRC/zgeesx.f @@ -252,8 +252,12 @@ SUBROUTINE ZGEESX( JOBVS, SORT, SELECT, SENSE, N, A, LDA, SDIM, COMPLEX*16 A( LDA, * ), VS( LDVS, * ), W( * ), WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELECT - EXTERNAL SELECT + INTERFACE + LOGICAL FUNCTION SELECT_PROC_TYPE(EV) BIND(C) + COMPLEX*16 EV + END FUNCTION SELECT_PROC_TYPE + END INTERFACE + PROCEDURE(SELECT_PROC_TYPE) :: SELECT * .. * * ===================================================================== diff --git a/SRC/zgges.f b/SRC/zgges.f index 76903d1d3..836a2b1fa 100644 --- a/SRC/zgges.f +++ b/SRC/zgges.f @@ -284,8 +284,12 @@ SUBROUTINE ZGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, $ WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHA,BETA) BIND(C) + COMPLEX*16 ALPHA, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * ===================================================================== diff --git a/SRC/zgges3.f b/SRC/zgges3.f index 1225a82d9..de8b2ae2a 100644 --- a/SRC/zgges3.f +++ b/SRC/zgges3.f @@ -283,8 +283,12 @@ SUBROUTINE ZGGES3( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, $ WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHA,BETA) BIND(C) + COMPLEX*16 ALPHA, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * ===================================================================== diff --git a/SRC/zggesx.f b/SRC/zggesx.f index 351b1efaf..0353bb43a 100644 --- a/SRC/zggesx.f +++ b/SRC/zggesx.f @@ -346,8 +346,12 @@ SUBROUTINE ZGGESX( JOBVSL, JOBVSR, SORT, SELCTG, SENSE, N, A, $ WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHA,BETA) BIND(C) + COMPLEX*16 ALPHA, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * ===================================================================== From 5a22051d73032ba9dd3f35b663b02bf466758ea1 Mon Sep 17 00:00:00 2001 From: "Igor S. Gerasimov" Date: Sun, 30 Nov 2025 10:24:12 +0100 Subject: [PATCH 3/4] Update Function Arguments in sgees, sgeesx, sgges3, sgges, sggesx --- SRC/sgees.f | 8 ++++++-- SRC/sgeesx.f | 8 ++++++-- SRC/sgges.f | 8 ++++++-- SRC/sgges3.f | 8 ++++++-- SRC/sggesx.f | 8 ++++++-- 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/SRC/sgees.f b/SRC/sgees.f index d1b339ed6..b41685c9e 100644 --- a/SRC/sgees.f +++ b/SRC/sgees.f @@ -227,8 +227,12 @@ SUBROUTINE SGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, WR, WI, $ WR( * ) * .. * .. Function Arguments .. - LOGICAL SELECT - EXTERNAL SELECT + INTERFACE + LOGICAL FUNCTION SELECT_PROC_TYPE(WR, WI) BIND(C) + REAL WR, WI + END FUNCTION SELECT_PROC_TYPE + END INTERFACE + PROCEDURE(SELECT_PROC_TYPE) :: SELECT * .. * * ===================================================================== diff --git a/SRC/sgeesx.f b/SRC/sgeesx.f index ca324c093..21721e6a2 100644 --- a/SRC/sgeesx.f +++ b/SRC/sgeesx.f @@ -294,8 +294,12 @@ SUBROUTINE SGEESX( JOBVS, SORT, SELECT, SENSE, N, A, LDA, SDIM, $ WR( * ) * .. * .. Function Arguments .. - LOGICAL SELECT - EXTERNAL SELECT + INTERFACE + LOGICAL FUNCTION SELECT_PROC_TYPE(WR, WI) BIND(C) + REAL WR, WI + END FUNCTION SELECT_PROC_TYPE + END INTERFACE + PROCEDURE(SELECT_PROC_TYPE) :: SELECT * .. * * ===================================================================== diff --git a/SRC/sgges.f b/SRC/sgges.f index 074e6a5b0..998b2b763 100644 --- a/SRC/sgges.f +++ b/SRC/sgges.f @@ -297,8 +297,12 @@ SUBROUTINE SGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, $ VSR( LDVSR, * ), WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHAR, ALPHAI, BETA) BIND(C) + REAL ALPHAR, ALPHAI, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * ===================================================================== diff --git a/SRC/sgges3.f b/SRC/sgges3.f index 639efbee2..0f5125819 100644 --- a/SRC/sgges3.f +++ b/SRC/sgges3.f @@ -296,8 +296,12 @@ SUBROUTINE SGGES3( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, $ VSR( LDVSR, * ), WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHAR, ALPHAI, BETA) BIND(C) + REAL ALPHAR, ALPHAI, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * ===================================================================== diff --git a/SRC/sggesx.f b/SRC/sggesx.f index 3b7456c5d..a03db3589 100644 --- a/SRC/sggesx.f +++ b/SRC/sggesx.f @@ -381,8 +381,12 @@ SUBROUTINE SGGESX( JOBVSL, JOBVSR, SORT, SELCTG, SENSE, N, A, $ WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHAR, ALPHAI, BETA) BIND(C) + REAL ALPHAR, ALPHAI, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * ===================================================================== From efe84a130d433be43efaf1f1b47fffd3ae5e75f5 Mon Sep 17 00:00:00 2001 From: "Igor S. Gerasimov" Date: Sun, 30 Nov 2025 10:29:08 +0100 Subject: [PATCH 4/4] Update Function Arguments in dgees, dgeesx, dgges3, dgges, dggesx --- SRC/dgees.f | 8 ++++++-- SRC/dgeesx.f | 8 ++++++-- SRC/dgges.f | 8 ++++++-- SRC/dgges3.f | 8 ++++++-- SRC/dggesx.f | 8 ++++++-- 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/SRC/dgees.f b/SRC/dgees.f index 23f2954e3..5e4e7c245 100644 --- a/SRC/dgees.f +++ b/SRC/dgees.f @@ -227,8 +227,12 @@ SUBROUTINE DGEES( JOBVS, SORT, SELECT, N, A, LDA, SDIM, WR, WI, $ WR( * ) * .. * .. Function Arguments .. - LOGICAL SELECT - EXTERNAL SELECT + INTERFACE + LOGICAL FUNCTION SELECT_PROC_TYPE(WR, WI) BIND(C) + DOUBLE PRECISION WR, WI + END FUNCTION SELECT_PROC_TYPE + END INTERFACE + PROCEDURE(SELECT_PROC_TYPE) :: SELECT * .. * * ===================================================================== diff --git a/SRC/dgeesx.f b/SRC/dgeesx.f index 93f119ea9..1e99dda92 100644 --- a/SRC/dgeesx.f +++ b/SRC/dgeesx.f @@ -294,8 +294,12 @@ SUBROUTINE DGEESX( JOBVS, SORT, SELECT, SENSE, N, A, LDA, SDIM, $ WR( * ) * .. * .. Function Arguments .. - LOGICAL SELECT - EXTERNAL SELECT + INTERFACE + LOGICAL FUNCTION SELECT_PROC_TYPE(WR, WI) BIND(C) + DOUBLE PRECISION WR, WI + END FUNCTION SELECT_PROC_TYPE + END INTERFACE + PROCEDURE(SELECT_PROC_TYPE) :: SELECT * .. * * ===================================================================== diff --git a/SRC/dgges.f b/SRC/dgges.f index b700860f6..77b3b4dca 100644 --- a/SRC/dgges.f +++ b/SRC/dgges.f @@ -297,8 +297,12 @@ SUBROUTINE DGGES( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, $ VSR( LDVSR, * ), WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHAR, ALPHAI, BETA) BIND(C) + DOUBLE PRECISION ALPHAR, ALPHAI, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * ===================================================================== diff --git a/SRC/dgges3.f b/SRC/dgges3.f index 5ea3f5dbd..0d2cf4461 100644 --- a/SRC/dgges3.f +++ b/SRC/dgges3.f @@ -296,8 +296,12 @@ SUBROUTINE DGGES3( JOBVSL, JOBVSR, SORT, SELCTG, N, A, LDA, B, $ VSR( LDVSR, * ), WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHAR, ALPHAI, BETA) BIND(C) + DOUBLE PRECISION ALPHAR, ALPHAI, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * ===================================================================== diff --git a/SRC/dggesx.f b/SRC/dggesx.f index c716af4c9..3d649eed7 100644 --- a/SRC/dggesx.f +++ b/SRC/dggesx.f @@ -381,8 +381,12 @@ SUBROUTINE DGGESX( JOBVSL, JOBVSR, SORT, SELCTG, SENSE, N, A, $ WORK( * ) * .. * .. Function Arguments .. - LOGICAL SELCTG - EXTERNAL SELCTG + INTERFACE + LOGICAL FUNCTION SELCTG_PROC_TYPE(ALPHAR, ALPHAI, BETA) BIND(C) + DOUBLE PRECISION ALPHAR, ALPHAI, BETA + END FUNCTION SELCTG_PROC_TYPE + END INTERFACE + PROCEDURE(SELCTG_PROC_TYPE) :: SELCTG * .. * * =====================================================================