source: CIVL/mods/dev.civl.abc/examples/fortran/f77_standard/operands.f

main
Last change on this file was aad342c, checked in by Stephen Siegel <siegel@…>, 3 years ago

Performing huge refactor to incorporate ABC, GMC, and SARL into CIVL repo and use Java modules.

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

  • Property mode set to 100644
File size: 2.4 KB
RevLine 
[aad342c]1 program p
2 implicit none
3 integer a,b,res
4 real ar,br,resr
5 double precision ad,bd,resd
6 character c1*3,c2*3,c3*6
7 logical t,f
8
9 f = 2 .ge. 3
10c$ civl assert(.not. f)
11 t = 2 .ge. 2
12c$ civl assert(t)
13 f = 2 .gt. 2
14c$ civl assert(.not. f)
15 t = 2 .gt. 1
16c$ civl assert(t)
17 f = 3 .le. 2
18c$ civl assert(.not. f)
19 t = 2 .le. 2
20c$ civl assert(t)
21 f = 2 .lt. 2
22c$ civl assert(.not. f)
23 t = 1 .lt. 2
24c$ civl assert(t)
25 t = 1 .eq. 1
26c$ civl assert(t)
27 f = 1 .eq. 2
28c$ civl assert(.not. f)
29 t = 1 .ne. 2
30c$ civl assert(t)
31 f = 1 .ne. 1
32c$ civl assert(.not. f)
33
34 t = .true. .eqv. .true.
35c$ civl assert(t)
36 t = .false. .eqv. .false.
37c$ civl assert(t)
38 f = .false. .eqv. .true.
39c$ civl assert(.not. f)
40 t = .true. .neqv. .false.
41c$ civl assert(t)
42 f = .false. .neqv. .false.
43c$ civl assert(.not. f)
44 f = .true. .neqv. .true.
45c$ civl assert(.not. f)
46
47
48 c1 = "a"
49 c2 = "def"
50 c3 = c1//c2
51c$ civl assert(c3 .eq. "a def")
52c character strings are truncated if assigned to shorter target
53 c2 = c3
54c$ civl assert(c2 .eq. "abc")
55c character strings are padded if assigned to longer target
56 c3 = c2
57c$ civl assert(c3 .eq. "abc")
58c comparison evaluates to .true. regardless of trailing blanks
59c$ civl assert(c3 .eq. "abc ")
60c blanks at the start matter though
61c$ civl assert(.not. c3 .eq. " abc")
62
63 a = 2
64 b = 3
65
66 res = a+b
67c$ civl assert(res .eq. 5)
68 res = a*b
69c$ civl assert(res .eq. 6)
70 res = b/a
71c$ civl assert(res .eq. 1)
72 res = a-b
73c$ civl assert(res .eq. -1)
74 res = a**b
75c$ civl assert(res .eq. 8)
76 res = +a
77c$ civl assert(res .eq. 2)
78 res = -a
79c$ civl assert(res .eq. -2)
80
81 ar = a
82 br = b
83 resr = ar+br
84c$ civl assert(resr .eq. 5)
85 resr = ar*br
86c$ civl assert(resr .eq. 6)
87 resr = br/ar
88c$ civl assert(resr .eq. 1.5)
89 resr = ar-br
90c$ civl assert(resr .eq. -1)
91 resr = ar**br
92c$ civl assert(resr .eq. 8)
93 resr = +ar
94c$ civl assert(resr .eq. 2)
95 resr = -ar
96c$ civl assert(resr .eq. -2)
97
98 ad = a
99 bd = b
100 resd = ad+bd
101c$ civl assert(resd .eq. 5)
102 resd = ad*bd
103c$ civl assert(resd .eq. 6)
104 resd = bd/ad
105c$ civl assert(resd .eq. 1.5)
106 resd = ad-bd
107c$ civl assert(resd .eq. -1)
108 resd = ad**bd
109c$ civl assert(resd .eq. 8)
110 resd = +ad
111c$ civl assert(resd .eq. 2)
112 resd = -ad
113c$ civl assert(resd .eq. -2)
114 end program
Note: See TracBrowser for help on using the repository browser.