A newer version of this document is available. Customers should click here to go to the newest version.
set_status
Sets the global VM Status according to new values and returns the previous VM Status.
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.
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  |  
       
API
Syntax
uint8_t set_status (queue& exec_queue,uint_8   new_status ) 
   set_status supports the following devices: CPU and GPU.
Input Parameters
- exec_queue
 -  
     
The queue where the routine will be executed.
 - new_status
 -  
     
Specifies the VM status to be set.
 
Output Parameters
- return value (old_status)
 -  
     
Specifies the former VM status.
 
Examples
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;
}