Fortran へのコード変換における注意点
|
説明
|
|
•
|
CodeGeneration[Fortran] によって生成される Fortran コードは Fortran 77 の規格に従います。
|
•
|
CodeGeneration[Fortran] からの出力は Fortran 77 の書式に従います。命令文は 7 列目から始まり、72 文字を超える生成行は Fortran 77 の規則に従って改行します。
|
•
|
入力コード内にある Fortran 77 規格 (文字で始まり、最大 6 文字までの英数字の文字列) に合致しない識別子は、生成される出力に有効な識別子に置き換えられます。また、Fortran 77 では大文字と小文字が区別されないため、ほかの識別子との違いが大文字と小文字の違いのみの場合 (たとえば、XYz と xYz)、そのまま変換することができません。そのため、このような矛盾する識別子は、矛盾が解決されるまで、許容可能な識別子に 1 つずつ置き換えられます。変換コードに、大文字と小文字を区別しないと特定の Maple 名と同一になるものが含まれている場合 (たとえば、pi)、Maple 名が置き換わってしまうことがあり、混乱する結果を招く可能性があります。
|
|
注意 : {limitvariablelength=value} オプションを指定すると、7 文字以上の変数名が置き換えられます。使用できる値は true または false です。デフォルトは true です。このオプションは CodeGeneration[Fortran] コマンドに対してのみ使用できます。長い名前が自動的に置き換えられないようにするには、limitvariablelength=false オプションを使用してください。
|
•
|
変換されるコードが戻り値を持たないプロシージャの場合、そのコードは Fortran サブルーチンに変換されます。それ以外の場合、Fortran 関数に変換されます。
|
•
|
関数 mod、modp、および mods はすべて、Fortran の mod 関数 (または functionprecision の設定に応じてその変形の関数) に対するコールとして変換されます。これらの関数の挙動は、一部の引数値に対して mod の挙動と合致しないことに注意してください。
|
•
|
CodeGeneration[Fortran] は printf 文を print 文に変換しますが、printf 書式の文字列については限定された分析しか実行しません。そのため、書式設定の指示 (たとえば、浮動小数点の精度など) の一部は変換時に無視されます。
|
•
|
Maple モジュールは Fortran プログラムにマッピングされます。モジュールメンバーの public と private は区別されません。プロシージャモジュールメンバーの宣言後に、メインブロックでそのほかのモジュールメンバーが宣言または初期化されます。
|
|
|
Download Help Document
Was this information helpful?