Hi,
Is there any one familiar with c++ who can help me implement this one in Fortran
Is the below one is the correct implementation:
The above code gives me error the precision is not enough, but why?
If I change it to Integer(Kind = 16) it will work, but I do not understand in the c++ version they have used a simple 4 byte integer and that is enough, but in FORTRAN I have to use 16 bytes ????????????
Please some one give me a hint or st.
Regards,
Is there any one familiar with c++ who can help me implement this one in Fortran
Code:
static const unsigned int d1=0xDEADBEEF ^ (0x1fc4ce47*(d^(d>>13)));
Is the below one is the correct implementation:
Code:
Integer :: d1, d
Integer, Parameter :: cns1=Z'DEADBEEF'
Integer, Parameter :: cns2=Z'1fc4ce47'
d1=Ieor(cns1, cns2*Ieor(d, Ishft(d, -13)))
The above code gives me error the precision is not enough, but why?
If I change it to Integer(Kind = 16) it will work, but I do not understand in the c++ version they have used a simple 4 byte integer and that is enough, but in FORTRAN I have to use 16 bytes ????????????
Please some one give me a hint or st.
Regards,