GOTO Question



Hi, all.

I am no FORTRAN expert, but I thought I had a pretty good grasp of the
language. However, I recently came across a line of code that has me
scratching my head.

I am trying to translate a LAPACK routine (ILAENV) into "C".

One of the parameters passed into ILAENV is named ISPEC, which had been
assigned the value 1 by the program calling ILAENV.

One of the first executable statements within ILAENV is the following
line:

GO TO ( 100, 100, 100, 400, 500, 600, 700, 800, 900, 1000,
$ 1100 ) ISPEC

(Remember: ISPEC = 1) Somebody please tell me what this line does. I
have seen GOTO statements before with three entries, that depend upon
whether or not a variable is less than, equal to, or greater than 0.
However, this is the first time I have seen a GOTO statement with 11
jump points within it. How are conditions determined? And why is the
"100" jump point repeated three times?

(Unfortunately, I donated all my FORTRAN textbooks from my college days
to the local library).

Your help is appreciated.


Michael

.