Is this yet another bug with transfer

Dominique Dhumieres dominiq@lps.ens.fr
Mon Oct 1 09:51:00 GMT 2007


The following code

real(8)  :: x, ax(2)
real(16) :: y, z
equivalence (ax(1), z)
ax=transfer(1.0_16,x)
print *, ax
z = 1.0_16
print *, ax
end

gives

   1.00000000000000        1.00000000000000     
   1.00000000000000        0.00000000000000     

The second line is the answer I expect, do I misunderstand
something? or is the transfer not working properly here?

Note: yes I know that the use of the equivalence makes
the code non standard conforming.

Dominique



More information about the Fortran mailing list