Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
CSharp へのコード変換に関する注意事項
このヘルプページは、CodeGeneration[CSharp] 関数を用いたコード変換に関する詳細な説明を行います。CodeGeneration パッケージに含まれる全関数に関する一般的な情報については、CodeGeneration/Details をご覧ください。
説明
CodeGeneration/Details ヘルプページに記載されている関数の他に、次の Maple 関数が CodeGeneration[CSharp]: cat, ceil, floor および if (演算子)により認識されます。
通常、CodeGeneration[CSharp] が認識した数学関数は、System.Math ライブラリの関数に変換されます。さらに、Maple 定数 Pi は、System.Math の定数 Math.PI に変換されます。
CodeGeneration[CSharp] に与えるパラメータがプロシージャの場合、出力は他の CSharp プログラムで簡単に利用できるよう、クラス CodeGenerationClass に埋め込まれます。
双曲線三角関数については、System.Math に相当する関数がないため、CodeGeneration[CSharp] では指数関数を使って表わします。
CSharpには sign と signum に相当するものがないため、CodeGeneration[CSharp] では条件演算子を用いた表現に変換します。
mod、modp、mods の各関数は、全て CSharp の剰余記号 % を用いた表現に変換されます。
注意: 引数の値によっては、これらの関数の動作は % の動作と一致しない場合があります。
2 を超える指数を含む Maple 式は Math.Pow 関数に変換されるので、自動型推定システムは適切な型を推定できない場合もあります。
CodeGeneration[CSharp] は printf 文を Console.WriteLine 文に変換しますが、その際 printf の書式文字列に対して限られた解析しか行いません。従って、変換時に一部の書式命令(例えば、浮動小数の精度)は無視されます。
単精度と倍精度の浮動小数間の変換は行われません。precision=single のオプションを指定した場合、CodeGeneration[CSharp] により生成される System.Math コールの計算結果にはキャストを行う必要があります。
Maple の配列や rtable の範囲は、変換先の CSharp 配列の添え字が 0 から開始となるように調節されます。
Maple モジュールは CSharp クラスに変換され、モジュールのメンバーは静的なクラスメンバーに対応させられます。モジュールのエクスポートは CSharp クラスのパブリックメソッドやパブリックフィールドに変換され、モジュールの局所的な変数はプライベートメソッドやプライベートフィールドに変換されます。クラスメンバーは全て静的メンバーとなります。
タイプは全て System タイプ(例えば string ではなく System.String)で表されます。
参照
CodeGeneration, CodeGeneration/Details, CodeGeneration[CSharp]
Download Help Document