```01:       INTEGER FUNCTION ILATRANS( TRANS )
02: *
03: *  -- LAPACK routine (version 3.2) --
04: *     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
05: *     October 2008
06: *     .. Scalar Arguments ..
07:       CHARACTER          TRANS
08: *     ..
09: *
10: *  Purpose
11: *  =======
12: *
13: *  This subroutine translates from a character string specifying a
14: *  transposition operation to the relevant BLAST-specified integer
15: *  constant.
16: *
17: *  ILATRANS returns an INTEGER.  If ILATRANS < 0, then the input is not
18: *  a character indicating a transposition operator.  Otherwise ILATRANS
19: *  returns the constant value corresponding to TRANS.
20: *
21: *  Arguments
22: *  =========
23: *  TRANS   (input) CHARACTER*1
24: *          Specifies the form of the system of equations:
25: *          = 'N':  No transpose
26: *          = 'T':  Transpose
27: *          = 'C':  Conjugate transpose
28: *  =====================================================================
29: *
30: *     .. Parameters ..
31:       INTEGER BLAS_NO_TRANS, BLAS_TRANS, BLAS_CONJ_TRANS
32:       PARAMETER ( BLAS_NO_TRANS = 111, BLAS_TRANS = 112,
33:      \$     BLAS_CONJ_TRANS = 113 )
34: *     ..
35: *     .. External Functions ..
36:       LOGICAL            LSAME
37:       EXTERNAL           LSAME
38: *     ..
39: *     .. Executable Statements ..
40:       IF( LSAME( TRANS, 'N' ) ) THEN
41:          ILATRANS = BLAS_NO_TRANS
42:       ELSE IF( LSAME( TRANS, 'T' ) ) THEN
43:          ILATRANS = BLAS_TRANS
44:       ELSE IF( LSAME( TRANS, 'C' ) ) THEN
45:          ILATRANS = BLAS_CONJ_TRANS
46:       ELSE
47:          ILATRANS = -1
48:       END IF
49:       RETURN
50: *
51: *     End of ILATRANS
52: *
53:       END
54: ```