There are two prototypes of rotg
            available, please see below. 
rotg( Scalar >, Scalar >, Scalar >, Scalar > );
rotg( Scalar& a, Scalar& b, Scalar >, Scalar& s );
            rotg (short for TODO)
            provides a C++ interface to BLAS routines SROTG, DROTG, CROTG, and ZROTG.
          
            The selection of the BLAS routine is done during compile-time, and is
            determined by the type of values contained in type $FIRST_TYPENAME. The type of values
            is obtained through the value_type
            meta-function typename value_type<$FIRST_TYPENAME>::type.
            Table X below illustrates to which specific routine this dispatching
            will take place.
          
Table 1.20. Dispatching of rotg.
| Value type of $FIRST_TYPENAME | BLAS routine | CBLAS routine | CUBLAS routine | 
|---|---|---|---|
| 
                       | SROTG | cblas_srotg | cublasSrotg | 
| 
                       | DROTG | cblas_drotg | cublasDrotg | 
| 
                       | CROTG | Unavailable | Unavailable | 
| 
                       | ZROTG | Unavailable | Unavailable | 
            The original routines SROTG, DROTG, CROTG, and ZROTG have four arguments,
            whereas rotg requires
            four arguments.
          
            Defined in header boost/numeric/bindings/blas/level1/rotg.hpp.
          
Parameters
The definition of term 1
The definition of term 2
The definition of term 3.
Definitions may contain paragraphs.
#include <boost/numeric/bindings/blas/level1/rotg.hpp> using namespace boost::numeric::bindings; blas::rotg( x, y, z );
this will output
[5] 0 1 2 3 4 5