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
| function sint(s) result(i)
| implicit none
| character(len=*) :: s
| integer :: j, i
| i = 0
| do j=len(s), 1, -1
| if (.not.((i.eq.0).and.(s(j:j).eq.' '))) then
| i = i + ichar(s(j:j)) * 10 ** (j - 1)
| endif
| end do
| return
| end function sint
|
| function test_in_bytes4(a) result (i)
| implicit none
| integer :: sint
| character(len=4) :: a
| integer :: i
| i = sint(a)
| a(1:1) = 'A'
| return
| end function test_in_bytes4
|
| function test_inout_bytes4(a) result (i)
| implicit none
| integer :: sint
| character(len=4), intent(inout) :: a
| integer :: i
| if (a(1:1).ne.' ') then
| a(1:1) = 'E'
| endif
| i = sint(a)
| return
| end function test_inout_bytes4
|
|