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

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

#include <BinaryFunctors.h>

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

Public Types

typedef ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_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
 
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type predux (const Packet &a) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator() (const bool &a, const bool &b) const
 

Detailed Description

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

Template functor to compute the product of two scalars.

See also
class CwiseBinaryOp, Cwise::operator*(), class VectorwiseOp, MatrixBase::redux()

Member Typedef Documentation

◆ result_type

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

Member Function Documentation

◆ operator()() [1/2]

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool Eigen::internal::scalar_product_op< bool, bool >::operator() ( const bool a,
const bool b 
) const
103  {
104  return a && b;
105 }
Scalar * b
Definition: benchVecAdd.cpp:17
const Scalar * a
Definition: level2_cplx_impl.h:32

References a, and b.

◆ operator()() [2/2]

template<typename LhsScalar , typename RhsScalar >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type Eigen::internal::scalar_product_op< LhsScalar, RhsScalar >::operator() ( const LhsScalar &  a,
const RhsScalar &  b 
) const
inline
79  {
80  return a * b;
81  }

References a, and b.

◆ packetOp()

template<typename LhsScalar , typename RhsScalar >
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet Eigen::internal::scalar_product_op< LhsScalar, RhsScalar >::packetOp ( const Packet a,
const Packet b 
) const
inline
83  {
84  return internal::pmul(a, b);
85  }
EIGEN_STRONG_INLINE Packet4cf pmul(const Packet4cf &a, const Packet4cf &b)
Definition: AVX/Complex.h:88

References a, b, and Eigen::internal::pmul().

◆ predux()

template<typename LhsScalar , typename RhsScalar >
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type Eigen::internal::scalar_product_op< LhsScalar, RhsScalar >::predux ( const Packet a) const
inline
87  {
88  return internal::predux_mul(a);
89  }
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_mul(const Packet &a)
Definition: GenericPacketMath.h:1238

References a, and Eigen::internal::predux_mul().


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