JCublasJava/src/main/java/jcuda/jcublas/JCublas.java
public static void cublasSrotmg(float sd1[], float sd2[], float sx1[], float sy1, float sparam[])
    {
        cublasSrotmgNative(sd1, sd2, sx1, sy1, sparam);
        checkResultBLAS();
    }
public static void cublasSrotmg(float sd1[], float sd2[], float sx1[], float sy1, float sparam[])
    {
        cublasSrotmgNative(sd1, sd2, sx1, sy1, sparam);
        checkResultBLAS();
    }
Wrapper for CUBLAS function.
<pre>
void
cublasSrotmg (float *psd1, float *psd2, float *psx1, const float *psy1,
float *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.0f   sflag = 0.0f    sflag = 1.0f    sflag = -2.0f

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

sparam[1] through sparam[4] contain sh00, sh10, sh01, sh11,
respectively. Values of 1.0f, -1.0f, or 0.0f 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/srotmg.f

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