!      SUBROUTINE FILL1(IA,N,IVAL)6C_TITLE:   FILL1:  Fill byte array with constant valueC_ARGS:    9	BYTE IA (*)    ![O]  Array to be filled (may also be L1)C        INTEGER*4 N    ![I]  N is the Length of the array in bytes.;	BYTE IVAL      ![I]  Value to be inserted (may also be L1)C_KEYS:    BYTE, L1, ARRAYC>C_DESCR:   Fill BYTE or LOGICAL*1 array with constant a value.C )C_HIST:    07apr86  RMX  ORIGINAL VERSIONC C_PAUSE:CC      IF (N.LE.0) RETURN      DO 5 I=1,N 5      IA(I)=IVAL      RETURN	      ENDCC!      SUBROUTINE FILL2(IA,N,IVAL)6C_TITLE:   FILL2:  Fill word array with constant valueC C_ARGS:    B       INTEGER*2 IA(*)  ![O]  Array to be filled (may also be L2).;	  INTEGER*4 N      ![I]  Is the  Length of array in words.D       INTEGER*2 IVAL   ![I]  Value to be inserted (may also be L2).C C_KEYS:    I2, L2, ARRAYC@C_DESCR:   Fill INTEGER*2 or LOGICAL*2 array with constant valueC )C_HIST:    07apr86  RMX  ORIGINAL VERSIONC C_PAUSE:CC      IF (N.LE.0) RETURN      DO 5 I=1,N 5      IA(I)=IVAL      RETURN	      END!      SUBROUTINE FILL4(IA,N,IVAL):C_TITLE:   FILL4:  Fill longword array with constant valueC C_ARGS:    G      INTEGER*4 IA(*)  ![O]  Array to be filled (may also be R4 or L4).A      INTEGER*4 N      ![I]  Is the Length of array in longwords.I      INTEGER*4 IVAL   ![I]  Value to be inserted (may also be R4 or L4).C C_KEYS:    I4, R4, L4, ARRAYCJC_DESCR:   Fill INTEGER*4 or REAL*4 or LOGICAL*4 array with constant valueC )C_HIST:    07apr86  RMX  ORIGINAL VERSIONC C_PAUSE:CC      IF (N.LE.0) RETURN      DO 5 I=1,N 5      IA(I)=IVAL      RETURN	      ENDC!      SUBROUTINE FILL8(IA,N,IVAL):C_TITLE:   FILL8:  Fill quadword array with constant valueC C_ARGS:    >      REAL*8 IA(*) 	![O]  Array to be filled (may also be C8).H      INTEGER*4 N       ![I]  N is the Length of the array in quadwords.@      REAL*8 IVAL  	![I]  Value to be inserted (may also be C8).C C_KEYS:    R8, ARRAYC =C_DESCR:   Fill REAL*8 or COMPLEX*8 array with constant valueC)C_HIST:    07apr86  RMX  ORIGINAL VERSIONC C_PAUSE:CC      IF (N.LE.0) RETURN      DO 5 I=1,N 5      IA(I)=IVAL      RETURN	      ENDC      SUBROUTINE MOVE1(IA,JA,N)C+C_TITLE:   MOVE1:  Move or shift byte arrayC C_ARGS:    7      BYTE IA(*)   ![I]  Source array (may also be L1).<      BYTE JA(*)   ![O]  Destination array (may also be L1).1      INTEGER*4 N  ![I]  Length of array in bytesC 'C_KEYS:    BYTE, L1, ARRAY, SYSTEM, VMSEC_DESCR:   Move bytes from source array to destination array.  SourceFC          and destination may overlap - bytes will be moved in proper;C          order to effect shift without destroying values.CC_CALLS:   %LOCCMC_LIMITS:  Non-transportable, VAX/VMS Fortran 77 version (uses %LOC function)C )C_HIST:    07apr86  RMX  ORIGINAL VERSIONC C_PAUSE:CC      IF (N.LE.0) RETURNC  WHICH END TO START LOOP?%      IF (%LOC(JA)-%LOC(IA)) 10,30,20
C  FORWARD 10   DO 15 I=1,N 15     JA(I)=IA(I)      GO TO 30C  BACKWARD
 20   NP1=N+1      DO 25 I=1,N        J=NP1-I 25     JA(J)=IA(J) 30   RETURN	      END      SUBROUTINE MOVE2(IA,JA,N)C+C_TITLE:   MOVE2:  Move or shift word arrayC C_ARGS:    9	 INTEGER*2 IA(*)    ![I]  Source array (may also be L2).>	 INTEGER*2 JA(*)    ![O]  Destination array (may also be L2).4	 INTEGER*4 N        ![I]  Length of array in words.C %C_KEYS:    I2, L2, ARRAY, SYSTEM, VMSEC_DESCR:   Move words from source array to destination array.  SourceFC          and destination may overlap - words will be moved in proper;C          order to effect shift without destroying values.CC_CALLS:   %LOCCMC_LIMITS:  Non-transportable, VAX/VMS Fortran 77 version (uses %LOC function)C )C_HIST:    07apr86  RMX  ORIGINAL VERSIONC C_PAUSE:C      IF (N.LE.0) RETURNC  WHICH END TO START LOOP?%      IF (%LOC(JA)-%LOC(IA)) 10,30,20
