File: TestValueType.F90

package info (click to toggle)
gftl 1.3.0%2Bis-really-1.2.7-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 1,328 kB
  • sloc: pascal: 4,163; f90: 3,551; sh: 27; fortran: 16; makefile: 2
file content (65 lines) | stat: -rw-r--r-- 1,105 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
program main
   use Values_mod
   use ValueTypeMap_mod
   implicit none
   class(AbstractValue),pointer :: vp
   type(ValueTypeMap) :: vtMap1,vtMap2
   integer :: k
   integer,allocatable :: k1(:)

   logical :: L
   logical,allocatable :: L1(:)

   real(kind=DP) :: r
   real(kind=DP),allocatable :: r1(:)

   character(len=MAX_LEN_ATTRIBUTE_STRING) :: s
   character(len=MAX_LEN_ATTRIBUTE_STRING),allocatable :: s1(:)

   class(AbstractValue),allocatable :: AbV

   call vtMap1%init()

   vp=>vtMap1%at('integer') 
   k= vp
   print*,k

   vp=>vtMap1%at('integer1D') 
   k1 = vp
   print *,k1

   vp=>vtMap1%at('logical')
   L = vp
   print*,L
 
   vp=>vtMap1%at('logical1D') 
   L1=vp
   print*,L1

   vp=>vtMap1%at('realDP') 
   r = vp
   print*,r
   vp=>vtMap1%at('realDP1D') 
   r1=vp
   print*,r1

   vp=>vtMap1%at('string') 
   s=vp
   print*,s


   vp=>vtMap1%at('string1D') 
   s1 = vp
   print*,s1

   ! test Copy of ValueTypeMap 
   vtMap2 = vtMap1
   vp=>vtMap2%at('string1D') 
   call vp%print() 

   L=vtMap1%get('string1D',vp)
   if(L) then
     call vp%print()
   endif

end program main