source: CIVL/examples/experimental/reverse_CIVL/ADFirstAidKit/testMemSizef.f

main
Last change on this file was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5704 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 5.7 KB
RevLine 
[4d61ad0]1C$Id: testMemSizef.f 466 2005-10-03 10:37:50Z vmp $
2 program testmemsize
3 external countsetbits
4 integer countsetbits
5 integer i, j, ti(10), ci0(10), ci1(10)
6 integer*8 i8, ti8(10), ci80(10), ci81(10)
7 real r, tr(10), cr0(10), cr1(10)
8 real*4 r4, tr4(10), cr40(10), cr41(10)
9 real*8 r8, tr8(10), cr80(10), cr81(10)
10c real*16 r16, tr16(10), cr160(10), cr161(10)
11 double precision d, td(10), cd0(10), cd1(10)
12 complex cx, tcx(10), ccx0(10), ccx1(10)
13 complex*8 cx8, tcx8(10), ccx80(10), ccx81(10)
14 complex*16 cx16, tcx16(10), ccx160(10), ccx161(10)
15 double complex cxd, tcxd(10), ccxd0(10), ccxd1(10)
16 logical l, tl(10), cl0(10), cl1(10)
17 character c, tc(10), cc0(10), cc1(10)
18c
19 integer tci0(10000)
20 common /cbuf0/ tci0
21 equivalence (tci0(1),ci0(1))
22 equivalence (tci0(1),ci80(1))
23 equivalence (tci0(1),cr0(1))
24 equivalence (tci0(1),cr40(1))
25 equivalence (tci0(1),cr80(1))
26c equivalence (tci0(1),cr160(1))
27 equivalence (tci0(1),cd0(1))
28 equivalence (tci0(1),ccx0(1))
29 equivalence (tci0(1),ccx80(1))
30 equivalence (tci0(1),ccx160(1))
31 equivalence (tci0(1),ccxd0(1))
32 equivalence (tci0(1),cl0(1))
33 equivalence (tci0(1),cc0(1))
34c
35 integer tci1(10000)
36 common /cbuf1/ tci1
37 equivalence (tci1(1),ci1(1))
38 equivalence (tci1(1),ci81(1))
39 equivalence (tci1(1),cr1(1))
40 equivalence (tci1(1),cr41(1))
41 equivalence (tci1(1),cr81(1))
42c equivalence (tci1(1),cr161(1))
43 equivalence (tci1(1),cd1(1))
44 equivalence (tci1(1),ccx1(1))
45 equivalence (tci1(1),ccx81(1))
46 equivalence (tci1(1),ccx161(1))
47 equivalence (tci1(1),ccxd1(1))
48 equivalence (tci1(1),cl1(1))
49 equivalence (tci1(1),cc1(1))
50c
51 integer nb
52c
53 do i = 1,10
54 ti(i) = (i-1)*i*i*i*i*i*i*i*i*i
55 ti8(i) = (i-1)*i*i*i*i*i*i*i*i*i
56 tr(i) = (i-1)*i*exp(2.0*i+0.001)
57 tr4(i) = (i-1)*i*exp(2.0*i+0.001)
58 tr8(i) = (i-1)*i*exp(2.0*i+0.001)
59c tr16(i) = (i-1)*i*exp(2.0*i+0.001)
60 td(i) = (i-1)*i*exp(2.d0*i+1.d-3)
61 tcx(i) = cmplx(tr(i),tr(i)+12.3)
62 tcx8(i) = cmplx(tr8(i),tr(i)+12.3)
63 tcx16(i) = cmplx(tr8(i),tr(i)+12.3)
64 tcxd(i) = cmplx(td(i),td(i)+12.3d0)
65 tl(i) = (((i/3)*3).eq.i)
66 enddo
67 tc(1) = 'a'
68 tc(2) = 'b'
69 tc(3) = 'c'
70 tc(4) = 'd'
71 tc(5) = 'e'
72 tc(6) = 'f'
73 tc(7) = 'g'
74 tc(8) = 'h'
75 tc(9) = 'i'
76 tc(10) = 'j'
77
78 i = 12345
79 i8 = 12345
80 r = sqrt(12345.0)
81 r4 = sqrt(12345.0)
82 r8 = sqrt(12345.0)
83c r16 = sqrt(12345.0)
84 d = sqrt(12345.d0)
85 cx = cmplx(-12.34,56.78)
86 cx8 = cmplx(-12.34,56.78)
87 cx16 = cmplx(-12.34,56.78)
88 cxd = cmplx(-12.34d0,56.78d0)
89 l = .true.
90 c = 'z'
91c
92 call allzero(tci0(1))
93 call allones(tci1(1))
94c call displaybits(tci0(1), 3)
95c call displaybits(tci1(1), 3)
96 print *, ' '
97c
98 call allzero(tci0(1))
99 call allones(tci1(1))
100 do j=1,8
101 ci0(j) = ti(j+2)
102 ci1(j) = ti(j+2)
103 enddo
104 nb = countsetbits(tci0(1), tci1(1), 8, 100)
105 print 100, 'INTEGER:', nb, ' bytes'
106c
107 call allzero(tci0(1))
108 call allones(tci1(1))
109 do j=1,8
110 ci80(j) = ti8(j+2)
111 ci81(j) = ti8(j+2)
112 enddo
113 nb = countsetbits(tci0(1), tci1(1), 8, 100)
114 print 100, 'INTEGER*8:', nb, ' bytes'
115c
116 call allzero(tci0(1))
117 call allones(tci1(1))
118 do j=1,8
119 cr0(j) = tr(j+2)
120 cr1(j) = tr(j+2)
121 enddo
122 nb = countsetbits(tci0(1), tci1(1), 8, 100)
123 print 100, 'REAL:', nb, ' bytes'
124c
125 call allzero(tci0(1))
126 call allones(tci1(1))
127 do j=1,8
128 cr40(j) = tr4(j+2)
129 cr41(j) = tr4(j+2)
130 enddo
131 nb = countsetbits(tci0(1), tci1(1), 8, 100)
132 print 100, 'REAL*4:', nb, ' bytes'
133c
134 call allzero(tci0(1))
135 call allones(tci1(1))
136 do j=1,8
137 cr80(j) = tr8(j+2)
138 cr81(j) = tr8(j+2)
139 enddo
140 nb = countsetbits(tci0(1), tci1(1), 8, 100)
141 print 100, 'REAL*8:', nb, ' bytes'
142c
143 call allzero(tci0(1))
144 call allones(tci1(1))
145 do j=1,8
146 cd0(j) = td(j+2)
147 cd1(j) = td(j+2)
148 enddo
149 nb = countsetbits(tci0(1), tci1(1), 8, 100)
150 print 100, 'DOUBLE PRECISION:', nb, ' bytes'
151c
152 call allzero(tci0(1))
153 call allones(tci1(1))
154 do j=1,8
155 ccx0(j) = tcx(j+2)
156 ccx1(j) = tcx(j+2)
157 enddo
158 nb = countsetbits(tci0(1), tci1(1), 8, 100)
159 print 100, 'COMPLEX:', nb, ' bytes'
160c
161 call allzero(tci0(1))
162 call allones(tci1(1))
163 do j=1,8
164 ccx80(j) = tcx8(j+2)
165 ccx81(j) = tcx8(j+2)
166 enddo
167 nb = countsetbits(tci0(1), tci1(1), 8, 100)
168 print 100, 'COMPLEX*8:', nb, ' bytes'
169c
170 call allzero(tci0(1))
171 call allones(tci1(1))
172 do j=1,8
173 ccx160(j) = tcx16(j+2)
174 ccx161(j) = tcx16(j+2)
175 enddo
176 nb = countsetbits(tci0(1), tci1(1), 8, 100)
177 print 100, 'COMPLEX*16:', nb, ' bytes'
178c
179 call allzero(tci0(1))
180 call allones(tci1(1))
181 do j=1,8
182 ccxd0(j) = tcxd(j+2)
183 ccxd1(j) = tcxd(j+2)
184 enddo
185 nb = countsetbits(tci0(1), tci1(1), 8, 100)
186 print 100, 'DOUBLE COMPLEX:', nb, ' bytes'
187c
188 call allzero(tci0(1))
189 call allones(tci1(1))
190 do j=1,8
191 cl0(j) = tl(j+2)
192 cl1(j) = tl(j+2)
193 enddo
194 nb = countsetbits(tci0(1), tci1(1), 8, 100)
195 print 100, 'LOGICAL:', nb, ' bytes'
196c
197 call allzero(tci0(1))
198 call allones(tci1(1))
199 do j=1,8
200 cc0(j) = tc(j+2)
201 cc1(j) = tc(j+2)
202 enddo
203 nb = countsetbits(tci0(1), tci1(1), 8, 100)
204 print 100, 'CHARACTER:', nb, ' bytes'
205c
206 100 format(a18,i3,a6)
207 end
Note: See TracBrowser for help on using the repository browser.