integer :: ierr
for rank in $ranks
do
case "$rank" in 1) dim=':' ; esac
case "$rank" in 2) dim=':,:' ; esac
case "$rank" in 3) dim=':,:,:' ; esac
case "$rank" in 4) dim=':,:,:,:' ; esac
case "$rank" in 5) dim=':,:,:,:,:' ; esac
case "$rank" in 6) dim=':,:,:,:,:,:' ; esac
case "$rank" in 7) dim=':,:,:,:,:,:,:' ; esac
for kind in $ikinds
do
proc="${procedure}${rank}DI${kind}"
echo "subroutine ${proc}(
)"
echo " use mpi_kinds"
echo " integer, intent(out) :: ierr"
echo "end subroutine ${proc}"
echo
done
echo
done
echo
call
,
,
ierr
,
&
,
integer(kind=MPI_INTEGER${kind}_KIND)
, dimension(${dim})
integer
integer
integer
character
(len=STR_LEN)
UNSUPPORTED
UNSUPPORTED
, dimension(
ARRAY_LEN
D
,
)
integer(kind=MPI_ADDRESS_KIND)
integer(kind=MPI_OFFSET_KIND)
integer(MPI_STATUS_SIZE)
external
external
external
external
external
external
external
external
external
external
external
external
external
external
external
external
external
external
integer
UNSUPPORTED
UNSUPPORTED
= VOID_VAL
= INT_VAL
= INT_VAL
= CHAR_VAL
= UNSUPPORTED_VAL
= FLOAT_VAL
= REF_VAL
= MPI_AINT_VAL
= INT64_VAL
= STATUS_VAL
= USER_INT_VAL
= UNSUPPORTED_VAL
= UNSUPPORTED_VAL
D
!
! Fortran program to test F90 interface to C function
!
program main
use mpi
implicit none
include 'F90TestValues.h'
if (ierr /= 0) print *, "ERROR running
"
end program