1program test1
2
3  use tst_utils
4  use variable
5
6  implicit none
7
8  type(variable_t) :: va
9  real(dp) :: a, b(2), c(2,2)
10  real(dp), pointer :: pa =>null()
11  character(len=15) :: sa, sb
12  character(len=20) :: ca, cb
13  logical :: success
14
15#include "variable_declarations_.inc"
16
17  a = 1.0_dp
18  b = 2._dp
19  c = 3._dp
20
21  call assign(va,a)
22  pd0 = transfer(va%enc,pd0)
23  print '(a2,tr1,f4.2)',va%t,pd0%p
24  call associate(pa,va,success=success)
25  if ( success ) then
26     print *,'Success: ',pa
27  end if
28
29  call assign(va,b)
30  call assign(b,va)
31  pd1 = transfer(va%enc,pd1)
32  print '(a2,2(tr1,f4.2))',va%t,pd1%p
33
34  call assign(va,c)
35  pd2 = transfer(va%enc,pd2)
36  print '(a2,4(tr1,f4.2))',va%t,pd2%p
37
38  call assign(va,1)
39  pi0 = transfer(va%enc,pi0)
40  print '(a2,tr1,i0)',va%t,pi0%p
41
42  ca = 'hello world'
43  sa = ca
44  call assign(va,sa)
45
46  call assign(sb,va)
47  cb = sb
48  print *,cb
49
50  call delete(va)
51
52end program test1
53