64 ビット SPARC 環境では、COMPLEX 値が浮動小数点レジスタに戻されます。COMPLEX と DOUBLE COMPLEX はそれぞれ %f0 と %f1 に戻され、COMPLEX*32 は %f0、%f1、%f2、および %f3 に戻されます。64 ビット SPARC では、要素がすべて浮動小数点型の構造体を返す C 関数は、浮動小数点レジスタで構造体を返します。ただし、そのために必要なレジスタの数が 4 個以下の場合にかぎられます。Fortran 関数と対応する C 関数の一般的な形式は次のとおりです。
Fortran 関数 |
C 関数 |
---|---|
COMPLEX FUNCTION CF(a1, a2, ..., an) |
struct {float r,i;} cf_ (a1, a2, ..., an) |
表 11–14 複素数データを戻す関数 (64 ビット SPARC)
Fortran が C を呼び出す |
|
---|---|
|
|
C が Fortran を呼び出す |
|
|