set_status#

新しい値に従ってグローバル VM ステータスを設定し、以前の VM ステータスを返します。

説明#

set_status 関数は、グローバル VM ステータスを新しい値に設定し、以前の VM ステータスを返します。

グローバル VM ステータスは単一の値であり、VM 関数内で発生するすべてのエラーをビット単位の OR (|) で累積します。次の表に、発生する可能性のあるエラー値を示します。

状態

説明

実行成功

status::success

VM 関数の実行が正常に完了しました

status::not_defined

VM ステータスが定義されていません

警告

status::accuracy_warning

VM 関数の実行が異なる精度モードで正常に終了しました

計算エラー

status::errdom

値が定義の範囲外であるため、無効な結果 (QNaN) が生成されます

status::sing

値がゼロ除算 (特異点) エラーを引き起こし、無効な (QNaN または Inf) 結果を生成します

status::overflow

計算処理中にオーバーフローが発生しました

status::underflow

計算処理中にアンダーフローが発生しました

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; 
}