Неоднозначная ссылка из модуля Фортран - PullRequest
0 голосов
/ 10 июня 2018

Я пишу код для приблизительного интегрального калькулятора, используя правило Симпсона, трапеции и Гаусса в Фортране.Присвоение требует использования модуля для присвоения точности, но когда я пытаюсь скомпилировать свой код, я получаю следующее сообщение об ошибке:

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
...