Logo Search packages:      
Sourcecode: eigen3 version File versions  Download package

Public Types | Public Member Functions | Protected Attributes | Private Member Functions

SelfCwiseBinaryOp< BinaryOp, Lhs, Rhs > Class Template Reference

Internal helper class for optimizing operators like +=, -=. More...

#include <SelfCwiseBinaryOp.h>

Inheritance diagram for SelfCwiseBinaryOp< BinaryOp, Lhs, Rhs >:
Inheritance graph
[legend]
Collaboration diagram for SelfCwiseBinaryOp< BinaryOp, Lhs, Rhs >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
internal::dense_xpr_base
< SelfCwiseBinaryOp >::type 
Base
typedef
internal::packet_traits
< Scalar >::type 
Packet

Public Member Functions

Scalar & coeffRef (Index row, Index col)
const Scalar & coeffRef (Index row, Index col) const
Scalar & coeffRef (Index index)
const Scalar & coeffRef (Index index) const
Index cols () const
template<typename OtherDerived >
void copyCoeff (Index row, Index col, const DenseBase< OtherDerived > &other)
template<typename OtherDerived >
void copyCoeff (Index index, const DenseBase< OtherDerived > &other)
template<typename OtherDerived , int StoreMode, int LoadMode>
void copyPacket (Index row, Index col, const DenseBase< OtherDerived > &other)
template<typename OtherDerived , int StoreMode, int LoadMode>
void copyPacket (Index index, const DenseBase< OtherDerived > &other)
const Scalar * data () const
Index innerStride () const
template<typename RhsDerived >
EIGEN_STRONG_INLINE
SelfCwiseBinaryOp
lazyAssign (const DenseBase< RhsDerived > &rhs)
SelfCwiseBinaryOpoperator= (const Rhs &_rhs)
Index outerStride () const
Index rows () const
 SelfCwiseBinaryOp (Lhs &xpr, const BinaryOp &func=BinaryOp())

Protected Attributes

const BinaryOp & m_functor
Lhs & m_matrix

Private Member Functions

SelfCwiseBinaryOpoperator= (const SelfCwiseBinaryOp &)

Detailed Description

template<typename BinaryOp, typename Lhs, typename Rhs>
class SelfCwiseBinaryOp< BinaryOp, Lhs, Rhs >

Internal helper class for optimizing operators like +=, -=.

This is a pseudo expression class re-implementing the copyCoeff/copyPacket method to directly performs a +=/-= operations in an optimal way. In particular, this allows to make sure that the input/output data are loaded only once using aligned packet loads.

See also:
class SwapWrapper for a similar trick.

Definition at line 58 of file SelfCwiseBinaryOp.h.


The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index