Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

50 lines
1.6 KiB

C Copyright(C) 1999-2020 National Technology & Engineering Solutions
C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
C NTESS, the U.S. Government retains certain rights in this software.
C
C See packages/seacas/LICENSE for details
C=======================================================================
SUBROUTINE FFREAL (IFLD, INTYP, RFIELD, EXPECT, DEFVAL, RVAL, *)
C=======================================================================
C --*** FFREAL *** (FFLIB) Parse free-field real
C -- Written by Amy Gilkey - revised 02/24/86
C --
C --FFREAL parses a real field. A default is supplied if the field
C --is empty.
C --
C --Parameters:
C -- IFLD - IN/OUT - the index of the current field number, incremented
C -- INTYP - IN - the input type from the free-field reader
C -- RFIELD - IN - the real field
C -- EXPECT - IN - the value to expect string, for error
C -- DEFVAL - IN - the default value if field is empty
C -- RVAL - OUT - the real value, set only if no error
C -- * - return statement if the field is invalid; message is printed
INTEGER IFLD
INTEGER INTYP(*)
REAL RFIELD(*)
CHARACTER*(*) EXPECT
REAL DEFVAL, RVAL
CHARACTER*80 ERRMSG
IF (INTYP(IFLD) .GE. 1) THEN
RVAL = RFIELD(IFLD)
ELSE IF (INTYP(IFLD) .LE. -1) THEN
RVAL = DEFVAL
ELSE
ERRMSG = 'Expected ' // EXPECT
CALL PRTERR ('CMDERR', ERRMSG(:LENSTR(ERRMSG)))
GOTO 100
END IF
IF (INTYP(IFLD) .GE. -1) IFLD = IFLD + 1
RETURN
100 CONTINUE
IF (INTYP(IFLD) .GE. -1) IFLD = IFLD + 1
RETURN 1
END