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