JCublasJava/src/main/java/jcuda/jcublas/JCublas.java
public static void cublasDrotmg(double sd1[], double sd2[], double sx1[], double sy1, double sparam[])
    {
        cublasDrotmgNative(sd1, sd2, sx1, sy1, sparam);
        checkResultBLAS();
    }
public static void cublasDrotmg(double sd1[], double sd2[], double sx1[], double sy1, double sparam[])
    {
        cublasDrotmgNative(sd1, sd2, sx1, sy1, sparam);
        checkResultBLAS();
    }
Wrapper for CUBLAS function.
<pre>
void
cublasDrotmg (double *psd1, double *psd2, double *psx1, const double *psy1,
double *sparam)

constructs the modified Givens transformation matrix h which zeros
the second component of the 2-vector transpose(sqrt(sd1)*sx1,sqrt(sd2)*sy1).
With sparam[0] = sflag, h has one of the following forms:

sflag = -1.0    sflag = 0.0     sflag = 1.0     sflag = -2.0

(sh00  sh01)    (1.0   sh01)    (sh00   1.0)    (1.0    0.0)
h = (          )    (          )    (          )    (          )
(sh10  sh11)    (sh10   1.0)    (-1.0  sh11)    (0.0    1.0)

sparam[1] through sparam[4] contain sh00, sh10, sh01, sh11,
respectively. Values of 1.0, -1.0, or 0.0 implied by the value
of sflag are not stored in sparam.

Input
-----
sd1    single precision scalar
sd2    single precision scalar
sx1    single precision scalar
sy1    single precision scalar

Output
------
sd1    changed to represent the effect of the transformation
sd2    changed to represent the effect of the transformation
sx1    changed to represent the effect of the transformation
sparam 5-element vector. sparam[0] is sflag described above. sparam[1]
through sparam[4] contain the 2x2 rotation matrix h: sparam[1]
contains sh00, sparam[2] contains sh10, sparam[3] contains sh01,
and sprams[4] contains sh11.

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

This functions does not set any error status.

</pre>