gpt4 book ai didi

variables - 在 Fortran 中确定变量类型

转载 作者:行者123 更新时间:2023-12-03 20:49:45 24 4
gpt4 key购买 nike

在 Fortran 中,有没有办法确定变量的类型?

以下是需要变量类型的可能用例。我们将变量的类型作为参数传递给函数,以便能够使用该函数调用特定于类型的代码,从而无需为每种数据类型使用单独的类似函数。

最佳答案

这是一段代码,用于确定某物的类型。该操作是微不足道的,但您应该能够将其扩展到您的用例。

module element_to_datatype
use iso_fortran_env
use mpi_f08
implicit none

contains

function get_element_datatype(element) result(datatype)
class(*), intent(in) :: element
type(MPI_Datatype) :: datatype
select type(element)
! REAL types
type is ( real(kind=REAL32) )
datatype = MPI_REAL4
type is ( real(kind=REAL64) )
datatype = MPI_REAL8
! COMPLEX types
type is ( complex(kind=REAL32) )
datatype = MPI_COMPLEX8
type is ( complex(kind=REAL64) )
datatype = MPI_COMPLEX16
! INTEGER types
type is ( integer(kind=INT8) )
datatype = MPI_INTEGER1
type is ( integer(kind=INT16) )
datatype = MPI_INTEGER2
type is ( integer(kind=INT32) )
datatype = MPI_INTEGER4
type is ( integer(kind=INT64) )
datatype = MPI_INTEGER8
! OTHER types
type is ( logical )
datatype = MPI_LOGICAL
end select
end function

end module element_to_datatype
先前的答案显示了如何使用接口(interface)执行此操作,因此我不会重复。

关于variables - 在 Fortran 中确定变量类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2560182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com