Classes | Typedefs | Functions
CommonCwiseUnaryOps.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  CastXpr< NewType >
 

Typedefs

typedef internal::conditional< NumTraits< Scalar >::IsComplex, const CwiseUnaryOp< internal::scalar_conjugate_op< Scalar >, const Derived >, const Derived & >::type ConjugateReturnType
 
typedef CwiseUnaryOp< internal::scalar_imag_op< Scalar >, const Derived > ImagReturnType
 
typedef CwiseUnaryOp< internal::scalar_opposite_op< Scalar >, const Derived > NegativeReturnType
 
typedef CwiseUnaryView< internal::scalar_imag_ref_op< Scalar >, Derived > NonConstImagReturnType
 
typedef internal::conditional< NumTraits< Scalar >::IsComplex, CwiseUnaryView< internal::scalar_real_ref_op< Scalar >, Derived >, Derived & >::type NonConstRealReturnType
 
typedef internal::conditional< NumTraits< Scalar >::IsComplex, const CwiseUnaryOp< internal::scalar_real_op< Scalar >, const Derived >, const Derived & >::type RealReturnType
 

Functions

template<typename NewType >
EIGEN_DEVICE_FUNC CastXpr< NewType >::Type cast () const
 
EIGEN_DEVICE_FUNC ConjugateReturnType conjugate () const
 
EIGEN_DEVICE_FUNC const ImagReturnType imag ()
 
EIGEN_DEVICE_FUNC const NegativeReturnType operator- () const
 
EIGEN_DEVICE_FUNC RealReturnType real ()
 
template<typename CustomUnaryOp >
EIGEN_DEVICE_FUNC const CwiseUnaryOp< CustomUnaryOp, const Derived > unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const
 Apply a unary operator coefficient-wise. More...
 
template<typename CustomViewOp >
EIGEN_DEVICE_FUNC const CwiseUnaryView< CustomViewOp, const Derived > unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const
 

Typedef Documentation

typedef internal::conditional<NumTraits<Scalar>::IsComplex, const CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, const Derived>, const Derived& >::type ConjugateReturnType

Definition at line 19 of file CommonCwiseUnaryOps.h.

typedef CwiseUnaryOp<internal::scalar_imag_op<Scalar>, const Derived> ImagReturnType

Definition at line 31 of file CommonCwiseUnaryOps.h.

typedef CwiseUnaryOp<internal::scalar_opposite_op<Scalar>, const Derived> NegativeReturnType

Definition at line 35 of file CommonCwiseUnaryOps.h.

typedef CwiseUnaryView<internal::scalar_imag_ref_op<Scalar>, Derived> NonConstImagReturnType

Definition at line 33 of file CommonCwiseUnaryOps.h.

typedef internal::conditional<NumTraits<Scalar>::IsComplex, CwiseUnaryView<internal::scalar_real_ref_op<Scalar>, Derived>, Derived& >::type NonConstRealReturnType

Definition at line 29 of file CommonCwiseUnaryOps.h.

typedef internal::conditional<NumTraits<Scalar>::IsComplex, const CwiseUnaryOp<internal::scalar_real_op<Scalar>, const Derived>, const Derived& >::type RealReturnType

Definition at line 24 of file CommonCwiseUnaryOps.h.

Function Documentation

template<typename NewType >
EIGEN_DEVICE_FUNC CastXpr<NewType>::Type cast ( ) const
Returns
an expression of *this with the Scalar type casted to NewScalar.

The template parameter NewScalar is the type we are casting the scalars to.

See also
class CwiseUnaryOp

Definition at line 62 of file CommonCwiseUnaryOps.h.

EIGEN_DEVICE_FUNC ConjugateReturnType conjugate ( ) const
inline
Returns
an expression of the complex conjugate of *this.
See also
Math functions, MatrixBase::adjoint()

Definition at line 74 of file CommonCwiseUnaryOps.h.

EIGEN_DEVICE_FUNC NonConstImagReturnType imag ( ) const
inline
Returns
an read-only expression of the imaginary part of *this.
See also
real()
Returns
a non const expression of the imaginary part of *this.
See also
real()

Definition at line 95 of file CommonCwiseUnaryOps.h.

EIGEN_DEVICE_FUNC const NegativeReturnType operator- ( ) const
inline
Returns
an expression of the opposite of *this

Definition at line 45 of file CommonCwiseUnaryOps.h.

EIGEN_DEVICE_FUNC RealReturnType real ( ) const
inline
Returns
a read-only expression of the real part of *this.
See also
imag()
Returns
a non const expression of the real part of *this.
See also
imag()

Definition at line 86 of file CommonCwiseUnaryOps.h.

template<typename CustomUnaryOp >
EIGEN_DEVICE_FUNC const CwiseUnaryOp<CustomUnaryOp, const Derived> unaryExpr ( const CustomUnaryOp &  func = CustomUnaryOp()) const
inline

Apply a unary operator coefficient-wise.

Parameters
[in]funcFunctor implementing the unary operator
Template Parameters
CustomUnaryOpType of func
Returns
An expression of a custom coefficient-wise unary operator func of *this

The function ptr_fun() from the C++ standard library can be used to make functors out of normal functions.

Example:

#include <Eigen/Core>
#include <iostream>
using namespace Eigen;
using namespace std;
// define function to be applied coefficient-wise
double ramp(double x)
{
if (x > 0)
return x;
else
return 0;
}
int main(int, char**)
{
Matrix4d m1 = Matrix4d::Random();
cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(ptr_fun(ramp)) << endl;
return 0;
}

Output:

Genuine functors allow for more possibilities, for instance it may contain a state.

Example:

#include <Eigen/Core>
#include <iostream>
using namespace Eigen;
using namespace std;
// define a custom template unary functor
template<typename Scalar>
struct CwiseClampOp {
CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {}
const Scalar operator()(const Scalar& x) const { return x<m_inf ? m_inf : (x>m_sup ? m_sup : x); }
Scalar m_inf, m_sup;
};
int main(int, char**)
{
Matrix4d m1 = Matrix4d::Random();
cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(CwiseClampOp<double>(-0.5,0.5)) << endl;
return 0;
}

Output:

 
See also
unaryViewExpr, binaryExpr, class CwiseUnaryOp

Definition at line 121 of file CommonCwiseUnaryOps.h.

template<typename CustomViewOp >
EIGEN_DEVICE_FUNC const CwiseUnaryView<CustomViewOp, const Derived> unaryViewExpr ( const CustomViewOp &  func = CustomViewOp()) const
inline
Returns
an expression of a custom coefficient-wise unary operator func of *this

The template parameter CustomUnaryOp is the type of the functor of the custom unary operator.

Example:

#include <Eigen/Core>
#include <iostream>
using namespace Eigen;
using namespace std;
// define a custom template unary functor
template<typename Scalar>
struct CwiseClampOp {
CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {}
const Scalar operator()(const Scalar& x) const { return x<m_inf ? m_inf : (x>m_sup ? m_sup : x); }
Scalar m_inf, m_sup;
};
int main(int, char**)
{
Matrix4d m1 = Matrix4d::Random();
cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(CwiseClampOp<double>(-0.5,0.5)) << endl;
return 0;
}

Output:

 
See also
unaryExpr, binaryExpr class CwiseUnaryOp

Definition at line 142 of file CommonCwiseUnaryOps.h.



gtsam
Author(s):
autogenerated on Sat May 8 2021 02:51:28