JCublasJava/src/main/java/jcuda/jcublas/JCublas.java
public static void cublasCrotg(Pointer host_ca, cuComplex cb, Pointer host_sc, Pointer host_cs)
    {
        cublasCrotgNative(host_ca, cb, host_sc, host_cs);
        checkResultBLAS();
    }
public static void cublasCrotg(Pointer host_ca, cuComplex cb, Pointer host_sc, Pointer host_cs)
    {
        cublasCrotgNative(host_ca, cb, host_sc, host_cs);
        checkResultBLAS();
    }
<pre>
void
cublasCrotg (cuComplex *host_ca, cuComplex cb, float *host_sc, cuComplex *host_cs)

constructs the complex Givens tranformation

( sc  cs )
G = (        ) ,  sc^2 + cabs(cs)^2 = 1,
(-cs  sc )

which zeros the second entry of the complex 2-vector transpose(ca, cb).

The quantity ca/cabs(ca)*norm(ca,cb) overwrites ca in storage. The
function crot (n, x, incx, y, incy, sc, cs) is normally called next
to apply the transformation to a 2 x n matrix.
Note that is function is provided for completeness and run exclusively
on the Host.

Input
-----
ca     single-precision complex precision scalar
cb     single-precision complex scalar

Output
------
ca     single-precision complex ca/cabs(ca)*norm(ca,cb)
sc     single-precision cosine component of rotation matrix
cs     single-precision complex sine component of rotation matrix

Reference: http://www.netlib.org/blas/crotg.f

This function does not set any error status.
</pre>