set_status

Sets the global VM Status according to new values and returns the previous VM Status.

Syntax

uint8_t set_status (queue& exec_queue,uint_8 new_status );

set_status supports the following devices: Host, CPU, and GPU.

Description

The set_status function sets the global VM Status to new value and returns the previous VM Status.

The global VM Status is a single value and it accumulates via bitwise OR ( | ) all errors that happen inside VM functions. The following table lists the possible error values.

Values of the VM Status
Status Description
Successful Execution
status::success VM function execution completed successfully
status::not_defined VM status not defined
Warnings
status::accuracy_warning VM function execution completed successfully in a different accuracy mode
Computational Errors
status::errdom Values are out of a range of definition producing invalid (QNaN) result
status::sing Values cause divide-by-zero (singularity) errors and produce and invalid (QNaN or Inf) result
status::overflow An overflow happened during the calculation process
status::underflow An underflow happened during the calculation process

Input Parameters

exec_queue

The queue where the routine should be executed.

new_status

Specifies the VM status to be set.

Output Parameters

return value (old_status)

Specifies the former VM status.

Example

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