File: numtyp.f

package info (click to toggle)
nastran 0.1.95-2
  • links: PTS, VCS
  • area: non-free
  • in suites: bookworm, bullseye, sid
  • size: 122,540 kB
  • sloc: fortran: 284,409; sh: 771; makefile: 324
file content (54 lines) | stat: -rw-r--r-- 1,111 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
      FUNCTION NUMTYP ( IVALUE )
C
      CHARACTER * 2  BYTE(4)
      CHARACTER * 8  WORD

C
      EQUIVALENCE    ( BYTE, WORD )
C
C      WRITE(6,40646) IVALUE
40646 FORMAT(' NUMTYP,IVALUE=',Z9)
      IF ( IVALUE .EQ. 0 ) GO TO 200
      WRITE ( WORD, 2000 ) IVALUE
      IF ( BYTE(1) .EQ. '  ' ) GO TO 210
      IF ( BYTE(1) .EQ. '00' ) GO TO 210
      IF ((BYTE(1) .EQ. '07'.OR. BYTE(1) .EQ. ' 7') .AND.
     &     BYTE(2) .EQ. 'FF' .AND.
     &     BYTE(3) .EQ. 'FF' .AND.
     &     BYTE(4) .EQ. 'FF' )  GO TO 210
      IF ( BYTE(1) .EQ. '7F' .AND.
     &     BYTE(2) .EQ. 'FF' .AND.
     &     BYTE(3) .EQ. 'FF' .AND.
     &     BYTE(4) .EQ. 'FF' )  GO TO 210

      IF ( BYTE(1) .EQ. 'FF' ) GO TO 210
      DO 100 I = 1, 4
      IF ( BYTE(I) .LT. '1F' .OR. BYTE(I) .GT. '5E' ) GO TO 220
100   CONTINUE
      GO TO 230
C
C     VALUE IS ZERO
C
200   NUMTYP = 0
      GO TO 700
C
C     VALUE IS INTEGER
C
210   NUMTYP = 1
      GO TO 700
C
C     VALUE IS REAL
C
220   NUMTYP = 2
      GO TO 700
C
C     VALUE IS ALPHA
C
230   NUMTYP = 3
C
700   CONTINUE
      RETURN
C*****
2000  FORMAT(Z8)
C*****
      END