C---------------------------------------------------------------------- subroutine ftr4vx(r4vals,i2vals,nvals) C convert IEEE 32-bit floating point numbers to VAX floating point C This routine is only called on Vax and Alpha VMS systems. real r4vals(*) integer*2 i2vals(*) integer nvals,i,j j=1 do 10 i=1,nvals C test for NaNs (treat +/- infinity the same as a NaN) if (i2vals(j) .ge. 32640 .or. (i2vals(j) .lt. 0 .and. & i2vals(j) .ge. -128))then i2vals(j)=-1 i2vals(j+1)=-1 C set underflows and -0 (8000000 hex) = to zero else if (i2vals(j) .le. -32641 .or. (i2vals(j) .ge. 0 .and. & i2vals(j) .le. 127))then r4vals(i)=0.0 else C Must be a real number, so multiply by 4.0 to convert to Vax r4vals(i)=r4vals(i)*4.0 end if j=j+2 10 continue end