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

`#include <SelfCwiseBinaryOp.h>`

Inheritance diagram for SelfCwiseBinaryOp< BinaryOp, Lhs, Rhs >:

Collaboration diagram for SelfCwiseBinaryOp< BinaryOp, Lhs, Rhs >:

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

SelfCwiseBinaryOp & | operator= (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 | |

SelfCwiseBinaryOp & | operator= (const SelfCwiseBinaryOp &) |

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:

- eigen-eigen-65ee2328342f/Eigen/src/Core/SelfCwiseBinaryOp.h

Generated by Doxygen 1.6.0 Back to index