JCublasJava/src/main/java/jcuda/jcublas/JCublas.java
public static void cublasZrot(int n, Pointer x, int incx, Pointer y, int incy, double sc, cuDoubleComplex cs)
    {
        cublasZrotNative(n, x, incx, y, incy, sc, cs);
        checkResultBLAS();
    }
public static void cublasZrot(int n, Pointer x, int incx, Pointer y, int incy, double sc, cuDoubleComplex cs)
    {
        cublasZrotNative(n, x, incx, y, incy, sc, cs);
        checkResultBLAS();
    }
<pre>
cublasZrot (int n, cuDoubleComplex *x, int incx, cuDoubleComplex *y, int incy, double sc,
cuDoubleComplex cs)

multiplies a 2x2 matrix ( sc       cs) with the 2xn matrix ( transpose(x) )
(-conj(cs) sc)                     ( transpose(y) )

The elements of x are in x[lx + i * incx], i = 0 ... n - 1, where lx = 1 if
incx >= 0, else lx = 1 + (1 - n) * incx, and similarly for y using ly and
incy.

Input
-----
n      number of elements in input vectors
x      double-precision complex vector with n elements
incx   storage spacing between elements of x
y      double-precision complex vector with n elements
incy   storage spacing between elements of y
sc     double-precision cosine component of rotation matrix
cs     double-precision complex sine component of rotation matrix

Output
------
x      rotated double-precision complex vector x (unchanged if n <= 0)
y      rotated double-precision complex vector y (unchanged if n <= 0)

Reference: http://netlib.org/lapack/explore-html/zrot.f.html

Error status for this function can be retrieved via cublasGetError().

Error Status
------------
CUBLAS_STATUS_NOT_INITIALIZED  if CUBLAS library has not been initialized
CUBLAS_STATUS_ARCH_MISMATCH    if invoked on device without DP support
CUBLAS_STATUS_EXECUTION_FAILED if function failed to launch on GPU
</pre>