set_status#
新しい値に従ってグローバル VM ステータスを設定し、以前の VM ステータスを返します。
説明#
set_status 関数は、グローバル VM ステータスを新しい値に設定し、以前の VM ステータスを返します。
グローバル VM ステータスは単一の値であり、VM 関数内で発生するすべてのエラーをビット単位の OR (|) で累積します。次の表に、発生する可能性のあるエラー値を示します。
状態 |
説明 |
|---|---|
実行成功 |
|
|
VM 関数の実行が正常に完了しました |
|
VM ステータスが定義されていません |
警告 |
|
|
VM 関数の実行が異なる精度モードで正常に終了しました |
計算エラー |
|
|
値が定義の範囲外であるため、無効な結果 (QNaN) が生成されます |
|
値がゼロ除算 (特異点) エラーを引き起こし、無効な (QNaN または Inf) 結果を生成します |
|
計算処理中にオーバーフローが発生しました |
|
計算処理中にアンダーフローが発生しました |
API#
構文#
uint8_t set_status (queue& exec_queue,uint_8 new_status )set_status は次のデバイスをサポートします: CPU と GPU。
入力パラメーター#
- exec_queue
ルーチンが実行されるキュー。
- new_status
設定する VM ステータスを指定します。
出力パラメーター#
- 戻り値 (old_status)
以前の VM ステータスを指定します。
例#
uint8_t olderr = set_status (exec_queue, status::success);
if (olderr & status::errdom)
{
std::cout << "Errdom status returned" << std::endl;
}
if (olderr & status::sing)
{
std::cout << "Singularity status returned" << std::endl;
}