MOAB  4.9.3pre
Eigen::internal::unitOrthogonal_selector< Derived, Size > Struct Template Reference

#include <OrthoMethods.h>

List of all members.

Public Types

typedef plain_matrix_type
< Derived >::type 
VectorType
typedef traits< Derived >::Scalar Scalar
typedef NumTraits< Scalar >::Real RealScalar
typedef Matrix< Scalar, 2, 1 > Vector2

Static Public Member Functions

static EIGEN_DEVICE_FUNC VectorType run (const Derived &src)

Detailed Description

template<typename Derived, int Size = Derived::SizeAtCompileTime>
struct Eigen::internal::unitOrthogonal_selector< Derived, Size >

Definition at line 139 of file OrthoMethods.h.


Member Typedef Documentation

template<typename Derived , int Size = Derived::SizeAtCompileTime>
typedef NumTraits<Scalar>::Real Eigen::internal::unitOrthogonal_selector< Derived, Size >::RealScalar

Definition at line 143 of file OrthoMethods.h.

template<typename Derived , int Size = Derived::SizeAtCompileTime>
typedef traits<Derived>::Scalar Eigen::internal::unitOrthogonal_selector< Derived, Size >::Scalar

Definition at line 142 of file OrthoMethods.h.

template<typename Derived , int Size = Derived::SizeAtCompileTime>
typedef Matrix<Scalar,2,1> Eigen::internal::unitOrthogonal_selector< Derived, Size >::Vector2

Definition at line 144 of file OrthoMethods.h.

template<typename Derived , int Size = Derived::SizeAtCompileTime>
typedef plain_matrix_type<Derived>::type Eigen::internal::unitOrthogonal_selector< Derived, Size >::VectorType

Definition at line 141 of file OrthoMethods.h.


Member Function Documentation

template<typename Derived , int Size = Derived::SizeAtCompileTime>
static EIGEN_DEVICE_FUNC VectorType Eigen::internal::unitOrthogonal_selector< Derived, Size >::run ( const Derived &  src) [inline, static]

Definition at line 146 of file OrthoMethods.h.

  {
    VectorType perp = VectorType::Zero(src.size());
    Index maxi = 0;
    Index sndi = 0;
    src.cwiseAbs().maxCoeff(&maxi);
    if (maxi==0)
      sndi = 1;
    RealScalar invnm = RealScalar(1)/(Vector2() << src.coeff(sndi),src.coeff(maxi)).finished().norm();
    perp.coeffRef(maxi) = -numext::conj(src.coeff(sndi)) * invnm;
    perp.coeffRef(sndi) =  numext::conj(src.coeff(maxi)) * invnm;

    return perp;
   }

The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines