Compileのオプションで,コンパイルプロセスの設定を指定する.
CompilationOptions
Compileのオプションで,コンパイルプロセスの設定を指定する.
詳細
- CompilationOptionsは関数をコンパイルする際に適用される.
- CompilationOptionsにはCompilationOptions->{…}の形式の設定リストを使うことができる.
- CompilationOptionsには次のネストされた設定を使うこともできる.
-
"ExpressionOptimization" Automatic 入力式を最適化するかどうか "InlineCompiledFunctions" Automatic ネストしコンパイルされた関数の本体を拡張するかどうか "InlineExternalDefinitions" Automatic 外部定義を使うかどうか - "ExpressionOptimization"に使用可能な値
-
False 入力式を最適化しない True 入力式を最適化する Automatic コンパイルされた関数が外部呼出しを行わない場合だけ最適化された式を使う - "InlineCompiledFunctions"に使用可能な値
-
False ネストしコンパイルされた関数をインライン化しない True ネストしコンパイルされた関数をインライン化する Automatic 小さくネストしコンパイルされた関数をインライン化する - "InlineExternalDefinitions"に使用可能な値
-
False 外部定義は使わない True 外部定義の本体を挿入する Automatic 外部定義のタイプを使う
例題
すべて開く すべて閉じる例 (1)
オプション (3)
ExpressionOptimization (1)
デフォルト設定のAutomaticは同じ部分を2回以上計算しないように入力式を最適化する:
c = Compile[{{x}}, x ^ 2 + Sin[x ^ 2]]コンパイルされた関数がWolfram言語の外部コールをする必要がある場合,デフォルト設定のAutomaticでは最適化されない:
c = Compile[{{x}}, f[x ^ 2] + Sin[x ^ 2]]コンパイルの最適化を無効にすると同じ計算が2回以上行われることがある:
c = Compile[{{x}}, x ^ 2 + Sin[x ^ 2], CompilationOptions -> {"ExpressionOptimization" -> False}]"CompileOptimizations"をTrueにすると,コンパイルされた関数がWolfram言語の外部コールをする必要がある場合でも最適化が行われる:
c = Compile[{{x}}, f[x ^ 2] + Sin[x ^ 2], CompilationOptions -> {"ExpressionOptimization" -> True}]InlineCompiledFunctions (1)
デフォルト設定のAutomaticはネストされたコンパイルされた関数をインライン化する:
cf = Compile[{{x}}, Sin[x]];
cf1 = With[{nestedCF = cf}, Compile[ {{x}}, nestedCF[x ^ 2]]]Falseの設定ではコンパイルされた関数はインライン化されない:
cf = Compile[{{x}}, Sin[x]];
cf2 = With[{nestedCF = cf}, Compile[ {{x}}, nestedCF[x ^ 2], CompilationOptions -> {"InlineCompiledFunctions" -> False}]]InlineExternalDefinitions (1)
デフォルト設定のAutomaticは外部定義のタイプは使うが外部コールを行う.この場合,外部コールは失敗する:
val = Floor[x];
cf = Compile[{{x, _Real}}, val];
cf[ 10.5]Trueの設定の場合は,外部定義がインライン化され,計算がエラーなしで実行される:
cf1 = Compile[{{x, _Real}}, val, CompilationOptions -> {"InlineExternalDefinitions" -> True}];
cf1[ 10.5]Falseの設定は外部定義をインライン化せずタイプの情報も使わない.この場合は,外部コールが行われ,失敗する:
cf2 = Compile[{{x, _Real}}, val, CompilationOptions -> {"InlineExternalDefinitions" -> False}];
cf2[ 10.5]テキスト
Wolfram Research (2010), CompilationOptions, Wolfram言語関数, https://reference.wolfram.com/language/ref/CompilationOptions.html.
CMS
Wolfram Language. 2010. "CompilationOptions." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CompilationOptions.html.
APA
Wolfram Language. (2010). CompilationOptions. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CompilationOptions.html
BibTeX
@misc{reference.wolfram_2026_compilationoptions, author="Wolfram Research", title="{CompilationOptions}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/CompilationOptions.html}", note=[Accessed: 07-October-2026]}
BibLaTeX
@online{reference.wolfram_2026_compilationoptions, organization={Wolfram Research}, title={CompilationOptions}, year={2010}, url={https://reference.wolfram.com/language/ref/CompilationOptions.html}, note=[Accessed: 07-October-2026]}