私はPythonでf2pyでバインドされたFortran関数を呼び出して作業しています。私は明示的に配列をディメンションするとき、私の合計コールは、所望の結果を返しますが、私は形状引継ぎを使用する場合には、0想定された形状で機能する配列を渡す
! foo.f95
function sum_test(arr)
IMPLICIT NONE
integer(8), dimension(:), intent(in) :: arr
integer(8) :: sum_test
sum_test = sum(arr)
end function sum_test
Pythonの側返す:
import foo
foo.sum_test([1,2,3])
0L
は、私がFortranで明示的寸法場合:
を! foo.f95
function sum_test(arr)
IMPLICIT NONE
integer(8), dimension(3), intent(in) :: arr
integer(8) :: sum_test
sum_test = sum(arr)
end function sum_test
のPython側:
import foo
foo.sum_test([1,2,3])
6L
私はそうのような形状引き継ぎバージョンで私の値をプリントアウトした場合、その
注:
write(*,*) arr
は、私は、配列内の値を見ることができます。
私は明らかにいくつかの重要な部分がありません!
こんにちは、歓迎します。あなたの投稿を合理的に保ち、長い紹介、感謝と挨拶を避けてください。あなたの名前は既にアイコンの下にあるので、それを繰り返す必要はありません。 tag [tag:fortran]を使用し、その理由がある場合はここにはない特定のバージョンを追加してください。より多くの人々がより一般的なタグに従うので、答えを得る可能性が高くなります。また、(I、Fortran、Pythonの)大文字を使用するとよいでしょう。さもなければ、ある人には "怠惰な"ように見えるかもしれません。 –
また、使用したソフトウェアのバージョンと使用したコンパイラフラグを報告するとよいでしょう。 –