Generates a plane rotation.
lapack_int LAPACKE_slartgp (float f, floatg, float* cs, float* sn, float* r);
lapack_int LAPACKE_dlartgp (doublef, doubleg, double* cs, double* sn, double* r);
The routine generates a plane rotation so that
where cs2 + sn2 = 1
This is a slower, more accurate version of the BLAS Level 1 routine ?rotg, except for the following differences:
f and g are unchanged on return.
If g=0, then cs=(+/-)1 and sn=0.
If f=0 and g≠ 0, then cs=0 and sn=(+/-)1.
The sign is chosen so that r≥ 0.
A <datatype> placeholder, if present, is used for the C interface data types in the C interface section above. See C Interface Conventions for the C interface principal conventions and type definitions.
- f, g
The first and second component of the vector to be rotated.
The cosine of the rotation.
The sine of the rotation.
The nonzero component of the rotated vector.
If info = 0, the execution is successful.
If info =-1,f is NaN.
If info = -2, g is NaN.