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.
 
 
 
 
 
 

57 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
SUBROUTINE RANGE (LEN, LIST, IOMIN, IOMAX)
LOGICAL LIST(*), INRNG
INTEGER IRANGE(3)
CHARACTER*80 LINE
INRNG = .FALSE.
IRINC = 0
DO 10 I=1, LEN
IF (LIST(I)) THEN
IBEG = I+1
LASTSL = I
GO TO 20
END IF
10 CONTINUE
20 CONTINUE
DO 40 I = IBEG, LEN
IF (LIST(I)) THEN
IRINC1 = I - LASTSL
IF (IRINC .EQ. 0) IRINC = IRINC1
IF (.NOT. INRNG) THEN
IRBEG = LASTSL
IRINC = IRINC1
INRNG = .TRUE.
ELSE IF (INRNG .AND. IRINC1 .NE. IRINC) THEN
IREND = I
INRNG = .FALSE.
IRANGE(1) = IRBEG
IRANGE(2) = IREND - IRINC1
IRANGE(3) = IRINC
LINE = ' '
CALL FFADDV (IRANGE, LINE)
DO 30 IO = IOMIN, IOMAX
CALL LOGERR ('CMDSPEC', LINE(:LENSTR(LINE)), IO)
30 CONTINUE
IRINC = IRINC1
END IF
LASTSL = I
END IF
40 CONTINUE
IRANGE(1) = IRBEG
IRANGE(2) = LASTSL
IRANGE(3) = IRINC
LINE = ' '
CALL FFADDV (IRANGE, LINE)
DO 50 IO = IOMIN, IOMAX
CALL LOGERR ('CMDSPEC', LINE(:LENSTR(LINE)), IO)
50 CONTINUE
RETURN
END