[/ 

THIS FILE IS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT!

]

[section geru]

[heading Prototype]
There is one prototype of `geru` available, please see below.
``
geru( const Scalar alpha, const VectorX& x, const VectorY& y,
        MatrixA& a );
``


[heading Description]

`geru` (short for TODO) provides a C++
interface to BLAS routines CGERU and ZGERU. 
`geru` performs the rank 1 operation

A := alpha*x*y**T + A,

where alpha is a scalar, x is an m element vector, y is an n element
vector and A is an m by n matrix.

The selection of the BLAS routine is done during compile-time, 
and is determined by the type of values contained in type `VectorX`.
The type of values is obtained through the `value_type` meta-function
 `typename value_type<VectorX>::type`.
Table X below illustrates to which specific routine this dispatching will take place. 

[table Dispatching of geru.
[  [ Value type of VectorX ] [BLAS routine] [CBLAS routine] [CUBLAS routine] ]
[  [`complex<float>`][CGERU][cblas_cgeru][cublasCgeru] ]
[  [`complex<double>`][ZGERU][cblas_zgeru][cublasZgeru] ]

]

The original routines CGERU and ZGERU have nine arguments,
whereas `geru` requires four arguments.

[table Deduction of arguments of geru.
]

[heading Definition]
Defined in header [headerref boost/numeric/bindings/blas/level2/geru.hpp].

[heading Parameters or Requirements on Types]

[variablelist Parameters
    [[MatrixA] [The definition of term 1]]
    [[MatrixB] [The definition of term 2]]
    [[MatrixC] [
    The definition of term 3.

    Definitions may contain paragraphs.
    ]]
]

[heading Complexity]

[heading Example]
``
#include <boost/numeric/bindings/blas/level2/geru.hpp>
using namespace boost::numeric::bindings;

blas::geru( x, y, z );

``

this will output

``
[5] 0 1 2 3 4 5
``

[heading Notes]

[heading See Also]

* Originating Fortran source files [@http://www.netlib.org/blas/cgeru.f cgeru.f] and [@http://www.netlib.org/blas/zgeru.f zgeru.f] at Netlib.

[endsect]
