C+
C NAME:
C	ArrI4Copy
C PURPOSE:
C	Copy integer*4 array
C CALLING SEQUENCE:
	subroutine ArrI4Copy(N,A,C)
C CALLS:
C	BadI4
C SEE ALSO:
C	Array_Info
C-
	    integer	N
	    integer	A(*)
	    integer	C(*)

	integer		BadI4

	iA = loc(A)
	iC = loc(C)
	if (iA .eq. iC) return			! Source = Destination

!$omp parallel private(ibad,I,I1,I2,I3)
	ibad = BadI4()
	call ArrayLoc2(iA,iC,abs(N),4,I1,I2,I3)	! Set direction of DO-loop

	if (N .lt. 0) then
!$omp do schedule(static)
	    do I=I1,I2,I3
		if (A(I) .ne. ibad) C(I) = A(I)
	    end do
!$omp end do nowait
	else
!$omp do schedule(static)
	    do I=I1,I2,I3
		C(I) = A(I)
	    end do
!$omp end do nowait
	end if
!$omp end parallel

	return
	end
