I'm writing a simple program for the squared module of a vector, could you help me?
I don't find anything useful for a beginner in fortran 2008, especially in these simple operations between arrays.
function squared_module(n)
integer :: module2
integer, dimension(3), intent(in) :: n
module2=n(1)**2+n(2)**2+n(3)**2
end function
program propagator
implicit none
integer, dimension(3) :: m
integer :: module2
write (*,*) "Give me a vector"
read (*,*) m
module2=squared_module(m)
print*, "Module squared is ", module2
end program propagator
ERRORS I OBTAIN:
propagator.f08:38:26:
module2=squared_module(m)
1
Error: Return type mismatch of function ‘squared_module’ at (1) (UNKNOWN/REAL(4)) propagator.f08:38:12:
module2=squared_module(m)
1
Error: Function ‘squared_module’ at (1) has no IMPLICIT type