      SUBROUTINE VSUBK(VECR, NVEC, CONST)
C
C***********************************************************************
C
C   NAME- VSUBK
C
C   LANGUAGE- FORTRAN 77    TYPE- SUBROUTINE        COMPUTER- CRAY    
C
C   VERSION- 1.0    DATE- 07/13/89   PROGRAMMER- S.SWEETLAND (SMSRC)
C   VERSION- 3.0    DATE- 05/10/96   PROGRAMMER- A.POZDNYAK (FDC)   
C     FOR REHOSTING TO THE CRAY, CHANGED ALL I*4 DECLARATIONS TO
C      INTEGER AND ALL R*4 DECLARATIONS TO REAL.
C
C   FUNCTION- SUBTRACTS A CONSTANT FROM EACH ELEMENT OF VECTOR VECR.
C
C   CALLING SEQUENCE PARAMETERS-
C
C     NAME   TYPE  I/O    DESCRIPTION
C     ----   ----  ---    ------------
C     VECR   REAL  I/O    REAL VECTOR OF DIMENSION NVEC.
C
C     NVEC   INT   I      NUMBER OF ELEMENTS IN VECR.
C
C     CONST  REAL  I      REAL CONSTANT.
C
C   LOCAL PARAMETERS-
C
C     NAME   TYPE  I/O    DESCRIPTION
C     ----   ----  ---    ------------
C     J      INT   N/A    DO LOOP INDEX.
C
C   EXIT STATES-  NONE.
C
C***********************************************************************
C
      INTEGER NVEC
      REAL    CONST, VECR(NVEC)
C
      INTEGER J
C
      INCLUDE 'SPVAL'
C
      DO 10 J = 1,NVEC
        IF(VECR(J) .EQ. R4SPV) THEN
           VECR(J) = R4SPV
        ELSE
           VECR(J) = VECR(J) - CONST
        ENDIF
   10 CONTINUE
C
      RETURN
      END
