File: decode.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 (28 lines) | stat: -rw-r--r-- 844 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
      SUBROUTINE DECODE (CODE,LIST,N)
C
C     DECODE DECODES THE BITS IN A WORD AND RETURNS A LIST OF INTEGERS
C     CORRESPONDING TO THE BIT POSITIONS WHICH ARE ON. NUMBERING
C     CONVENTION IS RIGHT (LOW ORDER) TO LEFT (HIGH ORDER) 00 THRU 31.
C
C     ARGUMENTS
C
C     CODE - INPUT  - THE WORD TO BE DECODED
C     LIST - OUTPUT - AN ARRAY OF DIMENSION .GE. 32 WHERE THE INTEGERS
C                     CORRESPONDING TO BIT POSITIONS ARE STORED
C     N    - OUTPUT - THE NUMBER OF ENTRIES IN THE LIST  I.E. THE NO.
C                     OF 1-BITS IN THE WORD
C
C
      EXTERNAL     ANDF
      INTEGER      CODE,ANDF,TWO,LIST(1)
      COMMON /TWO/ TWO(32)
C
      N = 0
      DO 8 I = 1,32
      IF (ANDF(TWO(33-I),CODE) .EQ. 0) GO TO 8
      N = N + 1
      LIST(N) = I - 1
    8 CONTINUE
C
      RETURN
      END