C+ C NAME: C ArrR4TimesConstant C PURPOSE: C Multiply real*4 array by constant C INPUTS: C N integer abs(N) = # elements C N < 0 skips bad values C A(*) real input array of abs(N) elements C R real scalar constant to be multiplied with A C OUTPUTS: C C(*) real output array A*R C CALLING SEQUENCE: subroutine ArrR4TimesConstant(N,A,R,C) C CALLS: C BadR4 C SEE ALSO: C Array_Info C- integer N real A(*) real R real C(*) iA = loc(A) iC = loc(C) if (iA .eq. IC .and. R .eq. 1.) return !$omp parallel private(bad,I,I1,I2,I3) bad = BadR4() call ArrayLoc2(iA,iC,abs(N),4,I1,I2,I3) !$omp do schedule(static) do I=I1,I2,I3 if (N .lt. 0 .and. A(I) .eq. bad) then C(I) = bad else C(I) = A(I)*R end if end do !$omp end do nowait !$omp end parallel return end