Computes the parameters for a Givens rotation.
event rotg(queue &exec_queue, T *a, T *b, T_real *c, T *s, const vector_class<event> &dependencies = {});
The USM version of rotg supports the following precisions and devices.
T | T_real | Devices Supported |
---|---|---|
float | float | Host, CPU, and GPU |
double | double | Host, CPU, and GPU |
std::complex<float> | float | Host, CPU, and GPU |
std::complex<double> | double | Host, CPU, and GPU |
Given the Cartesian coordinates (a, b) of a point, the rotg routines return the parameters c, s, r, and z associated with the Givens rotation. The parameters c and s define a unitary matrix such that:
The parameter z is defined such that if |a| > |b|, z is s; otherwise if c is not 0 z is 1/c; otherwise z is 1.
The queue where the routine should be executed
Pointer to the x-coordinate of the point.
Pointer to the y-coordinate of the point.
List of events to wait for before starting computation, if any. If omitted, defaults to no dependencies.
Pointer to the parameter r associated with the Givens rotation.
Pointer to the parameter z associated with the Givens rotation.
Pointer to the parameter c associated with the Givens rotation.
Pointer to the parameter s associated with the Givens rotation.
Output event to wait on to ensure computation is complete.