?lartgp

Generates a plane rotation.

Syntax

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);

Include Files

  • mkl.h

Description

The routine generates a plane rotation so that


Equation

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.

Input Parameters

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.

Output Parameters

cs

The cosine of the rotation.

sn

The sine of the rotation.

r

The nonzero component of the rotated vector.

Return Values

If info = 0, the execution is successful.

If info =-1,f is NaN.

If info = -2, g is NaN.

See Also

For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)