Eigen::internal::scalar_conj_product_op< LhsScalar, RhsScalar > Struct Template Reference

Template functor to compute the conjugate product of two scalars. More...

#include <BinaryFunctors.h>

+ Inheritance diagram for Eigen::internal::scalar_conj_product_op< LhsScalar, RhsScalar >:

Public Types

enum  { Conj = NumTraits<LhsScalar>::IsComplex }
 
typedef ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_conj_product_op >::ReturnType result_type
 
- Public Types inherited from Eigen::internal::binary_op_base< LhsScalar, RhsScalar >
typedef LhsScalar first_argument_type
 
typedef RhsScalar second_argument_type
 

Public Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const LhsScalar &a, const RhsScalar &b) const
 
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp (const Packet &a, const Packet &b) const
 

Detailed Description

template<typename LhsScalar, typename RhsScalar>
struct Eigen::internal::scalar_conj_product_op< LhsScalar, RhsScalar >

Template functor to compute the conjugate product of two scalars.

This is a short cut for conj(x) * y which is needed for optimization purpose; in Eigen2 support mode, this becomes x

  • conj(y)

Member Typedef Documentation

◆ result_type

template<typename LhsScalar , typename RhsScalar >
typedef ScalarBinaryOpTraits<LhsScalar, RhsScalar, scalar_conj_product_op>::ReturnType Eigen::internal::scalar_conj_product_op< LhsScalar, RhsScalar >::result_type

Member Enumeration Documentation

◆ anonymous enum

template<typename LhsScalar , typename RhsScalar >
anonymous enum
Enumerator
Conj 
@ IsComplex
Definition: NumTraits.h:176
@ Conj
Definition: BinaryFunctors.h:115

Member Function Documentation

◆ operator()()

template<typename LhsScalar , typename RhsScalar >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type Eigen::internal::scalar_conj_product_op< LhsScalar, RhsScalar >::operator() ( const LhsScalar &  a,
const RhsScalar &  b 
) const
inline
119  {
120  return conj_helper<LhsScalar, RhsScalar, Conj, false>().pmul(a, b);
121  }
Scalar * b
Definition: benchVecAdd.cpp:17
const Scalar * a
Definition: level2_cplx_impl.h:32

References a, b, and Eigen::internal::conj_helper< LhsType, RhsType, ConjLhs, ConjRhs >::pmul().

◆ packetOp()

template<typename LhsScalar , typename RhsScalar >
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet Eigen::internal::scalar_conj_product_op< LhsScalar, RhsScalar >::packetOp ( const Packet a,
const Packet b 
) const
inline
124  {
125  return conj_helper<Packet, Packet, Conj, false>().pmul(a, b);
126  }

References a, b, and Eigen::internal::conj_helper< LhsType, RhsType, ConjLhs, ConjRhs >::pmul().


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