00001 INTEGER FUNCTION ILADIAG( DIAG ) 00002 * 00003 * -- LAPACK routine (version 3.2.1) -- 00004 * 00005 * -- April 2009 -- 00006 * 00007 * -- LAPACK is a software package provided by Univ. of Tennessee, -- 00008 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 00009 * 00010 * .. Scalar Arguments .. 00011 CHARACTER DIAG 00012 * .. 00013 * 00014 * Purpose 00015 * ======= 00016 * 00017 * This subroutine translated from a character string specifying if a 00018 * matrix has unit diagonal or not to the relevant BLAST-specified 00019 * integer constant. 00020 * 00021 * ILADIAG returns an INTEGER. If ILADIAG < 0, then the input is not a 00022 * character indicating a unit or non-unit diagonal. Otherwise ILADIAG 00023 * returns the constant value corresponding to DIAG. 00024 * 00025 * Arguments 00026 * ========= 00027 * DIAG (input) CHARACTER*1 00028 * = 'N': A is non-unit triangular; 00029 * = 'U': A is unit triangular. 00030 * ===================================================================== 00031 * 00032 * .. Parameters .. 00033 INTEGER BLAS_NON_UNIT_DIAG, BLAS_UNIT_DIAG 00034 PARAMETER ( BLAS_NON_UNIT_DIAG = 131, BLAS_UNIT_DIAG = 132 ) 00035 * .. 00036 * .. External Functions .. 00037 LOGICAL LSAME 00038 EXTERNAL LSAME 00039 * .. 00040 * .. Executable Statements .. 00041 IF( LSAME( DIAG, 'N' ) ) THEN 00042 ILADIAG = BLAS_NON_UNIT_DIAG 00043 ELSE IF( LSAME( DIAG, 'U' ) ) THEN 00044 ILADIAG = BLAS_UNIT_DIAG 00045 ELSE 00046 ILADIAG = -1 00047 END IF 00048 RETURN 00049 * 00050 * End of ILADIAG 00051 * 00052 END