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