Функция Возврат массива в Fortran

Насколько я понимаю, вы можете вернуть массив из функции в Фортране, но по какой-то причине мой код возвращает только первое значение в массиве, который я прошу вернуть. Это функция:

function polynomialMult(npts,x,y)
    integer npts
    double precision x(npts), results(npts + 1), y(npts,npts)

    polynomialMult =  x(1:npts) + 1

end function

, и здесь я называю ее

 C(1:numPoints) = polynomialMult(numPoints,x,f)

print *, C(1:numPoints)`

прямо сейчас, она не Я не делаю ничего полезного, потому что я пытаюсь понять синтаксис, прежде чем писать логику. Я видел кое-что об указании типов для функций, но когда я пишу

integer function polynomialMult(npts,x,y)

или что-то еще, я получаю ошибку компиляции.

22
задан Fortranner 6 May 2014 в 12:17
поделиться