rt_gccstream/gcc/testsuite/gfortran.dg/boz_11.f90

28 lines
1.2 KiB
Fortran

! { 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