mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-12-15 07:10:37 +08:00
Fix more typos in Ref.h (doc).
This commit is contained in:
parent
6f58a41097
commit
c53f88297c
@ -19,17 +19,17 @@ template<typename PlainObjectType, int Options = 0,
|
|||||||
/** \class Ref
|
/** \class Ref
|
||||||
* \ingroup Core_Module
|
* \ingroup Core_Module
|
||||||
*
|
*
|
||||||
* \brief A matrix or vector expression mapping an existing expressions
|
* \brief A matrix or vector expression mapping an existing expression
|
||||||
*
|
*
|
||||||
* \tparam PlainObjectType the equivalent matrix type of the mapped data
|
* \tparam PlainObjectType the equivalent matrix type of the mapped data
|
||||||
* \tparam Options specifies whether the pointer is \c #Aligned, or \c #Unaligned.
|
* \tparam Options specifies whether the pointer is \c #Aligned, or \c #Unaligned.
|
||||||
* The default is \c #Unaligned.
|
* The default is \c #Unaligned.
|
||||||
* \tparam StrideType optionally specifies strides. By default, Ref implies a contiguous storage along the inner dimension (inner stride==1),
|
* \tparam StrideType optionally specifies strides. By default, Ref implies a contiguous storage along the inner dimension (inner stride==1),
|
||||||
* but accept a variable outer stride (leading dimension).
|
* but accepts a variable outer stride (leading dimension).
|
||||||
* This can be overridden by specifying strides.
|
* This can be overridden by specifying strides.
|
||||||
* The type passed here must be a specialization of the Stride template, see examples below.
|
* The type passed here must be a specialization of the Stride template, see examples below.
|
||||||
*
|
*
|
||||||
* This class permits to write non template functions taking Eigen's object as parameters while limiting the number of copies.
|
* This class provides a way to write non-template functions taking Eigen objects as parameters while limiting the number of copies.
|
||||||
* A Ref<> object can represent either a const expression or a l-value:
|
* A Ref<> object can represent either a const expression or a l-value:
|
||||||
* \code
|
* \code
|
||||||
* // in-out argument:
|
* // in-out argument:
|
||||||
@ -58,15 +58,15 @@ template<typename PlainObjectType, int Options = 0,
|
|||||||
* foo2(A.col().segment(2,4)); // No temporary
|
* foo2(A.col().segment(2,4)); // No temporary
|
||||||
* \endcode
|
* \endcode
|
||||||
*
|
*
|
||||||
* The range of inputs that can be referenced without temporary can be enlarged using the last two template parameter.
|
* The range of inputs that can be referenced without temporary can be enlarged using the last two template parameters.
|
||||||
* Here is an example accepting an innerstride!=1:
|
* Here is an example accepting an innerstride!=1:
|
||||||
* \code
|
* \code
|
||||||
* // in-out argument:
|
* // in-out argument:
|
||||||
* void foo3(Ref<VectorXf,0,InnerStride<> > x);
|
* void foo3(Ref<VectorXf,0,InnerStride<> > x);
|
||||||
* foo3(A.row()); // OK
|
* foo3(A.row()); // OK
|
||||||
* \endcode
|
* \endcode
|
||||||
* The downside here is that the function foo3 might be significantly slower than foo1 because it won't be able to exploit vectorization, and will involved more
|
* The downside here is that the function foo3 might be significantly slower than foo1 because it won't be able to exploit vectorization, and will involve more
|
||||||
* expensive address computations even if the input is contiguously stored in memory. To overcome this issue, one might propose to overloads internally calling a
|
* expensive address computations even if the input is contiguously stored in memory. To overcome this issue, one might propose to overload internally calling a
|
||||||
* template function, e.g.:
|
* template function, e.g.:
|
||||||
* \code
|
* \code
|
||||||
* // in the .h:
|
* // in the .h:
|
||||||
|
Loading…
Reference in New Issue
Block a user