| ! { dg-do run } |
| ! |
| program test0 |
| implicit none |
| real, parameter :: & |
| r = transfer(int(b'01000000001010010101001111111101',kind=4),0.) |
| complex, parameter :: z = r * (0, 1.) |
| real(kind=8), parameter :: rd = dble(b'00000000000000000000000000000000& |
| &01000000001010010101001111111101') |
| complex(kind=8), parameter :: zd = (0._8, 1._8) * rd |
| integer :: x = 0 |
| |
| if (cmplx(b'01000000001010010101001111111101',x,4) /= r) call abort |
| if (cmplx(x,b'01000000001010010101001111111101',4) /= z) call abort |
| if (complex(b'01000000001010010101001111111101',0) /= r) call abort |
| if (complex(0,b'01000000001010010101001111111101') /= z) call abort |
| |
| !if (cmplx(b'00000000000000000000000000000000& |
| ! &01000000001010010101001111111101',x,8) /= rd) call abort |
| !if (cmplx(x,b'00000000000000000000000000000000& |
| ! &01000000001010010101001111111101',8) /= zd) call abort |
| !if (dcmplx(b'00000000000000000000000000000000& |
| ! &01000000001010010101001111111101',x) /= rd) call abort |
| !if (dcmplx(x,b'00000000000000000000000000000000& |
| ! &01000000001010010101001111111101') /= zd) call abort |
| |
| end program test0 |