Eigen::internal::cross_impl< Derived, OtherDerived, Size > Struct Template Reference

#include <OrthoMethods.h>

Public Types

typedef ScalarBinaryOpTraits< typename internal::traits< Derived >::Scalar, typename internal::traits< OtherDerived >::Scalar >::ReturnType Scalar
 
typedef Matrix< Scalar, MatrixBase< Derived >::RowsAtCompileTime, MatrixBase< Derived >::ColsAtCompileTime > return_type
 

Static Public Member Functions

static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE return_type run (const MatrixBase< Derived > &first, const MatrixBase< OtherDerived > &second)
 

Member Typedef Documentation

◆ return_type

template<typename Derived , typename OtherDerived , int Size>
typedef Matrix<Scalar, MatrixBase<Derived>::RowsAtCompileTime, MatrixBase<Derived>::ColsAtCompileTime> Eigen::internal::cross_impl< Derived, OtherDerived, Size >::return_type

◆ Scalar

template<typename Derived , typename OtherDerived , int Size>
typedef ScalarBinaryOpTraits<typename internal::traits<Derived>::Scalar, typename internal::traits<OtherDerived>::Scalar>::ReturnType Eigen::internal::cross_impl< Derived, OtherDerived, Size >::Scalar

Member Function Documentation

◆ run()

template<typename Derived , typename OtherDerived , int Size>
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE return_type Eigen::internal::cross_impl< Derived, OtherDerived, Size >::run ( const MatrixBase< Derived > &  first,
const MatrixBase< OtherDerived > &  second 
)
inlinestatic
29  {
32 
33  // Note that there is no need for an expression here since the compiler
34  // optimize such a small temporary very well (even within a complex expression)
35  typename internal::nested_eval<Derived, 2>::type lhs(first.derived());
36  typename internal::nested_eval<OtherDerived, 2>::type rhs(second.derived());
37  return return_type(numext::conj(lhs.coeff(1) * rhs.coeff(2) - lhs.coeff(2) * rhs.coeff(1)),
38  numext::conj(lhs.coeff(2) * rhs.coeff(0) - lhs.coeff(0) * rhs.coeff(2)),
39  numext::conj(lhs.coeff(0) * rhs.coeff(1) - lhs.coeff(1) * rhs.coeff(0)));
40  }
#define EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(TYPE, SIZE)
Definition: StaticAssert.h:50
if n return
Definition: level1_cplx_impl.h:31
const AutoDiffScalar< DerType > & conj(const AutoDiffScalar< DerType > &x)
Definition: AutoDiffScalar.h:482
type
Definition: compute_granudrum_aor.py:141
Definition: Eigen_Colamd.h:49
Matrix< Scalar, MatrixBase< Derived >::RowsAtCompileTime, MatrixBase< Derived >::ColsAtCompileTime > return_type
Definition: OrthoMethods.h:26

References conj(), and EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE.

Referenced by Eigen::MatrixBase< Derived >::cross().


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