CKXNUM CKXNUM CKXNUM CKXNUM CKXNUM CKXNUM CKXNUM
**********************************************
**************************
******
SUBROUTINE CKXNUM (LINE, NEXP, LOUT, NVAL, RVAL, KERR)
Searches a character string, LINE, for NEXP space-delimited
substrings representing numbers, until NVAL real values are
converted and stored in the array, RVAL.
This allows format-free input of numerical data. For example:
input: LINE = " 0.170E+14 0 47780.0"
NEXP = 3, the number of values requested
LOUT = 6, a logical unit number on which to write
diagnostic messages.
output: NVAL = 3, the number of values found
RVAL(*) = 1.700E+13, 0.000E+00, 4.778E+04
KERR = .FALSE.
INPUT
LINE - Character string, length established by calling program.
NEXP - Integer scalar, number of real values to be found in LINE;
If NEXP < 0 then IABS(NEXP) values are expected, but
it is not an error condition if fewer values are found.
LOUT - Integer scalar, output unit for printed diagnostics.
OUTPUT
NVAL - Integer scalar, count of real values found in LINE.
RVAL - Real array, values converted from characters in LINE;
dimension at least NEXP.
KERR - Logical, syntax or dimensioning error flag.