C+ C NAME: C ArrR4Copy C PURPOSE: C Copy real*4 array C CALLING SEQUENCE: subroutine ArrR4Copy(N,A,C) C CALLS: C BadR4 C PROCEDURE: C Special case: source = destination, then no action is taken C SEE ALSO: C Array_Info C- integer N real A(*) real C(*) iA = loc(A) iC = loc(C) if (iA .eq. iC) return ! Source = Destination !$omp parallel private(bad,I,I1,I2,I3) bad = BadR4() 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. bad) 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