Вызов R & Fortran

У меня нет опыта работы с Фортраном, но я пытаюсь запустить очень простой цикл на этом языке, вызывая его из R через .Fortran ( ) функция. Всякий раз, когда я запускаю последнюю строку кода R, которая вставлена ​​ниже, графический интерфейс R дает сбой, и я не получаю результата. Я заинтересован в том, чтобы вернуть вектор реальных значений x из Фортрана в R для дальнейшего анализа. g - числовое значение от 0 до 1, а n - целое число, и оба они предоставляются пользователем в R.

Любая помощь будет принята с благодарностью! Бест,

Винсент

Код Fortran сохранен в bar.f:

    subroutine bar(n, g, x)

      integer n
      double precision g
      double precision x(n)
      integer i
      x(1)=1
      do 100 i = 2, n
          x(i) = x(i-1) * g + 1
  100 continue

      end

Компиляция DLL в Cygwin с помощью gfortran:

gfortran -shared -obar.dll bar.f

Код R:

dyn.load("d:/bar.dll")
is.loaded("bar")
.Fortran("bar", n=as.integer(15), g=as.double(5), x=as.double(rnorm(5)))
12
задан Vincent 19 January 2011 в 04:42
поделиться