coder.ignoreSize
説明
coder.ignoreSize(
は、コード ジェネレーターが式の定数サイズを使用して関数の特殊化を作成してはならないことを宣言します。expression
)
例
複数の入力サイズに対して生成された重複関数
MATLAB® コードが関数を複数回呼び出し、異なるサイズの入力を渡す場合、コード ジェネレーターは各サイズの関数の特殊化を作成できます。この問題を回避するには、coder.ignoreSize
を関数入力に使用します。たとえば、次のコードは coder.ignoreSize
を使用して、関数 indexOf
の複数のコピーが作成されることを回避します。
function [out1, out2] = test1(in) a = 1:10; b = 2:40; % Without coder.ignoreSize duplicate functions are generated out1 = indexOf(coder.ignoreSize(a), in); out2 = indexOf(coder.ignoreSize(b), in); end function index = indexOf(array, value) coder.inline('never'); for i = 1:numel(array) if array(i) == value index = i; return end end index = -1; return end
コードを生成するには、次を入力します。
codegen test1 -config:lib -report -args {1}
入力引数
expression
— サイズが非定数として扱われる式
MATLAB 式
例: foo(coder.ignoreSize(1:10))
詳細
関数の特殊化
入力タイプ、サイズ、実数/複素数または値が関数の特定の呼び出し用にカスタマイズされる関数のバージョン。
関数の特殊化により効率的な C コードが生成されますが、コードが重複します。コード生成レポートにはコード ジェネレーターが作成するすべての MATLAB 関数の特殊化が表示されます。ただし、特殊化は後で変換または最適化されるため、生成した C/C++ コードには表示されない場合があります。
ヒント
式を変数に代入し、
coder.varsize
を使用してその変数を可変サイズとして宣言する場合、この宣言は式にcoder.ignoreSize
を使用するのと同一の効果をもちます。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
バージョン履歴
R2019b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)