C---------------------------------------------------------------------- subroutine ftr8vx(r8vals,i4vals,i2vals,nvals) C convert IEEE 32-bit floating point numbers to VAX floating point C This routine is only called on VAX computers. double precision r8vals(*) integer*2 i2vals(*) integer i4vals(*) integer nvals,i,j,k j=1 k=1 do 10 i=1,nvals C test for NaNs (treat +/- infinity the same as a NaN) if (i2vals(j) .ge. 32752 .or. (i2vals(j) .lt. 0 .and. & i2vals(j) .ge. -16))then i4vals(k) =-1 i4vals(k+1)=-1 C set underflows and -0 (8000000 hex) = to zero else if (i2vals(j) .le. -32753 .or. (i2vals(j) .ge. 0 .and. & i2vals(j) .le. 15))then r8vals(i)=0.0 else C Must be a real number, so multiply by 4.0 to convert to Vax r8vals(i)=r8vals(i)*4.0 end if j=j+4 k=k+2 10 continue end