Files
SAPFOR/tests/inliner/array_sum.f
2025-03-25 21:09:12 +03:00

70 lines
1.4 KiB
Fortran

integer function sum_(a, b)
integer a, b
sum_ = a + b
return
entry mul_(a, b)
mul_ = a * b
return
end
integer function array_sum(a, b, n)
integer n
integer a(n), b(n)
integer i
array_sum = 0
do i = 1, n
array_sum = array_sum + a(i) + b(i)
enddo
end
integer function array_sum2(a, b, n)
integer n
integer a(-1:8), b(n)
integer i
array_sum2 = 0
do i = 1, n
array_sum2 = array_sum2 + a(i-2) + b(i)
enddo
end
integer function array_sum3(a, b, n)
integer i, n, sum_
integer a(-1:8), b(n)
array_sum3 = 0
do i = 1, n
array_sum3 = array_sum3 + sum_(a(i-2), b(i))
enddo
end
subroutine print_(a)
integer a
write(*,*)a
end
subroutine print_array(a, n)
integer i, n
integer a(n)
do i = 1, n
write(*,*)a(i)
enddo
end
program main
implicit none
integer sum_, mul_, array_sum, array_sum2, array_sum3
integer i, s
integer array1(10), array2(10)
do i = 1, 10
array1(i) = i
array2(i) = i
enddo
call print_array(array1, 10)
call print_array(array2, 10)
s = array_sum(array1, array2, 10)
call print_(s)
s = array_sum2(array1, array2, 10)
call print_(s)
s = array_sum3(array1, array2, 10)
call print_(s)
end