1 SUBROUTINE CGTSV1_F95( DL, D, DU, B, INFO ) 2! 3! -- LAPACK95 interface driver routine (version 3.0) -- 4! UNI-C, Denmark; Univ. of Tennessee, USA; NAG Ltd., UK 5! September, 2000 6! 7! .. USE STATEMENTS .. 8 USE LA_PRECISION, ONLY: WP => SP 9 USE LA_AUXMOD, ONLY: ERINFO 10 USE F77_LAPACK, ONLY: GTSV_F77 => LA_GTSV 11! .. IMPLICIT STATEMENT .. 12 IMPLICIT NONE 13! .. SCALAR ARGUMENTS .. 14 INTEGER, INTENT(OUT), OPTIONAL :: INFO 15! .. ARRAY ARGUMENTS .. 16 COMPLEX(WP), INTENT(INOUT) :: DL(:), D(:), DU(:), B(:) 17! .. PARAMETERS .. 18 CHARACTER(LEN=7), PARAMETER :: SRNAME = 'LA_GTSV' 19! .. LOCAL SCALARS .. 20 INTEGER :: LINFO, N 21! .. INTRINSIC FUNCTIONS .. 22 INTRINSIC SIZE 23! .. EXECUTABLE STATEMENTS .. 24 LINFO = 0 25 N = SIZE(D) 26! .. TEST THE ARGUMENTS 27 IF( SIZE( DL ) /= N-1 .AND. N/=0 ) THEN; LINFO = -1 28 ELSE IF( N < 0 ) THEN; LINFO = -2 29 ELSE IF( SIZE( DU ) /= N-1 .AND. N/=0 ) THEN; LINFO = -3 30 ELSE IF( SIZE( B ) /= N ) THEN; LINFO = -4 31 ELSE IF ( N > 0 ) THEN 32 CALL GTSV_F77( N, 1, DL, D, DU, B, N, LINFO ) 33 END IF 34 CALL ERINFO( LINFO, SRNAME, INFO ) 35 END SUBROUTINE CGTSV1_F95 36