File: xdcode.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 (56 lines) | stat: -rw-r--r-- 1,614 bytes parent folder | download | duplicates (2)
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
55
56
      SUBROUTINE XDCODE
C
C     (MACHINE INDEPENDENT FORTRAN 77 ROUTINE)
C
C     XDCODE DECODES A 20A4 ARRAY IN RECORD INTO A 80A1 ARRAY IN ICHAR
C
C     XDCODE IS CALLED ONLY BY XRGDCF, XRGDTB, XRGSST, AND XRGSUB
C
      CHARACTER*80    TEMP
      CHARACTER*8     TEMP8
      COMMON /SYSTEM/ IBUF,    NOUT,  DM37(37),NBPW
      COMMON /XRGDXX/ SKIP1(3),ICOL,  SKIP2(8),RECORD(20),ICHAR(80),
     1                SKIP3(2),ICOUNT,SKIP4(2),NAME(2)
      DATA    IBLANK/ 4H      /
C
      WRITE (TEMP,10) RECORD
      READ  (TEMP,20) ICHAR
 10   FORMAT (20A4)
 20   FORMAT (80A1)
      RETURN
C
      ENTRY XECODE
C     ============
C
C     XECODE ENCODES A 8A1 BCD ARRAY IN ICHAR INTO A 2A4 BCD ARRAY
C     IN NAME
C     (THIS ENTRY REPLACES THE OLD MACHINE DEPENDENT ROUTINE OF THE
C     SAME NAME)
C
C     THE INCOMING WORD IN CDC MACHINE WOULD BE ZERO FILLED, SUCH AS
C     THE CARD TABLE AND THE MED TABLE IN XGPI RESTART PROCESSING.
C     MAKE SURE THAT THE INCOMING WORD FROM A 60- OR 64- BIT MACHINE
C     IS BLANK FILLED IF IT IS LESS THAN 8 BYTE LONG
C
C     XECODE IS CALL ONLY BY XRGDTB
C
      IF (NBPW.LT.60 .OR. ICOUNT.EQ.8) GO TO 25
      DO 22 K = ICOUNT,7
 22   ICHAR(ICOL+K) = IBLANK
 25   CALL NA12A8 (*50,ICHAR(ICOL),8,NAME,NOTUSE)
      IF (NBPW .NE. 60) RETURN
C
C     BLANK OUT 2ND WORD (CDC ONLY)
C
      WRITE (TEMP8,30) NAME(1)
      NAME(1) = IBLANK
      NAME(2) = IBLANK
      READ (TEMP8,40) NAME
 30   FORMAT (A8)
 40   FORMAT (2A4)
      RETURN
C
 50   WRITE  (NOUT,60)
 60   FORMAT ('0BAD DATA/XECODE')
      RETURN
      END