15 subroutine rdieee(rieee,a,num)
17 real(4),
intent(in) :: rieee(num)
18 real,
intent(out) :: a(num)
19 integer,
intent(in) :: num
23 real,
parameter :: two23=scale(1.0,-23)
24 real,
parameter :: two126=scale(1.0,-126)
30 ieee=transfer(rieee(j),ieee)
34 isign=ibits(ieee,31,1)
36 imant=ibits(ieee,0,23)
38 if (isign.eq.1) sign=-1.0
40 if ( (iexp.gt.0).and.(iexp.lt.255) )
then
42 a(j)=sign*temp*(1.0+(two23*real(imant)))
44 elseif ( iexp.eq.0 )
then
45 if ( imant.ne.0 )
then
46 a(j)=sign*two126*two23*real(imant)
51 elseif ( iexp.eq.255 )
then