!
! Test Fortran MPI_Reduce_local with MPI_OP_SUM and with user-defined operation.
!
- subroutine user_op( invec, outvec, count, datatype )
- use mpi
- integer invec(*), outvec(*)
- integer count, datatype
- integer ii
-
- if (datatype .ne. MPI_INTEGER) then
- write(6,*) 'Invalid datatype passed to user_op()'
- return
- endif
-
- do ii=1, count
- outvec(ii) = invec(ii) * 2 + outvec(ii)
- enddo
-
- end
-
program main
use mpi
integer max_buf_size
call mpi_finalize(ierr)
end
+
+ subroutine user_op( invec, outvec, count, datatype )
+ use mpi
+ integer invec(*), outvec(*)
+ integer count, datatype
+ integer ii
+
+ if (datatype .ne. MPI_INTEGER) then
+ write(6,*) 'Invalid datatype passed to user_op()'
+ return
+ endif
+
+ do ii=1, count
+ outvec(ii) = invec(ii) * 2 + outvec(ii)
+ enddo
+
+ end