module adder implicit none contains subroutine zadd(a, b, c, n) integer, intent(in) :: n double complex, intent(in) :: a(n), b(n) double complex, intent(out) :: c(n) integer :: j do j = 1, n c(j) = a(j) + b(j) end do end subroutine zadd end module adder