15 subroutine writetest(id,descr,nv,iv,iva,tol,rv,rva,zv,zva)
18 integer,
intent(in) :: id
19 character(*),
intent(in) :: descr
20 integer,
optional,
intent(in) :: nv
21 integer,
optional,
intent(in) :: iv
22 integer,
optional,
intent(in) :: iva(*)
23 real(8),
optional,
intent(in) :: tol
24 real(8),
optional,
intent(in) :: rv
25 real(8),
optional,
intent(in) :: rva(*)
26 complex(8),
optional,
intent(in) :: zv
27 complex(8),
optional,
intent(in) :: zva(*)
33 if ((id < 0).or.(id > 999))
then 35 write(*,
'("Error(writetest): id out of range : ",I8)') id
39 if (
present(iva).or.
present(rva).or.
present(zva))
then 40 if (.not.
present(nv))
then 42 write(*,
'("Error(writetest): missing argument nv")')
48 write(*,
'("Error(writetest): nv < 1 : ",I8)') nv
54 if (
present(rv).or.
present(rva).or.
present(zv).or.
present(zva))
then 55 if (.not.
present(tol))
then 57 write(*,
'("Error(writetest): missing argument tol")')
62 write(fname,
'("TEST_",I3.3,".OUT")') id
64 open(90,file=trim(fname),form=
'FORMATTED',action=
'WRITE')
65 write(90,
'("''",A,"''")') trim(descr)
68 write(90,
'(2I8)') 1,iv
69 else if (
present(rv))
then 71 write(90,
'(G24.14)') tol
72 write(90,
'(I8,G24.14)') 1,rv
73 else if (
present(zv))
then 75 write(90,
'(G24.14)') tol
76 write(90,
'(I8,2G24.14)') 1,dble(zv),aimag(zv)
77 else if (
present(iva))
then 78 write(90,
'(2I8)') 1,nv
80 write(90,
'(2I8)') j,iva(j)
82 else if (
present(rva))
then 83 write(90,
'(2I8)') 2,nv
84 write(90,
'(G24.14)') tol
86 write(90,
'(I8,G24.14)') j,rva(j)
88 else if (
present(zva))
then 89 write(90,
'(2I8)') 3,nv
90 write(90,
'(G24.14)') tol
92 write(90,
'(I8,2G24.14)') j,dble(zva(j)),aimag(zva(j))
subroutine writetest(id, descr, nv, iv, iva, tol, rv, rva, zv, zva)