来自Fortran模块的模糊引用

时间:2018-06-10 20:59:58

标签: compilation fortran precision

我正在使用Fortran中的Simpson,spepezoid和Gauss规则编写一个近似积分计算器的代码。赋值需要使用模块来分配精度,但是当我尝试编译代码时,我收到以下错误消息:

Name ‘pr’ at (1) is an ambiguous reference to ‘pr’ from module ‘precs’

我不确定这是编译错误还是代码有问题。

我正在使用的编译命令是:

gfortran P3.f90 intmod.f90 gaussmod.f90 precision.f90 -o P3.exe

编译其他模块时,我不会收到错误消息。

另一方面,我使用的代码是:

    program P3

    use gaussmod
    use integral
    use precs

    implicit none

    real(pr)                            :: aa, bb, s, ie, ss, st

    integer                             :: i, j, k, h, t, p

    real(pr), dimension(:), allocatable :: xx, ww

我的精密模块是:

    module precs

implicit none

integer, parameter :: sp = kind(1.0)
integer, parameter :: dp = kind(1.d0)
integer, parameter :: tp = selected_real_kind(p=precision(1._dp)+1)
integer, parameter :: qp = selected_real_kind(p=precision(1._tp)+1)

integer, parameter :: pr = qp

end module precs

0 个答案:

没有答案