rotg

Computes the parameters for a Givens rotation.

rotg supports the following precisions.

T

T_res

float

float

double

double

std::complex<float>

float

std::complex<double>

double

Description

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.

rotg (Buffer Version)

Syntax

void onemkl::blas::rotg(sycl::queue &queue, sycl::buffer<T, 1> &a, sycl::buffer<T, 1> &b, sycl::buffer<T_real, 1> &c, sycl::buffer<T, 1> &s)

Input Parameters

queue

The queue where the routine should be executed

a

Buffer holding the x-coordinate of the point.

b

Buffer holding the y-coordinate of the point.

Output Parameters

a

Buffer holding the parameter r associated with the Givens rotation.

b

Buffer holding the parameter z associated with the Givens rotation.

c

Buffer holding the parameter c associated with the Givens rotation.

s

Buffer holding the parameter s associated with the Givens rotation.

rotg (USM Version)

Syntax

sycl::event onemkl::blas::rotg(sycl::queue &queue, T *a, T *b, T_real *c, T *s, const sycl::vector_class<sycl::event> &dependencies = {})

Input Parameters

queue

The queue where the routine should be executed

a

Pointer to the x-coordinate of the point.

b

Pointer to the y-coordinate of the point.

dependencies

List of events to wait for before starting computation, if any. If omitted, defaults to no dependencies.

Output Parameters

a

Pointer to the parameter r associated with the Givens rotation.

b

Pointer to the parameter z associated with the Givens rotation.

c

Pointer to the parameter c associated with the Givens rotation.

s

Pointer to the parameter s associated with the Givens rotation.

Return Values

Output event to wait on to ensure computation is complete.