! { dg-do run }
|
! { dg-do run }
|
! test namelist with scalars and arrays.
|
! test namelist with scalars and arrays.
|
! Based on example provided by thomas.koenig@online.de
|
! Based on example provided by thomas.koenig@online.de
|
|
|
program sechs_w
|
program sechs_w
|
implicit none
|
implicit none
|
|
|
integer, parameter :: dr=selected_real_kind(15)
|
integer, parameter :: dr=selected_real_kind(15)
|
|
|
integer, parameter :: nkmax=6
|
integer, parameter :: nkmax=6
|
real (kind=dr) :: rb(nkmax)
|
real (kind=dr) :: rb(nkmax)
|
integer :: z
|
integer :: z
|
|
|
real (kind=dr) :: dg
|
real (kind=dr) :: dg
|
real (kind=dr) :: a
|
real (kind=dr) :: a
|
real (kind=dr) :: da
|
real (kind=dr) :: da
|
real (kind=dr) :: delta
|
real (kind=dr) :: delta
|
real (kind=dr) :: s,t
|
real (kind=dr) :: s,t
|
integer :: nk
|
integer :: nk
|
real (kind=dr) alpha0
|
real (kind=dr) alpha0
|
|
|
real (kind=dr) :: phi, phi0, rad, rex, zk, z0, drdphi, dzdphi
|
real (kind=dr) :: phi, phi0, rad, rex, zk, z0, drdphi, dzdphi
|
|
|
namelist /schnecke/ z, dg, a, t, delta, s, nk, rb, alpha0
|
namelist /schnecke/ z, dg, a, t, delta, s, nk, rb, alpha0
|
|
|
open (10,status="scratch")
|
open (10,status="scratch")
|
write (10, *) "&SCHNECKE"
|
write (10, *) "&SCHNECKE"
|
write (10, *) " z=1,"
|
write (10, *) " z=1,"
|
write (10, *) " dg=58.4,"
|
write (10, *) " dg=58.4,"
|
write (10, *) " a=48.,"
|
write (10, *) " a=48.,"
|
write (10, *) " delta=0.4,"
|
write (10, *) " delta=0.4,"
|
write (10, *) " s=0.4,"
|
write (10, *) " s=0.4,"
|
write (10, *) " nk=6,"
|
write (10, *) " nk=6,"
|
write (10, *) " rb=60, 0, 40,"
|
write (10, *) " rb=60, 0, 40,"
|
write (10, *) " alpha0=20.,"
|
write (10, *) " alpha0=20.,"
|
write (10, *) "/"
|
write (10, *) "/"
|
|
|
rewind (10)
|
rewind (10)
|
read (10,schnecke)
|
read (10,schnecke)
|
close (10)
|
close (10)
|
if ((z /= 1) .or. (dg /= 58.4_dr) .or. (a /= 48.0_dr) .or. &
|
if ((z /= 1) .or. (dg /= 58.4_dr) .or. (a /= 48.0_dr) .or. &
|
(delta /= 0.4_dr).or. (s /= 0.4_dr) .or. (nk /= 6) .or. &
|
(delta /= 0.4_dr).or. (s /= 0.4_dr) .or. (nk /= 6) .or. &
|
(rb(1) /= 60._dr).or. (rb(2) /= 0.0_dr).or. (rb(3) /=40.0_dr).or. &
|
(rb(1) /= 60._dr).or. (rb(2) /= 0.0_dr).or. (rb(3) /=40.0_dr).or. &
|
(alpha0 /= 20.0_dr)) call abort ()
|
(alpha0 /= 20.0_dr)) call abort ()
|
end program sechs_w
|
end program sechs_w
|
|
|