Maple Professionel
Maple Académique
Maple Edition Étudiant
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professionel
MapleSim Académique
Maple T.A. - Suite d'examens de classement
Maple T.A. MAA Placement Test Suite
Möbius - Didacticiels de mathématiques en ligne
Machine Design / Industrial Automation
Aéronautique
Ingénierie des véhicules
Robotics
Energie
System Simulation and Analysis
Model development for HIL
Modélisation du procédé pour la conception de systèmes de contrôle
Robotics/Motion Control/Mechatronics
Other Application Areas
Enseignement des mathématiques
Enseignement de l’ingénierie
Enseignement secondaire et supérieur (CPGE, BTS)
Tests et évaluations
Etudiants
Modélisation financière
Recherche opérationnelle
Calcul haute performance
Physique
Webinaires en direct
Webinaires enregistrés
Agenda des évènements
Forum MaplePrimes
Blog Maplesoft
Membres Maplesoft
Maple Ambassador Program
MapleCloud
Livres blancs techniques
Bulletin électronique
Livres Maple
Math Matters
Portail des applications
Galerie de modèles MapleSim
Cas d'Etudes Utilisateur
Exploring Engineering Fundamentals
Concepts d’enseignement avec Maple
Centre d’accueil utilisateur Maplesoft
Centre de ressources pour enseignants
Centre d’assistance aux étudiants
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