Skip to content

Commit 908cab1

Browse files
committed
process *GEES tasks
1 parent 04d843f commit 908cab1

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/stdlib_linalg_schur.fypp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,33 @@ submodule (stdlib_linalg) stdlib_linalg_schur
88
implicit none(type,external)
99

1010
character(*), parameter :: this = 'schur'
11+
12+
!> List of internal GEES tasks:
13+
!> No task request
14+
character, parameter :: GEES_NOT = 'N'
15+
16+
!> Request Schur vectors to be computed
17+
character, parameter :: GEES_WITH_VECTORS = 'V'
18+
19+
!> Request Schur vectors to be sorted
20+
character, parameter :: GEES_SORTED_VECTORS = 'S'
1121

1222
contains
1323

24+
!> Wrapper function for Schur vectors request
25+
elemental character function gees_vectors(wanted)
26+
!> Are Schur vectors wanted?
27+
logical(lk), intent(in) :: wanted
28+
gees_vectors = merge(GEES_WITH_VECTORS,GEES_NOT,wanted)
29+
end function gees_vectors
30+
31+
!> Wrapper function for Schur vectors request
32+
elemental character function gees_sort_eigs(sorted)
33+
!> Should the eigenvalues be sorted?
34+
logical(lk), intent(in) :: sorted
35+
gees_sort_eigs = merge(GEES_SORTED_VECTORS,GEES_NOT,sorted)
36+
end function gees_sort_eigs
37+
1438
!> Wrapper function to handle GEES error codes
1539
elemental subroutine handle_gees_info(info, m, n, ldvs, err)
1640
integer(ilp), intent(in) :: info, m, n, ldvs

0 commit comments

Comments
 (0)