📄 mpi_address_f90.f90.sh
字号:
#! /bin/sh## Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana# University Research and Technology# Corporation. All rights reserved.# Copyright (c) 2004-2005 The Regents of the University of California.# All rights reserved.# Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.# $COPYRIGHT$# # Additional copyrights may follow# # $HEADER$### This file generates a Fortran code to bridge between an explicit F90# generic interface and the F77 implementation.## This file is automatically generated by either of the scripts# ../xml/create_mpi_f90_medium.f90.sh or# ../xml/create_mpi_f90_large.f90.sh#. "$1/fortran_kinds.sh"# This entire file is only generated in medium/large modules. So if# we're not at least medium, bail now.check_size mediumif test "$output" = "0"; then exit 0fi# Ok, we should continue.allranks="0 $ranks"output() { procedure=$1 rank=$2 type=$4 proc="$1$2D$3" cat <<EOFsubroutine ${proc}(location, address, ierr) include "mpif-config.h" ${type}, intent(in) :: location integer, intent(out) :: address integer, intent(out) :: ierr call ${procedure}(location, address, ierr)end subroutine ${proc}EOF}for rank in $allranksdo case "$rank" in 0) dim='' ; esac case "$rank" in 1) dim=', dimension(*)' ; esac case "$rank" in 2) dim=', dimension(1,*)' ; esac case "$rank" in 3) dim=', dimension(1,1,*)' ; esac case "$rank" in 4) dim=', dimension(1,1,1,*)' ; esac case "$rank" in 5) dim=', dimension(1,1,1,1,*)' ; esac case "$rank" in 6) dim=', dimension(1,1,1,1,1,*)' ; esac case "$rank" in 7) dim=', dimension(1,1,1,1,1,1,*)' ; esac output MPI_Address ${rank} CH "character${dim}" output MPI_Address ${rank} L "logical${dim}" for kind in $ikinds do output MPI_Address ${rank} I${kind} "integer*${kind}${dim}" done for kind in $rkinds do output MPI_Address ${rank} R${kind} "real*${kind}${dim}" done for kind in $ckinds do output MPI_Address ${rank} C${kind} "complex*${kind}${dim}" donedone
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -