"UnsignedMachineInteger" (コンパイルタイプ)
"UnsignedMachineInteger"
機械サイズの符号なし整数原子型指定子を表す.
詳細
- "UnsignedMachineInteger"はTypedおよび型を指定する関連した構造で使うことができる.
- 64ビットプラットフォームでは"UnsignedMachineInteger"は"UnsignedInteger64"である.
- 32ビットプラットフォームでは"UnsignedMachineInteger"は"UnsignedInteger32"である.
例題
例 (4)
"UnsignedMachineInteger"はCompiledCodeFunctionの入力および出力として使うことができる:
cf = FunctionCompile[Function[Typed[arg, "UnsignedMachineInteger"], arg]]cf[ 100]"UnsignedMachineInteger"のサイズは$SystemWordLengthと同じである:
$SystemWordLength関数を実行している間に,オーバーフローによりエラーが生じる.計算は終了され,メッセージが出力される.結果を計算するためにWolfram Engineが使われる:
cf = FunctionCompile[Function[Typed[arg, "UnsignedMachineInteger"], arg ^ arg]];
cf[2^5]"UnsignedMachineInteger"引数は,実数と組み合されると自動的に昇格する:
cf = FunctionCompile[Function[{Typed[arg1, "UnsignedMachineInteger"], Typed[arg2, "Real64"]}, arg1 + arg2]];
Information[cf, "Signature"]"UnsignedMachineInteger"引数がストレージサイズの小さい整数と組み合されると,小さい方の型は自動的に昇格する:
cf = FunctionCompile[Function[{Typed[arg1, "UnsignedMachineInteger"], Typed[arg2, "Integer8"]}, arg1 + arg2]];
Information[cf, "Signature"]"UnsignedMachineInteger"はアーキテクチャにとってネイティブのサイズの整数を取るので,"PackedArray"で使うのに便利である:
cf = FunctionCompile[Function[Typed[arg, TypeSpecifier["PackedArray"]["MachineInteger", 1]], arg]]cf[{1, 2, 3}]テクニカルノート
履歴
2019 で導入 (12.0)