C  FORWARD 10   DO 15 I=1,N 15     JA(I)=IA(I)      GO TO 30C  BACKWARD
 20   NP1=N+1      DO 25 I=1,N        J=NP1-I 25     JA(J)=IA(J) 30   RETURN	      ENDC      SUBROUTINE MOVE4(IA,JA,N)C/C_TITLE:   MOVE4:  Move or shift longword arrayC C_ARGS:    >	 INTEGER*4 IA(*)   ![I]  Source array (may also be R4 or L4).C	 INTEGER*4 JA(*)   ![O]  Destination array (may also be R4 or L4).7	 INTEGER*4 N       ![I]  Length of array in longwords.C )C_KEYS:    I4, R4, L4, ARRAY, SYSTEM, VMSCIC_DESCR:   Move longwords from source array to destination array.  SourceJC          and destination may overlap - longwords will be moved in proper;C          order to effect shift without destroying values.CC_CALLS:   %LOCCMC_LIMITS:  Non-transportable, VAX/VMS Fortran 77 version (uses %LOC function)C )C_HIST:    07apr86  RMX  ORIGINAL VERSIONC C_PAUSE:CC      IF (N.LE.0) RETURNC  WHICH END TO START LOOP?%      IF (%LOC(JA)-%LOC(IA)) 10,30,20
C  FORWARD 10   DO 15 I=1,N 15     JA(I)=IA(I)      GO TO 30C  BACKWARD
 20   NP1=N+1      DO 25 I=1,N        J=NP1-I 25     JA(J)=IA(J) 30   RETURN	      ENDC      SUBROUTINE MOVE8(IA,JA,N)C/C_TITLE:   MOVE8:  Move or shift quadword arrayC C_ARGS:    6	 REAL*8 IA(*)    ![I]  Source array (may also be C8).;	 REAL*8 JA(*)    ![O]  Destination array (may also be C8).5	 INTEGER*4 N     ![I]  Length of array in quadwords.C %C_KEYS:    R8, C8, ARRAY, SYSTEM, VMSIC_DESCR:   Move quadwords from source array to destination array.  SourceJC          and destination may overlap - quadwords will be moved in proper;C          order to effect shift without destroying values.CC_CALLS:   %LOCCMC_LIMITS:  Non-transportable, VAX/VMS Fortran 77 version (uses %LOC function)C )C_HIST:    07apr86  RMX  ORIGINAL VERSIONC C_END:CC      IF (N.LE.0) RETURNC  WHICH END TO START LOOP?%      IF (%LOC(JA)-%LOC(IA)) 10,30,20
C  FORWARD 10   DO 15 I=1,N 15     JA(I)=IA(I)      GO TO 30C  BACKWARD
 20   NP1=N+1      DO 25 I=1,N        J=NP1-I 25     JA(J)=IA(J) 30   RETURN	      END