compbio
|
template <class> class MakePointer_ is added to convert the host pointer to the device pointer. More...
Functions | |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pset1< Packet2cf > (const std::complex< float > &from) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pload< Packet2cf > (const std::complex< float > *from) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | ploadu< Packet2cf > (const std::complex< float > *from) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | ploaddup< Packet2cf > (const std::complex< float > *from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< std::complex< float > > (std::complex< float > *to, const Packet2cf &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< std::complex< float > > (std::complex< float > *to, const Packet2cf &from) |
template<> | |
EIGEN_DEVICE_FUNC Packet2cf | pgather< std::complex< float >, Packet2cf > (const std::complex< float > *from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC void | pscatter< std::complex< float >, Packet2cf > (std::complex< float > *to, const Packet2cf &from, Index stride) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | padd< Packet2cf > (const Packet2cf &a, const Packet2cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | psub< Packet2cf > (const Packet2cf &a, const Packet2cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pnegate (const Packet2cf &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pconj (const Packet2cf &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pmul< Packet2cf > (const Packet2cf &a, const Packet2cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pand< Packet2cf > (const Packet2cf &a, const Packet2cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | por< Packet2cf > (const Packet2cf &a, const Packet2cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pxor< Packet2cf > (const Packet2cf &a, const Packet2cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pandnot< Packet2cf > (const Packet2cf &a, const Packet2cf &b) |
template<> | |
EIGEN_STRONG_INLINE void | prefetch< std::complex< float > > (const std::complex< float > *addr) |
template<> | |
EIGEN_STRONG_INLINE std::complex< float > | pfirst< Packet2cf > (const Packet2cf &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | preverse (const Packet2cf &a) |
template<> | |
EIGEN_STRONG_INLINE std::complex< float > | predux< Packet2cf > (const Packet2cf &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | preduxp< Packet2cf > (const Packet2cf *vecs) |
template<> | |
EIGEN_STRONG_INLINE std::complex< float > | predux_mul< Packet2cf > (const Packet2cf &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pdiv< Packet2cf > (const Packet2cf &a, const Packet2cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pcplxflip< Packet2cf > (const Packet2cf &x) |
EIGEN_STRONG_INLINE void | ptranspose (PacketBlock< Packet2cf, 2 > &kernel) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f | plog< Packet4f > (const Packet4f &_x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f | pexp< Packet4f > (const Packet4f &_x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f | prsqrt< Packet4f > (const Packet4f &x) |
std::ostream & | operator<< (std::ostream &s, const Packet16uc &v) |
std::ostream & | operator<< (std::ostream &s, const Packet4f &v) |
std::ostream & | operator<< (std::ostream &s, const Packet4i &v) |
std::ostream & | operator<< (std::ostream &s, const Packet4ui &v) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pload< Packet4f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pload< Packet4i > (const int *from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< float > (float *to, const Packet4f &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< int > (int *to, const Packet4i &from) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pset1< Packet4f > (const float &from) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pset1< Packet4i > (const int &from) |
template<> | |
EIGEN_STRONG_INLINE void | pbroadcast4< Packet4f > (const float *a, Packet4f &a0, Packet4f &a1, Packet4f &a2, Packet4f &a3) |
template<> | |
EIGEN_STRONG_INLINE void | pbroadcast4< Packet4i > (const int *a, Packet4i &a0, Packet4i &a1, Packet4i &a2, Packet4i &a3) |
template<> | |
EIGEN_DEVICE_FUNC Packet4f | pgather< float, Packet4f > (const float *from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC Packet4i | pgather< int, Packet4i > (const int *from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC void | pscatter< float, Packet4f > (float *to, const Packet4f &from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC void | pscatter< int, Packet4i > (int *to, const Packet4i &from, Index stride) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | plset< Packet4f > (const float &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | plset< Packet4i > (const int &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | padd< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | padd< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | psub< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | psub< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pnegate (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pnegate (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pconj (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pconj (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pmul< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pmul< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pdiv< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pdiv< Packet4i > (const Packet4i &, const Packet4i &) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pmadd (const Packet4f &a, const Packet4f &b, const Packet4f &c) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pmadd (const Packet4i &a, const Packet4i &b, const Packet4i &c) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pmin< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pmin< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pmax< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pmax< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pand< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pand< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | por< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | por< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pxor< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pxor< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pandnot< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pandnot< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pround< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pceil< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pfloor< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | ploadu< Packet4i > (const int *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | ploadu< Packet4f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | ploaddup< Packet4f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | ploaddup< Packet4i > (const int *from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< int > (int *to, const Packet4i &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< float > (float *to, const Packet4f &from) |
template<> | |
EIGEN_STRONG_INLINE void | prefetch< float > (const float *addr) |
template<> | |
EIGEN_STRONG_INLINE void | prefetch< int > (const int *addr) |
template<> | |
EIGEN_STRONG_INLINE float | pfirst< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE int | pfirst< Packet4i > (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | preverse (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | preverse (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pabs (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pabs (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE float | predux< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | preduxp< Packet4f > (const Packet4f *vecs) |
template<> | |
EIGEN_STRONG_INLINE int | predux< Packet4i > (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | preduxp< Packet4i > (const Packet4i *vecs) |
template<> | |
EIGEN_STRONG_INLINE float | predux_mul< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE int | predux_mul< Packet4i > (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE float | predux_min< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE int | predux_min< Packet4i > (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE float | predux_max< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE int | predux_max< Packet4i > (const Packet4i &a) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet4f, 4 > &kernel) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet4i, 4 > &kernel) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pblend (const Selector< 4 > &ifPacket, const Packet4i &thenPacket, const Packet4i &elsePacket) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pblend (const Selector< 4 > &ifPacket, const Packet4f &thenPacket, const Packet4f &elsePacket) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | padd< Packet4cf > (const Packet4cf &a, const Packet4cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | psub< Packet4cf > (const Packet4cf &a, const Packet4cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pnegate (const Packet4cf &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pconj (const Packet4cf &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pmul< Packet4cf > (const Packet4cf &a, const Packet4cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pand< Packet4cf > (const Packet4cf &a, const Packet4cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | por< Packet4cf > (const Packet4cf &a, const Packet4cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pxor< Packet4cf > (const Packet4cf &a, const Packet4cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pandnot< Packet4cf > (const Packet4cf &a, const Packet4cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pload< Packet4cf > (const std::complex< float > *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | ploadu< Packet4cf > (const std::complex< float > *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pset1< Packet4cf > (const std::complex< float > &from) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | ploaddup< Packet4cf > (const std::complex< float > *from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< std::complex< float > > (std::complex< float > *to, const Packet4cf &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< std::complex< float > > (std::complex< float > *to, const Packet4cf &from) |
template<> | |
EIGEN_DEVICE_FUNC Packet4cf | pgather< std::complex< float >, Packet4cf > (const std::complex< float > *from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC void | pscatter< std::complex< float >, Packet4cf > (std::complex< float > *to, const Packet4cf &from, Index stride) |
template<> | |
EIGEN_STRONG_INLINE std::complex< float > | pfirst< Packet4cf > (const Packet4cf &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | preverse (const Packet4cf &a) |
template<> | |
EIGEN_STRONG_INLINE std::complex< float > | predux< Packet4cf > (const Packet4cf &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | preduxp< Packet4cf > (const Packet4cf *vecs) |
template<> | |
EIGEN_STRONG_INLINE std::complex< float > | predux_mul< Packet4cf > (const Packet4cf &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pdiv< Packet4cf > (const Packet4cf &a, const Packet4cf &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pcplxflip< Packet4cf > (const Packet4cf &x) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | padd< Packet2cd > (const Packet2cd &a, const Packet2cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | psub< Packet2cd > (const Packet2cd &a, const Packet2cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pnegate (const Packet2cd &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pconj (const Packet2cd &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pmul< Packet2cd > (const Packet2cd &a, const Packet2cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pand< Packet2cd > (const Packet2cd &a, const Packet2cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | por< Packet2cd > (const Packet2cd &a, const Packet2cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pxor< Packet2cd > (const Packet2cd &a, const Packet2cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pandnot< Packet2cd > (const Packet2cd &a, const Packet2cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pload< Packet2cd > (const std::complex< double > *from) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | ploadu< Packet2cd > (const std::complex< double > *from) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pset1< Packet2cd > (const std::complex< double > &from) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | ploaddup< Packet2cd > (const std::complex< double > *from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< std::complex< double > > (std::complex< double > *to, const Packet2cd &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< std::complex< double > > (std::complex< double > *to, const Packet2cd &from) |
template<> | |
EIGEN_DEVICE_FUNC Packet2cd | pgather< std::complex< double >, Packet2cd > (const std::complex< double > *from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC void | pscatter< std::complex< double >, Packet2cd > (std::complex< double > *to, const Packet2cd &from, Index stride) |
template<> | |
EIGEN_STRONG_INLINE std::complex< double > | pfirst< Packet2cd > (const Packet2cd &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | preverse (const Packet2cd &a) |
template<> | |
EIGEN_STRONG_INLINE std::complex< double > | predux< Packet2cd > (const Packet2cd &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | preduxp< Packet2cd > (const Packet2cd *vecs) |
template<> | |
EIGEN_STRONG_INLINE std::complex< double > | predux_mul< Packet2cd > (const Packet2cd &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pdiv< Packet2cd > (const Packet2cd &a, const Packet2cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pcplxflip< Packet2cd > (const Packet2cd &x) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet4cf, 4 > &kernel) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet2cd, 2 > &kernel) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pinsertfirst (const Packet4cf &a, std::complex< float > b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pinsertfirst (const Packet2cd &a, std::complex< double > b) |
template<> | |
EIGEN_STRONG_INLINE Packet4cf | pinsertlast (const Packet4cf &a, std::complex< float > b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cd | pinsertlast (const Packet2cd &a, std::complex< double > b) |
Packet8i | pshiftleft (Packet8i v, int n) |
Packet8f | pshiftright (Packet8f v, int n) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet8f | psin< Packet8f > (const Packet8f &_x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet8f | plog< Packet8f > (const Packet8f &_x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet8f | pexp< Packet8f > (const Packet8f &_x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet8f | ptanh< Packet8f > (const Packet8f &x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4d | pexp< Packet4d > (const Packet4d &_x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet8f | psqrt< Packet8f > (const Packet8f &x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4d | psqrt< Packet4d > (const Packet4d &x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet8f | prsqrt< Packet8f > (const Packet8f &x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4d | prsqrt< Packet4d > (const Packet4d &x) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pset1< Packet8f > (const float &from) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pset1< Packet4d > (const double &from) |
template<> | |
EIGEN_STRONG_INLINE Packet8i | pset1< Packet8i > (const int &from) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pload1< Packet8f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pload1< Packet4d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | plset< Packet8f > (const float &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | plset< Packet4d > (const double &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | padd< Packet8f > (const Packet8f &a, const Packet8f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | padd< Packet4d > (const Packet4d &a, const Packet4d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | psub< Packet8f > (const Packet8f &a, const Packet8f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | psub< Packet4d > (const Packet4d &a, const Packet4d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pnegate (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pnegate (const Packet4d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pconj (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pconj (const Packet4d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8i | pconj (const Packet8i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pmul< Packet8f > (const Packet8f &a, const Packet8f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pmul< Packet4d > (const Packet4d &a, const Packet4d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pdiv< Packet8f > (const Packet8f &a, const Packet8f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pdiv< Packet4d > (const Packet4d &a, const Packet4d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8i | pdiv< Packet8i > (const Packet8i &, const Packet8i &) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pmin< Packet8f > (const Packet8f &a, const Packet8f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pmin< Packet4d > (const Packet4d &a, const Packet4d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pmax< Packet8f > (const Packet8f &a, const Packet8f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pmax< Packet4d > (const Packet4d &a, const Packet4d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pround< Packet8f > (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pround< Packet4d > (const Packet4d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pceil< Packet8f > (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pceil< Packet4d > (const Packet4d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pfloor< Packet8f > (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pfloor< Packet4d > (const Packet4d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pand< Packet8f > (const Packet8f &a, const Packet8f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pand< Packet4d > (const Packet4d &a, const Packet4d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | por< Packet8f > (const Packet8f &a, const Packet8f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | por< Packet4d > (const Packet4d &a, const Packet4d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pxor< Packet8f > (const Packet8f &a, const Packet8f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pxor< Packet4d > (const Packet4d &a, const Packet4d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pandnot< Packet8f > (const Packet8f &a, const Packet8f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pandnot< Packet4d > (const Packet4d &a, const Packet4d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pload< Packet8f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pload< Packet4d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet8i | pload< Packet8i > (const int *from) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | ploadu< Packet8f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | ploadu< Packet4d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet8i | ploadu< Packet8i > (const int *from) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | ploaddup< Packet8f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | ploaddup< Packet4d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | ploadquad< Packet8f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< float > (float *to, const Packet8f &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< double > (double *to, const Packet4d &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< int > (int *to, const Packet8i &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< float > (float *to, const Packet8f &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< double > (double *to, const Packet4d &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< int > (int *to, const Packet8i &from) |
template<> | |
EIGEN_DEVICE_FUNC Packet8f | pgather< float, Packet8f > (const float *from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC Packet4d | pgather< double, Packet4d > (const double *from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC void | pscatter< float, Packet8f > (float *to, const Packet8f &from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC void | pscatter< double, Packet4d > (double *to, const Packet4d &from, Index stride) |
template<> | |
EIGEN_STRONG_INLINE void | pstore1< Packet8f > (float *to, const float &a) |
template<> | |
EIGEN_STRONG_INLINE void | pstore1< Packet4d > (double *to, const double &a) |
template<> | |
EIGEN_STRONG_INLINE void | pstore1< Packet8i > (int *to, const int &a) |
template<> | |
EIGEN_STRONG_INLINE void | prefetch< double > (const double *addr) |
template<> | |
EIGEN_STRONG_INLINE float | pfirst< Packet8f > (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE double | pfirst< Packet4d > (const Packet4d &a) |
template<> | |
EIGEN_STRONG_INLINE int | pfirst< Packet8i > (const Packet8i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | preverse (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | preverse (const Packet4d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pabs (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pabs (const Packet4d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | preduxp< Packet8f > (const Packet8f *vecs) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | preduxp< Packet4d > (const Packet4d *vecs) |
template<> | |
EIGEN_STRONG_INLINE float | predux< Packet8f > (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE double | predux< Packet4d > (const Packet4d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | predux_downto4< Packet8f > (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE float | predux_mul< Packet8f > (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE double | predux_mul< Packet4d > (const Packet4d &a) |
template<> | |
EIGEN_STRONG_INLINE float | predux_min< Packet8f > (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE double | predux_min< Packet4d > (const Packet4d &a) |
template<> | |
EIGEN_STRONG_INLINE float | predux_max< Packet8f > (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE double | predux_max< Packet4d > (const Packet4d &a) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet8f, 8 > &kernel) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet8f, 4 > &kernel) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet4d, 4 > &kernel) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pblend (const Selector< 8 > &ifPacket, const Packet8f &thenPacket, const Packet8f &elsePacket) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pblend (const Selector< 4 > &ifPacket, const Packet4d &thenPacket, const Packet4d &elsePacket) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pinsertfirst (const Packet8f &a, float b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pinsertfirst (const Packet4d &a, double b) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pinsertlast (const Packet8f &a, float b) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | pinsertlast (const Packet4d &a, double b) |
template<> | |
EIGEN_STRONG_INLINE Packet8i | pcast< Packet8f, Packet8i > (const Packet8f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | pcast< Packet8i, Packet8f > (const Packet8i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pset1< Packet16f > (const float &from) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pset1< Packet8d > (const double &from) |
template<> | |
EIGEN_STRONG_INLINE Packet16i | pset1< Packet16i > (const int &from) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pload1< Packet16f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pload1< Packet8d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | plset< Packet16f > (const float &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | plset< Packet8d > (const double &a) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | padd< Packet16f > (const Packet16f &a, const Packet16f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | padd< Packet8d > (const Packet8d &a, const Packet8d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | psub< Packet16f > (const Packet16f &a, const Packet16f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | psub< Packet8d > (const Packet8d &a, const Packet8d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pnegate (const Packet16f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pnegate (const Packet8d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pconj (const Packet16f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pconj (const Packet8d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet16i | pconj (const Packet16i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pmul< Packet16f > (const Packet16f &a, const Packet16f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pmul< Packet8d > (const Packet8d &a, const Packet8d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pdiv< Packet16f > (const Packet16f &a, const Packet16f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pdiv< Packet8d > (const Packet8d &a, const Packet8d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pmin< Packet16f > (const Packet16f &a, const Packet16f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pmin< Packet8d > (const Packet8d &a, const Packet8d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pmax< Packet16f > (const Packet16f &a, const Packet16f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pmax< Packet8d > (const Packet8d &a, const Packet8d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pand< Packet16f > (const Packet16f &a, const Packet16f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pand< Packet8d > (const Packet8d &a, const Packet8d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | por< Packet16f > (const Packet16f &a, const Packet16f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | por< Packet8d > (const Packet8d &a, const Packet8d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pxor< Packet16f > (const Packet16f &a, const Packet16f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pxor< Packet8d > (const Packet8d &a, const Packet8d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pandnot< Packet16f > (const Packet16f &a, const Packet16f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pandnot< Packet8d > (const Packet8d &a, const Packet8d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pload< Packet16f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pload< Packet8d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet16i | pload< Packet16i > (const int *from) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | ploadu< Packet16f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | ploadu< Packet8d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet16i | ploadu< Packet16i > (const int *from) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | ploaddup< Packet16f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | ploaddup< Packet8d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | ploadquad< Packet16f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | ploadquad< Packet8d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< float > (float *to, const Packet16f &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< double > (double *to, const Packet8d &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< int > (int *to, const Packet16i &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< float > (float *to, const Packet16f &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< double > (double *to, const Packet8d &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< int > (int *to, const Packet16i &from) |
template<> | |
EIGEN_DEVICE_FUNC Packet16f | pgather< float, Packet16f > (const float *from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC Packet8d | pgather< double, Packet8d > (const double *from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC void | pscatter< float, Packet16f > (float *to, const Packet16f &from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC void | pscatter< double, Packet8d > (double *to, const Packet8d &from, Index stride) |
template<> | |
EIGEN_STRONG_INLINE void | pstore1< Packet16f > (float *to, const float &a) |
template<> | |
EIGEN_STRONG_INLINE void | pstore1< Packet8d > (double *to, const double &a) |
template<> | |
EIGEN_STRONG_INLINE void | pstore1< Packet16i > (int *to, const int &a) |
template<> | |
EIGEN_STRONG_INLINE float | pfirst< Packet16f > (const Packet16f &a) |
template<> | |
EIGEN_STRONG_INLINE double | pfirst< Packet8d > (const Packet8d &a) |
template<> | |
EIGEN_STRONG_INLINE int | pfirst< Packet16i > (const Packet16i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | preverse (const Packet16f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | preverse (const Packet8d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pabs (const Packet16f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pabs (const Packet8d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | preduxp< Packet16f > (const Packet16f *vecs) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | preduxp< Packet8d > (const Packet8d *vecs) |
template<> | |
EIGEN_STRONG_INLINE float | predux< Packet16f > (const Packet16f &a) |
template<> | |
EIGEN_STRONG_INLINE double | predux< Packet8d > (const Packet8d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet8f | predux_downto4< Packet16f > (const Packet16f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4d | predux_downto4< Packet8d > (const Packet8d &a) |
template<> | |
EIGEN_STRONG_INLINE float | predux_mul< Packet16f > (const Packet16f &a) |
template<> | |
EIGEN_STRONG_INLINE double | predux_mul< Packet8d > (const Packet8d &a) |
template<> | |
EIGEN_STRONG_INLINE float | predux_min< Packet16f > (const Packet16f &a) |
template<> | |
EIGEN_STRONG_INLINE double | predux_min< Packet8d > (const Packet8d &a) |
template<> | |
EIGEN_STRONG_INLINE float | predux_max< Packet16f > (const Packet16f &a) |
template<> | |
EIGEN_STRONG_INLINE double | predux_max< Packet8d > (const Packet8d &a) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet16f, 16 > &kernel) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet16f, 4 > &kernel) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet8d, 4 > &kernel) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet8d, 8 > &kernel) |
template<> | |
EIGEN_STRONG_INLINE Packet16f | pblend (const Selector< 16 > &, const Packet16f &, const Packet16f &) |
template<> | |
EIGEN_STRONG_INLINE Packet8d | pblend (const Selector< 8 > &, const Packet8d &, const Packet8d &) |
uint32x4_t | p4ui_CONJ_XOR () |
uint32x2_t | p2ui_CONJ_XOR () |
EIGEN_STRONG_INLINE Packet2cf | pcplxflip (const Packet2cf &x) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | padd< Packet1cd > (const Packet1cd &a, const Packet1cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | psub< Packet1cd > (const Packet1cd &a, const Packet1cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | pnegate (const Packet1cd &a) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | pconj (const Packet1cd &a) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | pmul< Packet1cd > (const Packet1cd &a, const Packet1cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | pand< Packet1cd > (const Packet1cd &a, const Packet1cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | por< Packet1cd > (const Packet1cd &a, const Packet1cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | pxor< Packet1cd > (const Packet1cd &a, const Packet1cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | pandnot< Packet1cd > (const Packet1cd &a, const Packet1cd &b) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | pload< Packet1cd > (const std::complex< double > *from) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | ploadu< Packet1cd > (const std::complex< double > *from) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | pset1< Packet1cd > (const std::complex< double > &from) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | ploaddup< Packet1cd > (const std::complex< double > *from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< std::complex< double > > (std::complex< double > *to, const Packet1cd &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< std::complex< double > > (std::complex< double > *to, const Packet1cd &from) |
template<> | |
EIGEN_STRONG_INLINE void | prefetch< std::complex< double > > (const std::complex< double > *addr) |
template<> | |
EIGEN_STRONG_INLINE std::complex< double > | pfirst< Packet1cd > (const Packet1cd &a) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | preverse (const Packet1cd &a) |
template<> | |
EIGEN_STRONG_INLINE std::complex< double > | predux< Packet1cd > (const Packet1cd &a) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | preduxp< Packet1cd > (const Packet1cd *vecs) |
template<> | |
EIGEN_STRONG_INLINE std::complex< double > | predux_mul< Packet1cd > (const Packet1cd &a) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | pdiv< Packet1cd > (const Packet1cd &a, const Packet1cd &b) |
EIGEN_STRONG_INLINE Packet1cd | pcplxflip (const Packet1cd &x) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pblend (const Selector< 2 > &ifPacket, const Packet2cf &thenPacket, const Packet2cf &elsePacket) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pinsertfirst (const Packet2cf &a, std::complex< float > b) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | pinsertfirst (const Packet1cd &, std::complex< double > b) |
template<> | |
EIGEN_STRONG_INLINE Packet2cf | pinsertlast (const Packet2cf &a, std::complex< float > b) |
template<> | |
EIGEN_STRONG_INLINE Packet1cd | pinsertlast (const Packet1cd &, std::complex< double > b) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d | pexp< Packet2d > (const Packet2d &_x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f | psin< Packet4f > (const Packet4f &_x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f | pcos< Packet4f > (const Packet4f &_x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f | psqrt< Packet4f > (const Packet4f &x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d | psqrt< Packet2d > (const Packet2d &x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d | prsqrt< Packet2d > (const Packet2d &x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f | ptanh< Packet4f > (const Packet4f &x) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pset1< Packet2d > (const double &from) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | plset< Packet2d > (const double &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | padd< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | psub< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pnegate (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pconj (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pmul< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pdiv< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pmin< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pmax< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pand< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | por< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pxor< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pandnot< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pload< Packet2d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | ploadu< Packet2d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | ploaddup< Packet2d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE void | pstore< double > (double *to, const Packet2d &from) |
template<> | |
EIGEN_STRONG_INLINE void | pstoreu< double > (double *to, const Packet2d &from) |
template<> | |
EIGEN_DEVICE_FUNC Packet2d | pgather< double, Packet2d > (const double *from, Index stride) |
template<> | |
EIGEN_DEVICE_FUNC void | pscatter< double, Packet2d > (double *to, const Packet2d &from, Index stride) |
template<> | |
EIGEN_STRONG_INLINE void | pstore1< Packet4f > (float *to, const float &a) |
template<> | |
EIGEN_STRONG_INLINE void | pstore1< Packet2d > (double *to, const double &a) |
template<> | |
EIGEN_STRONG_INLINE double | pfirst< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | preverse (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pabs (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE void | pbroadcast4< Packet2d > (const double *a, Packet2d &a0, Packet2d &a1, Packet2d &a2, Packet2d &a3) |
EIGEN_STRONG_INLINE void | punpackp (Packet4f *vecs) |
template<> | |
EIGEN_STRONG_INLINE double | predux< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | preduxp< Packet2d > (const Packet2d *vecs) |
template<> | |
EIGEN_STRONG_INLINE double | predux_mul< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE double | predux_min< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE double | predux_max< Packet2d > (const Packet2d &a) |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet2d, 2 > &kernel) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pblend (const Selector< 2 > &ifPacket, const Packet2d &thenPacket, const Packet2d &elsePacket) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pinsertfirst (const Packet4f &a, float b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pinsertfirst (const Packet2d &a, double b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pinsertlast (const Packet4f &a, float b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pinsertlast (const Packet2d &a, double b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pcast< Packet4f, Packet4i > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pcast< Packet4i, Packet4f > (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pcast< Packet2d, Packet4f > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pcast< Packet4f, Packet2d > (const Packet4f &a) |
template<> | |
EIGEN_DEVICE_FUNC Packet1cd | pgather< std::complex< double >, Packet1cd > (const std::complex< double > *from, Index stride EIGEN_UNUSED) |
template<> | |
EIGEN_DEVICE_FUNC void | pscatter< std::complex< double >, Packet1cd > (std::complex< double > *to, const Packet1cd &from, Index stride EIGEN_UNUSED) |
EIGEN_STRONG_INLINE void | ptranspose (PacketBlock< Packet1cd, 2 > &kernel) |
std::ostream & | operator<< (std::ostream &s, const Packet2l &v) |
std::ostream & | operator<< (std::ostream &s, const Packet2ul &v) |
std::ostream & | operator<< (std::ostream &s, const Packet2d &v) |
template<int element> | |
EIGEN_STRONG_INLINE Packet4f | vec_splat_packet4f (const Packet4f &from) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pmadd (const Packet2d &a, const Packet2d &b, const Packet2d &c) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pround< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pceil< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pfloor< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | pabs< Packet4i > (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | pabs< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | pabs< Packet4f > (const Packet4f &a) |
template<typename DstXprType , typename SrcXprType , typename Functor > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_dense_assignment_loop (DstXprType &dst, const SrcXprType &src, const Functor &func) |
template<typename DstXprType , typename SrcXprType > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_dense_assignment_loop (DstXprType &dst, const SrcXprType &src) |
template<typename Dst , typename Src > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_assignment (Dst &dst, const Src &src) |
template<typename Dst , typename Src > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_assignment (const Dst &dst, const Src &src) |
template<typename Dst , typename Src , typename Func > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_assignment (Dst &dst, const Src &src, const Func &func, typename enable_if< evaluator_assume_aliasing< Src >::value, void *>::type=0) |
template<typename Dst , typename Src , typename Func > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_assignment (Dst &dst, const Src &src, const Func &func, typename enable_if<!evaluator_assume_aliasing< Src >::value, void *>::type=0) |
template<typename Dst , template< typename > class StorageBase, typename Src , typename Func > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_assignment (NoAlias< Dst, StorageBase > &dst, const Src &src, const Func &func) |
template<typename Dst , typename Src , typename Func > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_assignment_no_alias (Dst &dst, const Src &src, const Func &func) |
template<typename Dst , typename Src > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_assignment_no_alias (Dst &dst, const Src &src) |
template<typename Dst , typename Src , typename Func > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_assignment_no_alias_no_transpose (Dst &dst, const Src &src, const Func &func) |
template<typename Dst , typename Src > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_assignment_no_alias_no_transpose (Dst &dst, const Src &src) |
template<typename Dst , typename Src > | |
void | check_for_aliasing (const Dst &dst, const Src &src) |
template<typename Decomposition > | |
Decomposition::RealScalar | rcond_invmatrix_L1_norm_estimate (const Decomposition &dec) |
template<typename Decomposition > | |
Decomposition::RealScalar | rcond_estimate_helper (typename Decomposition::RealScalar matrix_norm, const Decomposition &dec) |
Reciprocal condition number estimator. More... | |
template<typename T , int Size> | |
EIGEN_DEVICE_FUNC void | check_static_allocation_size () |
template<typename SrcPacket , typename TgtPacket > | |
EIGEN_DEVICE_FUNC TgtPacket | pcast (const SrcPacket &a) |
template<typename SrcPacket , typename TgtPacket > | |
EIGEN_DEVICE_FUNC TgtPacket | pcast (const SrcPacket &a, const SrcPacket &) |
template<typename SrcPacket , typename TgtPacket > | |
EIGEN_DEVICE_FUNC TgtPacket | pcast (const SrcPacket &a, const SrcPacket &, const SrcPacket &, const SrcPacket &) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | padd (const Packet &a, const Packet &b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | psub (const Packet &a, const Packet &b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pnegate (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pconj (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pmul (const Packet &a, const Packet &b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pdiv (const Packet &a, const Packet &b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pmin (const Packet &a, const Packet &b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pmax (const Packet &a, const Packet &b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pabs (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | parg (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pand (const Packet &a, const Packet &b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | por (const Packet &a, const Packet &b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pxor (const Packet &a, const Packet &b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pandnot (const Packet &a, const Packet &b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pload (const typename unpacket_traits< Packet >::type *from) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | ploadu (const typename unpacket_traits< Packet >::type *from) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pset1 (const typename unpacket_traits< Packet >::type &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pload1 (const typename unpacket_traits< Packet >::type *a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | ploaddup (const typename unpacket_traits< Packet >::type *from) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | ploadquad (const typename unpacket_traits< Packet >::type *from) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC void | pbroadcast4 (const typename unpacket_traits< Packet >::type *a, Packet &a0, Packet &a1, Packet &a2, Packet &a3) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC void | pbroadcast2 (const typename unpacket_traits< Packet >::type *a, Packet &a0, Packet &a1) |
template<typename Packet > | |
Packet | plset (const typename unpacket_traits< Packet >::type &a) |
template<typename Scalar , typename Packet > | |
EIGEN_DEVICE_FUNC void | pstore (Scalar *to, const Packet &from) |
template<typename Scalar , typename Packet > | |
EIGEN_DEVICE_FUNC void | pstoreu (Scalar *to, const Packet &from) |
template<typename Scalar , typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pgather (const Scalar *from, Index) |
template<typename Scalar , typename Packet > | |
EIGEN_DEVICE_FUNC void | pscatter (Scalar *to, const Packet &from, Index) |
template<typename Scalar > | |
EIGEN_DEVICE_FUNC void | prefetch (const Scalar *addr) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type | pfirst (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | preduxp (const Packet *vecs) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type | predux (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC conditional<(unpacket_traits< Packet >::size%8)==0, typename unpacket_traits< Packet >::half, Packet >::type | predux_downto4 (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type | predux_mul (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type | predux_min (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type | predux_max (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | preverse (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pcplxflip (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | psin (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | pcos (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | ptan (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | pasin (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | pacos (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | patan (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | psinh (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | pcosh (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | ptanh (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | pexp (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | plog (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | plog1p (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | plog10 (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | psqrt (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | prsqrt (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | pround (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | pfloor (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | pceil (const Packet &a) |
template<typename Packet > | |
void | pstore1 (typename unpacket_traits< Packet >::type *to, const typename unpacket_traits< Packet >::type &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pmadd (const Packet &a, const Packet &b, const Packet &c) |
template<typename Packet , int Alignment> | |
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE Packet | ploadt (const typename unpacket_traits< Packet >::type *from) |
template<typename Scalar , typename Packet , int Alignment> | |
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE void | pstoret (Scalar *to, const Packet &from) |
template<typename Packet , int LoadMode> | |
Packet | ploadt_ro (const typename unpacket_traits< Packet >::type *from) |
template<int Offset, typename PacketType > | |
void | palign (PacketType &first, const PacketType &second) |
template<> | |
std::complex< float > | pmul (const std::complex< float > &a, const std::complex< float > &b) |
template<> | |
std::complex< double > | pmul (const std::complex< double > &a, const std::complex< double > &b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC void | ptranspose (PacketBlock< Packet, 1 > &) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pblend (const Selector< unpacket_traits< Packet >::size > &ifPacket, const Packet &thenPacket, const Packet &elsePacket) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pinsertfirst (const Packet &a, typename unpacket_traits< Packet >::type b) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC Packet | pinsertlast (const Packet &a, typename unpacket_traits< Packet >::type b) |
template<typename Derived > | |
std::ostream & | print_matrix (std::ostream &s, const Derived &_m, const IOFormat &fmt) |
template<typename T > | |
T | generic_fast_tanh_float (const T &a_x) |
EIGEN_CATCH_ASSIGN_XPR_OP_PRODUCT (assign_op, scalar_sum_op, add_assign_op) | |
EIGEN_CATCH_ASSIGN_XPR_OP_PRODUCT (add_assign_op, scalar_sum_op, add_assign_op) | |
EIGEN_CATCH_ASSIGN_XPR_OP_PRODUCT (sub_assign_op, scalar_sum_op, sub_assign_op) | |
EIGEN_CATCH_ASSIGN_XPR_OP_PRODUCT (assign_op, scalar_difference_op, sub_assign_op) | |
EIGEN_CATCH_ASSIGN_XPR_OP_PRODUCT (add_assign_op, scalar_difference_op, sub_assign_op) | |
EIGEN_CATCH_ASSIGN_XPR_OP_PRODUCT (sub_assign_op, scalar_difference_op, add_assign_op) | |
template<typename Dst , typename Lhs , typename Rhs , typename Func > | |
void | outer_product_selector_run (Dst &dst, const Lhs &lhs, const Rhs &rhs, const Func &func, const false_type &) |
template<typename Dst , typename Lhs , typename Rhs , typename Func > | |
void | outer_product_selector_run (Dst &dst, const Lhs &lhs, const Rhs &rhs, const Func &func, const true_type &) |
std::ptrdiff_t | manage_caching_sizes_helper (std::ptrdiff_t a, std::ptrdiff_t b) |
void | manage_caching_sizes (Action action, std::ptrdiff_t *l1, std::ptrdiff_t *l2, std::ptrdiff_t *l3) |
template<typename LhsScalar , typename RhsScalar , int KcFactor, typename Index > | |
void | evaluateProductBlockingSizesHeuristic (Index &k, Index &m, Index &n, Index num_threads=1) |
template<typename Index > | |
bool | useSpecificBlockingSizes (Index &k, Index &m, Index &n) |
template<typename LhsScalar , typename RhsScalar , int KcFactor, typename Index > | |
void | computeProductBlockingSizes (Index &k, Index &m, Index &n, Index num_threads=1) |
Computes the blocking parameters for a m x k times k x n matrix product. More... | |
template<typename LhsScalar , typename RhsScalar , typename Index > | |
void | computeProductBlockingSizes (Index &k, Index &m, Index &n, Index num_threads=1) |
template<typename CJ , typename A , typename B , typename C , typename T > | |
EIGEN_STRONG_INLINE void | gebp_madd (const CJ &cj, A &a, B &b, C &c, T &t) |
template<typename Packet > | |
DoublePacket< Packet > | padd (const DoublePacket< Packet > &a, const DoublePacket< Packet > &b) |
template<typename Packet > | |
const DoublePacket< Packet > & | predux_downto4 (const DoublePacket< Packet > &a) |
void | manage_multi_threading (Action action, int *v) |
template<bool Condition, typename Functor , typename Index > | |
void | parallelize_gemm (const Functor &func, Index rows, Index cols, Index depth, bool transpose) |
template<typename ExpressionType , typename Scalar > | |
void | stable_norm_kernel (const ExpressionType &bl, Scalar &ssq, Scalar &scale, Scalar &invScale) |
template<typename Derived > | |
NumTraits< typename traits< Derived >::Scalar >::Real | blueNorm_impl (const EigenBase< Derived > &_vec) |
template<int Mode, bool SetOpposite, typename DstXprType , typename SrcXprType , typename Functor > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_triangular_assignment_loop (DstXprType &dst, const SrcXprType &src, const Functor &func) |
template<int Mode, bool SetOpposite, typename DstXprType , typename SrcXprType > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void | call_triangular_assignment_loop (DstXprType &dst, const SrcXprType &src) |
template<typename T > | |
const T::Scalar * | extract_data (const T &m) |
bool | copy_bool (bool b) |
template<typename T > | |
EIGEN_DEVICE_FUNC void | ignore_unused_variable (const T &) |
EIGEN_DEVICE_FUNC void | throw_std_bad_alloc () |
void * | handmade_aligned_malloc (std::size_t size) |
void | handmade_aligned_free (void *ptr) |
void * | handmade_aligned_realloc (void *ptr, std::size_t size, std::size_t=0) |
EIGEN_DEVICE_FUNC void | check_that_malloc_is_allowed () |
EIGEN_DEVICE_FUNC void * | aligned_malloc (size_t size) |
EIGEN_DEVICE_FUNC void | aligned_free (void *ptr) |
void * | aligned_realloc (void *ptr, size_t new_size, size_t old_size) |
template<bool Align> | |
EIGEN_DEVICE_FUNC void * | conditional_aligned_malloc (size_t size) |
template<> | |
EIGEN_DEVICE_FUNC void * | conditional_aligned_malloc< false > (size_t size) |
template<bool Align> | |
EIGEN_DEVICE_FUNC void | conditional_aligned_free (void *ptr) |
template<> | |
EIGEN_DEVICE_FUNC void | conditional_aligned_free< false > (void *ptr) |
template<bool Align> | |
void * | conditional_aligned_realloc (void *ptr, size_t new_size, size_t old_size) |
template<> | |
void * | conditional_aligned_realloc< false > (void *ptr, size_t new_size, size_t) |
template<typename T > | |
EIGEN_DEVICE_FUNC void | destruct_elements_of_array (T *ptr, size_t size) |
template<typename T > | |
EIGEN_DEVICE_FUNC T * | construct_elements_of_array (T *ptr, size_t size) |
template<typename T > | |
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE void | check_size_for_overflow (size_t size) |
template<typename T > | |
EIGEN_DEVICE_FUNC T * | aligned_new (size_t size) |
template<typename T , bool Align> | |
EIGEN_DEVICE_FUNC T * | conditional_aligned_new (size_t size) |
template<typename T > | |
EIGEN_DEVICE_FUNC void | aligned_delete (T *ptr, size_t size) |
template<typename T , bool Align> | |
EIGEN_DEVICE_FUNC void | conditional_aligned_delete (T *ptr, size_t size) |
template<typename T , bool Align> | |
EIGEN_DEVICE_FUNC T * | conditional_aligned_realloc_new (T *pts, size_t new_size, size_t old_size) |
template<typename T , bool Align> | |
EIGEN_DEVICE_FUNC T * | conditional_aligned_new_auto (size_t size) |
template<typename T , bool Align> | |
T * | conditional_aligned_realloc_new_auto (T *pts, size_t new_size, size_t old_size) |
template<typename T , bool Align> | |
EIGEN_DEVICE_FUNC void | conditional_aligned_delete_auto (T *ptr, size_t size) |
template<int Alignment, typename Scalar , typename Index > | |
EIGEN_DEVICE_FUNC Index | first_aligned (const Scalar *array, Index size) |
template<typename Scalar , typename Index > | |
EIGEN_DEVICE_FUNC Index | first_default_aligned (const Scalar *array, Index size) |
template<typename Index > | |
Index | first_multiple (Index size, Index base) |
template<typename T > | |
EIGEN_DEVICE_FUNC void | smart_copy (const T *start, const T *end, T *target) |
template<typename T > | |
void | smart_memmove (const T *start, const T *end, T *target) |
template<typename T > | |
void | swap (scoped_array< T > &a, scoped_array< T > &b) |
void | queryCacheSizes (int &l1, int &l2, int &l3) |
int | queryL1CacheSize () |
int | queryTopLevelCacheSize () |
template<typename T > | |
const T * | return_ptr () |
template<typename IndexDest , typename IndexSrc > | |
EIGEN_DEVICE_FUNC IndexDest | convert_index (const IndexSrc &idx) |
template<typename T > | |
EIGEN_DEVICE_FUNC T * | const_cast_ptr (const T *ptr) |
template<typename T1 , typename T2 > | |
bool | is_same_dense (const T1 &mat1, const T2 &mat2, typename enable_if< has_direct_access< T1 >::ret &&has_direct_access< T2 >::ret, T1 >::type *=0) |
template<typename T1 , typename T2 > | |
bool | is_same_dense (const T1 &, const T2 &, typename enable_if<!(has_direct_access< T1 >::ret &&has_direct_access< T2 >::ret), T1 >::type *=0) |
EIGEN_MEMBER_FUNCTOR (squaredNorm, Size *NumTraits< Scalar >::MulCost+(Size-1) *NumTraits< Scalar >::AddCost) | |
EIGEN_MEMBER_FUNCTOR (norm,(Size+5) *NumTraits< Scalar >::MulCost+(Size-1) *NumTraits< Scalar >::AddCost) | |
EIGEN_MEMBER_FUNCTOR (stableNorm,(Size+5) *NumTraits< Scalar >::MulCost+(Size-1) *NumTraits< Scalar >::AddCost) | |
EIGEN_MEMBER_FUNCTOR (blueNorm,(Size+5) *NumTraits< Scalar >::MulCost+(Size-1) *NumTraits< Scalar >::AddCost) | |
EIGEN_MEMBER_FUNCTOR (hypotNorm,(Size-1) *functor_traits< scalar_hypot_op< Scalar > >::Cost) | |
EIGEN_MEMBER_FUNCTOR (sum,(Size-1) *NumTraits< Scalar >::AddCost) | |
EIGEN_MEMBER_FUNCTOR (mean,(Size-1) *NumTraits< Scalar >::AddCost+NumTraits< Scalar >::MulCost) | |
EIGEN_MEMBER_FUNCTOR (minCoeff,(Size-1) *NumTraits< Scalar >::AddCost) | |
EIGEN_MEMBER_FUNCTOR (maxCoeff,(Size-1) *NumTraits< Scalar >::AddCost) | |
EIGEN_MEMBER_FUNCTOR (all,(Size-1) *NumTraits< Scalar >::AddCost) | |
EIGEN_MEMBER_FUNCTOR (any,(Size-1) *NumTraits< Scalar >::AddCost) | |
EIGEN_MEMBER_FUNCTOR (count,(Size-1) *NumTraits< Scalar >::AddCost) | |
EIGEN_MEMBER_FUNCTOR (prod,(Size-1) *NumTraits< Scalar >::MulCost) | |
template<typename MatrixType , typename DiagType , typename SubDiagType > | |
ComputationInfo | computeFromTridiagonal_impl (DiagType &diag, SubDiagType &subdiag, const Index maxIterations, bool computeEigenvectors, MatrixType &eivec) |
template<typename MatrixType , typename CoeffVectorType > | |
void | tridiagonalization_inplace (MatrixType &matA, CoeffVectorType &hCoeffs) |
template<typename MatrixType , typename DiagonalType , typename SubDiagonalType > | |
void | tridiagonalization_inplace (MatrixType &mat, DiagonalType &diag, SubDiagonalType &subdiag, bool extractQ) |
Performs a full tridiagonalization in place. More... | |
template<typename TriangularFactorType , typename VectorsType , typename CoeffsType > | |
void | make_block_householder_triangular_factor (TriangularFactorType &triFactor, const VectorsType &vectors, const CoeffsType &hCoeffs) |
template<typename MatrixType , typename VectorsType , typename CoeffsType > | |
void | apply_block_householder_on_the_left (MatrixType &mat, const VectorsType &vectors, const CoeffsType &hCoeffs, bool forward) |
template<typename MatrixType , typename Rhs , typename Dest , typename Preconditioner > | |
bool | bicgstab (const MatrixType &mat, const Rhs &rhs, Dest &x, const Preconditioner &precond, Index &iters, typename Dest::RealScalar &tol_error) |
template<typename MatrixType , typename Rhs , typename Dest , typename Preconditioner > | |
EIGEN_DONT_INLINE void | conjugate_gradient (const MatrixType &mat, const Rhs &rhs, Dest &x, const Preconditioner &precond, Index &iters, typename Dest::RealScalar &tol_error) |
template<typename VectorV , typename VectorI > | |
Index | QuickSplit (VectorV &row, VectorI &ind, Index ncut) |
template<typename MatrixType , typename Rhs , typename Dest , typename Preconditioner > | |
EIGEN_DONT_INLINE void | least_square_conjugate_gradient (const MatrixType &mat, const Rhs &rhs, Dest &x, const Preconditioner &precond, Index &iters, typename Dest::RealScalar &tol_error) |
template<typename VectorX , typename VectorY , typename OtherScalar > | |
void | apply_rotation_in_the_plane (DenseBase< VectorX > &xpr_x, DenseBase< VectorY > &xpr_y, const JacobiRotation< OtherScalar > &j) |
Applies the clock wise 2D rotation j to the set of 2D vectors of cordinates x and y: \( \left ( \begin{array}{cc} x \\ y \end{array} \right ) = J \left ( \begin{array}{cc} x \\ y \end{array} \right ) \) More... | |
template<typename Derived > | |
const Derived::Scalar | bruteforce_det3_helper (const MatrixBase< Derived > &matrix, int a, int b, int c) |
template<typename Derived > | |
const Derived::Scalar | bruteforce_det4_helper (const MatrixBase< Derived > &matrix, int j, int k, int m, int n) |
template<typename MatrixType , typename ResultType > | |
EIGEN_DEVICE_FUNC void | compute_inverse_size2_helper (const MatrixType &matrix, const typename ResultType::Scalar &invdet, ResultType &result) |
template<typename MatrixType , int i, int j> | |
EIGEN_DEVICE_FUNC MatrixType::Scalar | cofactor_3x3 (const MatrixType &m) |
template<typename MatrixType , typename ResultType > | |
EIGEN_DEVICE_FUNC void | compute_inverse_size3_helper (const MatrixType &matrix, const typename ResultType::Scalar &invdet, const Matrix< typename ResultType::Scalar, 3, 1 > &cofactors_col0, ResultType &result) |
template<typename Derived > | |
EIGEN_DEVICE_FUNC const Derived::Scalar | general_det3_helper (const MatrixBase< Derived > &matrix, int i1, int i2, int i3, int j1, int j2, int j3) |
template<typename MatrixType , int i, int j> | |
EIGEN_DEVICE_FUNC MatrixType::Scalar | cofactor_4x4 (const MatrixType &matrix) |
template<typename MatrixType , typename TranspositionType > | |
void | partial_lu_inplace (MatrixType &lu, TranspositionType &row_transpositions, typename TranspositionType::StorageIndex &nb_transpositions) |
template<typename MatrixType , typename RealScalar , typename Index > | |
void | real_2x2_jacobi_svd (const MatrixType &matrix, Index p, Index q, JacobiRotation< RealScalar > *j_left, JacobiRotation< RealScalar > *j_right) |
template<typename T > | |
T | amd_flip (const T &i) |
template<typename T > | |
T | amd_unflip (const T &i) |
template<typename T0 , typename T1 > | |
bool | amd_marked (const T0 *w, const T1 &j) |
template<typename T0 , typename T1 > | |
void | amd_mark (const T0 *w, const T1 &j) |
template<typename StorageIndex > | |
StorageIndex | cs_tdfs (StorageIndex j, StorageIndex k, StorageIndex *head, const StorageIndex *next, StorageIndex *post, StorageIndex *stack) |
template<typename Scalar , typename StorageIndex > | |
void | minimum_degree_ordering (SparseMatrix< Scalar, ColMajor, StorageIndex > &C, PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) |
template<typename IndexType > | |
IndexType | colamd_c (IndexType n_col) |
template<typename IndexType > | |
IndexType | colamd_r (IndexType n_row) |
template<typename IndexType > | |
IndexType | colamd_recommended (IndexType nnz, IndexType n_row, IndexType n_col) |
Returns the recommended value of Alen. More... | |
template<typename MatrixType > | |
void | ordering_helper_at_plus_a (const MatrixType &A, MatrixType &symmat) |
void | eigen_pastix (pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, float *vals, int *perm, int *invp, float *x, int nbrhs, int *iparm, double *dparm) |
void | eigen_pastix (pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, double *vals, int *perm, int *invp, double *x, int nbrhs, int *iparm, double *dparm) |
void | eigen_pastix (pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, std::complex< float > *vals, int *perm, int *invp, std::complex< float > *x, int nbrhs, int *iparm, double *dparm) |
void | eigen_pastix (pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, std::complex< double > *vals, int *perm, int *invp, std::complex< double > *x, int nbrhs, int *iparm, double *dparm) |
template<typename MatrixType > | |
void | c_to_fortran_numbering (MatrixType &mat) |
template<typename MatrixType > | |
void | fortran_to_c_numbering (MatrixType &mat) |
template<typename MatrixQR , typename HCoeffs > | |
void | householder_qr_inplace_unblocked (MatrixQR &mat, HCoeffs &hCoeffs, typename MatrixQR::Scalar *tempData=0) |
template<typename DstXprType , typename SrcXprType > | |
void | assign_sparse_to_sparse (DstXprType &dst, const SrcXprType &src) |
template<typename Index , typename IndexVector > | |
Index | etree_find (Index i, IndexVector &pp) |
Find the root of the tree/set containing the vertex i : Use Path halving. | |
template<typename MatrixType , typename IndexVector > | |
int | coletree (const MatrixType &mat, IndexVector &parent, IndexVector &firstRowElt, typename MatrixType::StorageIndex *perm=0) |
Compute the column elimination tree of a sparse matrix. More... | |
template<typename IndexVector > | |
void | nr_etdfs (typename IndexVector::Scalar n, IndexVector &parent, IndexVector &first_kid, IndexVector &next_kid, IndexVector &post, typename IndexVector::Scalar postnum) |
Depth-first search from vertex n. More... | |
template<typename IndexVector > | |
void | treePostorder (typename IndexVector::Scalar n, IndexVector &parent, IndexVector &post) |
Post order a tree. More... | |
template<typename SparseLhsType , typename DenseRhsType , typename DenseResType , typename AlphaType > | |
void | sparse_time_dense_product (const SparseLhsType &lhs, const DenseRhsType &rhs, DenseResType &res, const AlphaType &alpha) |
template<typename InputIterator , typename SparseMatrixType , typename DupFunctor > | |
void | set_from_triplets (const InputIterator &begin, const InputIterator &end, SparseMatrixType &mat, DupFunctor dup_func) |
template<int SrcMode, int DstMode, typename MatrixType , int DestOrder> | |
void | permute_symm_to_symm (const MatrixType &mat, SparseMatrix< typename MatrixType::Scalar, DestOrder, typename MatrixType::StorageIndex > &_dest, const typename MatrixType::StorageIndex *perm=0) |
template<int Mode, typename MatrixType , int DestOrder> | |
void | permute_symm_to_fullsymm (const MatrixType &mat, SparseMatrix< typename MatrixType::Scalar, DestOrder, typename MatrixType::StorageIndex > &_dest, const typename MatrixType::StorageIndex *perm=0) |
template<int Mode, typename SparseLhsType , typename DenseRhsType , typename DenseResType , typename AlphaType > | |
void | sparse_selfadjoint_time_dense_product (const SparseLhsType &lhs, const DenseRhsType &rhs, DenseResType &res, const AlphaType &alpha) |
template<int _SrcMode, int _DstMode, typename MatrixType , int DstOrder> | |
void | permute_symm_to_symm (const MatrixType &mat, SparseMatrix< typename MatrixType::Scalar, DstOrder, typename MatrixType::StorageIndex > &_dest, const typename MatrixType::StorageIndex *perm) |
template<typename Decomposition , typename Rhs , typename Dest > | |
enable_if< Rhs::ColsAtCompileTime!=1 &&Dest::ColsAtCompileTime!=1 >::type | solve_sparse_through_dense_panels (const Decomposition &dec, const Rhs &rhs, Dest &dest) |
template<typename Decomposition , typename Rhs , typename Dest > | |
enable_if< Rhs::ColsAtCompileTime==1||Dest::ColsAtCompileTime==1 >::type | solve_sparse_through_dense_panels (const Decomposition &dec, const Rhs &rhs, Dest &dest) |
template<typename Scalar > | |
EIGEN_DONT_INLINE void | sparselu_gemm (Index m, Index n, Index d, const Scalar *A, Index lda, const Scalar *B, Index ldb, Scalar *C, Index ldc) |
Index | LUnumTempV (Index &m, Index &w, Index &t, Index &b) |
template<typename Scalar > | |
Index | LUTempSpace (Index &m, Index &w) |
template<typename MatrixType > | |
SluMatrix | asSluMatrix (MatrixType &mat) |
template<typename Scalar , int Flags, typename Index > | |
MappedSparseMatrix< Scalar, Flags, Index > | map_superlu (SluMatrix &sluMat) |
View a Super LU matrix as an Eigen expression. | |
template<typename MatrixType > | |
void | upperbidiagonalization_inplace_unblocked (MatrixType &mat, typename MatrixType::RealScalar *diagonal, typename MatrixType::RealScalar *upper_diagonal, typename MatrixType::Scalar *tempData=0) |
template<typename MatrixType > | |
void | upperbidiagonalization_blocked_helper (MatrixType &A, typename MatrixType::RealScalar *diagonal, typename MatrixType::RealScalar *upper_diagonal, Index bs, Ref< Matrix< typename MatrixType::Scalar, Dynamic, Dynamic, traits< MatrixType >::Flags &RowMajorBit > > X, Ref< Matrix< typename MatrixType::Scalar, Dynamic, Dynamic, traits< MatrixType >::Flags &RowMajorBit > > Y) |
template<typename MatrixType , typename BidiagType > | |
void | upperbidiagonalization_inplace_blocked (MatrixType &A, BidiagType &bidiagonal, Index maxBlockSize=32, typename MatrixType::Scalar *=0) |
template<typename Dst , template< typename > class StorageBase, typename Src , typename Func > | |
EIGEN_DEVICE_FUNC void | call_assignment (const NoAlias< Dst, StorageBase > &dst, const Src &src, const Func &func) |
template<typename T > | |
T | negate (const T &x) |
template<DenseIndex n, typename Index , std::size_t Rank> | |
const Index | array_get (DimensionList< Index, Rank > &) |
template<DenseIndex n, typename Index , std::size_t Rank> | |
const Index | array_get (const DimensionList< Index, Rank > &) |
template<typename std::ptrdiff_t... Indices> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t | array_prod (const Sizes< Indices... > &) |
template<std::ptrdiff_t n, typename std::ptrdiff_t... Indices> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t | array_get (const Sizes< Indices... > &) |
template<std::ptrdiff_t n> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t | array_get (const Sizes<> &) |
template<typename T > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T | RandomToTypeUniform (uint64_t *state) |
template<> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::half | RandomToTypeUniform< Eigen::half > (uint64_t *state) |
template<> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float | RandomToTypeUniform< float > (uint64_t *state) |
template<> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE double | RandomToTypeUniform< double > (uint64_t *state) |
template<> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::complex< float > | RandomToTypeUniform< std::complex< float > > (uint64_t *state) |
template<> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::complex< double > | RandomToTypeUniform< std::complex< double > > (uint64_t *state) |
template<typename T > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T | RandomToTypeNormal (uint64_t *state) |
template<> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::complex< float > | RandomToTypeNormal< std::complex< float > > (uint64_t *state) |
template<> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::complex< double > | RandomToTypeNormal< std::complex< double > > (uint64_t *state) |
template<typename HL , typename LL , typename HR , typename LR > | |
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool | operator== (const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs) |
template<typename HL , typename LL , typename HR , typename LR > | |
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool | operator!= (const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs) |
template<typename HL , typename LL , typename HR , typename LR > | |
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool | operator>= (const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs) |
template<typename HL , typename LL , typename HR , typename LR > | |
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool | operator< (const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs) |
template<typename HL , typename LL , typename HR , typename LR > | |
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE TensorUInt128< uint64_t, uint64_t > | operator+ (const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs) |
template<typename HL , typename LL , typename HR , typename LR > | |
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE TensorUInt128< uint64_t, uint64_t > | operator- (const TensorUInt128< HL, LL > &lhs, const TensorUInt128< HR, LR > &rhs) |
template<std::size_t I, class T > | |
constexpr T & | array_get (std::vector< T > &a) |
template<std::size_t I, class T > | |
constexpr T && | array_get (std::vector< T > &&a) |
template<std::size_t I, class T > | |
constexpr T const & | array_get (std::vector< T > const &a) |
template<std::size_t I, class T , std::size_t N> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T & | array_get (array< T, N > &a) |
template<std::size_t I, class T , std::size_t N> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & | array_get (const array< T, N > &a) |
template<int n, typename t > | |
array< t, n > | repeat (t v) |
template<std::size_t I, class Head , class Tail > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Head::type | array_get (type_list< Head, Tail > &) |
template<std::size_t I, class Head , class Tail > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Head::type | array_get (const type_list< Head, Tail > &) |
template<class NList > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE NList::HeadType::type | array_prod (const NList &) |
template<typename t , std::size_t n> | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE t | array_prod (const array< t, n > &a) |
template<typename t > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE t | array_prod (const array< t, 0 > &) |
template<typename t > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE t | array_prod (const std::vector< t > &a) |
template<std::size_t I, class T > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T & | array_get (std::vector< T > &a) |
template<std::size_t I, class T > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & | array_get (const std::vector< T > &a) |
template<typename Reducer , typename Op , typename A , std::size_t N> | |
bool | array_apply_and_reduce (const array< A, N > &a) |
template<typename Reducer , typename Op , typename A , typename B , std::size_t N> | |
bool | array_zip_and_reduce (const array< A, N > &a, const array< B, N > &b) |
template<typename A , typename B > | |
void | make_coherent (const A &a, const B &b) |
template<typename BVH , typename Intersector > | |
bool | intersect_helper (const BVH &tree, Intersector &intersector, typename BVH::Index root) |
template<typename BVH , typename Minimizer > | |
Minimizer::Scalar | minimize_helper (const BVH &tree, Minimizer &minimizer, typename BVH::Index root, typename Minimizer::Scalar minimum) |
template<typename T > | |
T * | fftw_cast (const T *p) |
fftw_complex * | fftw_cast (const std::complex< double > *p) |
fftwf_complex * | fftw_cast (const std::complex< float > *p) |
fftwl_complex * | fftw_cast (const std::complex< long double > *p) |
template<typename CMatrix , typename CINVMatrix > | |
void | pseudo_inverse (const CMatrix &C, CINVMatrix &CINV) |
Compute the pseudo inverse of the non-square matrix C such that \( CINV = (C * C^T)^{-1} * C \) based on a conjugate gradient method. More... | |
template<typename TMatrix , typename CMatrix , typename VectorX , typename VectorB , typename VectorF > | |
void | constrained_cg (const TMatrix &A, const CMatrix &C, VectorX &x, const VectorB &b, const VectorF &f, IterationController &iter) |
Constrained conjugate gradient. More... | |
template<typename VectorType , typename IndexType > | |
void | sortWithPermutation (VectorType &vec, IndexType &perm, typename IndexType::Scalar &ncut) |
Computes a permutation vector to have a sorted sequence. More... | |
template<typename MatrixType , typename Rhs , typename Dest , typename Preconditioner > | |
bool | gmres (const MatrixType &mat, const Rhs &rhs, Dest &x, const Preconditioner &precond, Index &iters, const Index &restart, typename Dest::RealScalar &tol_error) |
Generalized Minimal Residual Algorithm based on the Arnoldi algorithm implemented with Householder reflections. More... | |
template<typename MatrixType , typename Rhs , typename Dest , typename Preconditioner > | |
EIGEN_DONT_INLINE void | minres (const MatrixType &mat, const Rhs &rhs, Dest &x, const Preconditioner &precond, Index &iters, typename Dest::RealScalar &tol_error) |
template<typename QRSolver , typename VectorType > | |
void | lmpar2 (const QRSolver &qr, const VectorType &diag, const VectorType &qtb, typename VectorType::Scalar m_delta, typename VectorType::Scalar &par, VectorType &x) |
template<typename Scalar > | |
void | covar (Matrix< Scalar, Dynamic, Dynamic > &r, const VectorXi &ipvt, Scalar tol=std::sqrt(NumTraits< Scalar >::epsilon())) |
template<typename Scalar , int Rows, int Cols, typename PermIndex > | |
void | lmqrsolv (Matrix< Scalar, Rows, Cols > &s, const PermutationMatrix< Dynamic, Dynamic, PermIndex > &iPerm, const Matrix< Scalar, Dynamic, 1 > &diag, const Matrix< Scalar, Dynamic, 1 > &qtb, Matrix< Scalar, Dynamic, 1 > &x, Matrix< Scalar, Dynamic, 1 > &sdiag) |
template<typename Scalar , int _Options, typename Index > | |
void | lmqrsolv (SparseMatrix< Scalar, _Options, Index > &s, const PermutationMatrix< Dynamic, Dynamic > &iPerm, const Matrix< Scalar, Dynamic, 1 > &diag, const Matrix< Scalar, Dynamic, 1 > &qtb, Matrix< Scalar, Dynamic, 1 > &x, Matrix< Scalar, Dynamic, 1 > &sdiag) |
template<typename MatrixType > | |
void | matrix_exp_pade3 (const MatrixType &A, MatrixType &U, MatrixType &V) |
Compute the (3,3)-Padé approximant to the exponential. More... | |
template<typename MatrixType > | |
void | matrix_exp_pade5 (const MatrixType &A, MatrixType &U, MatrixType &V) |
Compute the (5,5)-Padé approximant to the exponential. More... | |
template<typename MatrixType > | |
void | matrix_exp_pade7 (const MatrixType &A, MatrixType &U, MatrixType &V) |
Compute the (7,7)-Padé approximant to the exponential. More... | |
template<typename MatrixType > | |
void | matrix_exp_pade9 (const MatrixType &A, MatrixType &U, MatrixType &V) |
Compute the (9,9)-Padé approximant to the exponential. More... | |
template<typename MatrixType > | |
void | matrix_exp_pade13 (const MatrixType &A, MatrixType &U, MatrixType &V) |
Compute the (13,13)-Padé approximant to the exponential. More... | |
template<typename MatrixType , typename ResultType > | |
void | matrix_exp_compute (const MatrixType &arg, ResultType &result) |
template<typename MatrixType > | |
NumTraits< typename MatrixType::Scalar >::Real | matrix_function_compute_mu (const MatrixType &A) |
template<typename Index , typename ListOfClusters > | |
ListOfClusters::iterator | matrix_function_find_cluster (Index key, ListOfClusters &clusters) |
Find cluster in clusters containing some value. More... | |
template<typename EivalsType , typename Cluster > | |
void | matrix_function_partition_eigenvalues (const EivalsType &eivals, std::list< Cluster > &clusters) |
Partition eigenvalues in clusters of ei'vals close to each other. More... | |
template<typename ListOfClusters , typename Index > | |
void | matrix_function_compute_cluster_size (const ListOfClusters &clusters, Matrix< Index, Dynamic, 1 > &clusterSize) |
Compute size of each cluster given a partitioning. | |
template<typename VectorType > | |
void | matrix_function_compute_block_start (const VectorType &clusterSize, VectorType &blockStart) |
Compute start of each block using clusterSize. | |
template<typename EivalsType , typename ListOfClusters , typename VectorType > | |
void | matrix_function_compute_map (const EivalsType &eivals, const ListOfClusters &clusters, VectorType &eivalToCluster) |
Compute mapping of eigenvalue indices to cluster indices. | |
template<typename DynVectorType , typename VectorType > | |
void | matrix_function_compute_permutation (const DynVectorType &blockStart, const DynVectorType &eivalToCluster, VectorType &permutation) |
Compute permutation which groups ei'vals in same cluster together. | |
template<typename VectorType , typename MatrixType > | |
void | matrix_function_permute_schur (VectorType &permutation, MatrixType &U, MatrixType &T) |
Permute Schur decomposition in U and T according to permutation. | |
template<typename MatrixType , typename AtomicType , typename VectorType > | |
void | matrix_function_compute_block_atomic (const MatrixType &T, AtomicType &atomic, const VectorType &blockStart, const VectorType &clusterSize, MatrixType &fT) |
Compute block diagonal part of matrix function. More... | |
template<typename MatrixType > | |
MatrixType | matrix_function_solve_triangular_sylvester (const MatrixType &A, const MatrixType &B, const MatrixType &C) |
Solve a triangular Sylvester equation AX + XB = C. More... | |
template<typename MatrixType , typename VectorType > | |
void | matrix_function_compute_above_diagonal (const MatrixType &T, const VectorType &blockStart, const VectorType &clusterSize, MatrixType &fT) |
Compute part of matrix function above block diagonal. More... | |
template<typename MatrixType > | |
void | matrix_log_compute_2x2 (const MatrixType &A, MatrixType &result) |
Compute logarithm of 2x2 triangular matrix. More... | |
int | matrix_log_get_pade_degree (float normTminusI) |
int | matrix_log_get_pade_degree (double normTminusI) |
int | matrix_log_get_pade_degree (long double normTminusI) |
template<typename MatrixType > | |
void | matrix_log_compute_pade (MatrixType &result, const MatrixType &T, int degree) |
template<typename MatrixType > | |
void | matrix_log_compute_big (const MatrixType &A, MatrixType &result) |
Compute logarithm of triangular matrices with size > 2. More... | |
template<typename MatrixType , typename ResultType > | |
void | matrix_sqrt_quasi_triangular_2x2_diagonal_block (const MatrixType &T, typename MatrixType::Index i, ResultType &sqrtT) |
template<typename MatrixType , typename ResultType > | |
void | matrix_sqrt_quasi_triangular_1x1_off_diagonal_block (const MatrixType &T, typename MatrixType::Index i, typename MatrixType::Index j, ResultType &sqrtT) |
template<typename MatrixType , typename ResultType > | |
void | matrix_sqrt_quasi_triangular_1x2_off_diagonal_block (const MatrixType &T, typename MatrixType::Index i, typename MatrixType::Index j, ResultType &sqrtT) |
template<typename MatrixType , typename ResultType > | |
void | matrix_sqrt_quasi_triangular_2x1_off_diagonal_block (const MatrixType &T, typename MatrixType::Index i, typename MatrixType::Index j, ResultType &sqrtT) |
template<typename MatrixType > | |
void | matrix_sqrt_quasi_triangular_solve_auxiliary_equation (MatrixType &X, const MatrixType &A, const MatrixType &B, const MatrixType &C) |
template<typename MatrixType , typename ResultType > | |
void | matrix_sqrt_quasi_triangular_2x2_off_diagonal_block (const MatrixType &T, typename MatrixType::Index i, typename MatrixType::Index j, ResultType &sqrtT) |
template<typename MatrixType , typename ResultType > | |
void | matrix_sqrt_quasi_triangular_diagonal (const MatrixType &T, ResultType &sqrtT) |
template<typename MatrixType , typename ResultType > | |
void | matrix_sqrt_quasi_triangular_off_diagonal (const MatrixType &T, ResultType &sqrtT) |
template<typename Scalar > | |
Scalar | stem_function_exp (Scalar x, int) |
The exponential function (and its derivatives). More... | |
template<typename Scalar > | |
Scalar | stem_function_cos (Scalar x, int n) |
Cosine (and its derivatives). More... | |
template<typename Scalar > | |
Scalar | stem_function_sin (Scalar x, int n) |
Sine (and its derivatives). More... | |
template<typename Scalar > | |
Scalar | stem_function_cosh (Scalar x, int n) |
Hyperbolic cosine (and its derivatives). More... | |
template<typename Scalar > | |
Scalar | stem_function_sinh (Scalar x, int n) |
Hyperbolic sine (and its derivatives). More... | |
template<typename Scalar > | |
void | chkder (const Matrix< Scalar, Dynamic, 1 > &x, const Matrix< Scalar, Dynamic, 1 > &fvec, const Matrix< Scalar, Dynamic, Dynamic > &fjac, Matrix< Scalar, Dynamic, 1 > &xp, const Matrix< Scalar, Dynamic, 1 > &fvecp, int mode, Matrix< Scalar, Dynamic, 1 > &err) |
template<typename Scalar > | |
void | dogleg (const Matrix< Scalar, Dynamic, Dynamic > &qrfac, const Matrix< Scalar, Dynamic, 1 > &diag, const Matrix< Scalar, Dynamic, 1 > &qtb, Scalar delta, Matrix< Scalar, Dynamic, 1 > &x) |
template<typename FunctorType , typename Scalar > | |
DenseIndex | fdjac1 (const FunctorType &Functor, Matrix< Scalar, Dynamic, 1 > &x, Matrix< Scalar, Dynamic, 1 > &fvec, Matrix< Scalar, Dynamic, Dynamic > &fjac, DenseIndex ml, DenseIndex mu, Scalar epsfcn) |
template<typename Scalar > | |
void | lmpar (Matrix< Scalar, Dynamic, Dynamic > &r, const VectorXi &ipvt, const Matrix< Scalar, Dynamic, 1 > &diag, const Matrix< Scalar, Dynamic, 1 > &qtb, Scalar delta, Scalar &par, Matrix< Scalar, Dynamic, 1 > &x) |
template<typename Scalar > | |
void | lmpar2 (const ColPivHouseholderQR< Matrix< Scalar, Dynamic, Dynamic > > &qr, const Matrix< Scalar, Dynamic, 1 > &diag, const Matrix< Scalar, Dynamic, 1 > &qtb, Scalar delta, Scalar &par, Matrix< Scalar, Dynamic, 1 > &x) |
template<typename Scalar > | |
void | qrsolv (Matrix< Scalar, Dynamic, Dynamic > &s, const VectorXi &ipvt, const Matrix< Scalar, Dynamic, 1 > &diag, const Matrix< Scalar, Dynamic, 1 > &qtb, Matrix< Scalar, Dynamic, 1 > &x, Matrix< Scalar, Dynamic, 1 > &sdiag) |
template<typename Scalar > | |
void | r1mpyq (DenseIndex m, DenseIndex n, Scalar *a, const std::vector< JacobiRotation< Scalar > > &v_givens, const std::vector< JacobiRotation< Scalar > > &w_givens) |
template<typename Scalar > | |
void | r1updt (Matrix< Scalar, Dynamic, Dynamic > &s, const Matrix< Scalar, Dynamic, 1 > &u, std::vector< JacobiRotation< Scalar > > &v_givens, std::vector< JacobiRotation< Scalar > > &w_givens, Matrix< Scalar, Dynamic, 1 > &v, Matrix< Scalar, Dynamic, 1 > &w, bool *sing) |
template<typename Scalar > | |
void | rwupdt (Matrix< Scalar, Dynamic, Dynamic > &r, const Matrix< Scalar, Dynamic, 1 > &w, Matrix< Scalar, Dynamic, 1 > &b, Scalar alpha) |
template<typename T > | |
T | radix () |
template<typename T > | |
T | radix2 () |
template<typename Lhs , typename Rhs , typename Dest > | |
EIGEN_DONT_INLINE void | skyline_row_major_time_dense_product (const Lhs &lhs, const Rhs &rhs, Dest &dst) |
template<typename Lhs , typename Rhs , typename Dest > | |
EIGEN_DONT_INLINE void | skyline_col_major_time_dense_product (const Lhs &lhs, const Rhs &rhs, Dest &dst) |
template<typename Scalar > | |
bool | GetMarketLine (std::stringstream &line, Index &M, Index &N, Index &i, Index &j, Scalar &value) |
template<typename Scalar > | |
bool | GetMarketLine (std::stringstream &line, Index &M, Index &N, Index &i, Index &j, std::complex< Scalar > &value) |
template<typename RealScalar > | |
void | GetVectorElt (const std::string &line, RealScalar &val) |
template<typename RealScalar > | |
void | GetVectorElt (const std::string &line, std::complex< RealScalar > &val) |
template<typename Scalar > | |
void | putMarketHeader (std::string &header, int sym) |
template<typename Scalar > | |
void | PutMatrixElt (Scalar value, int row, int col, std::ofstream &out) |
template<typename Scalar > | |
void | PutMatrixElt (std::complex< Scalar > value, int row, int col, std::ofstream &out) |
template<typename Scalar > | |
void | putVectorElt (Scalar value, std::ofstream &out) |
template<typename Scalar > | |
void | putVectorElt (std::complex< Scalar > value, std::ofstream &out) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | plgamma (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | pdigamma (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | pzeta (const Packet &x, const Packet &q) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | ppolygamma (const Packet &n, const Packet &x) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | perf (const Packet &a) |
template<typename Packet > | |
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet | perfc (const Packet &a) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet | pigamma (const Packet &a, const Packet &x) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet | pigammac (const Packet &a, const Packet &x) |
template<typename Packet > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet | pbetainc (const Packet &a, const Packet &b, const Packet &x) |
Variables | |
const std::ptrdiff_t | defaultL1CacheSize = 16*1024 |
const std::ptrdiff_t | defaultL2CacheSize = 512*1024 |
const std::ptrdiff_t | defaultL3CacheSize = 512*1024 |
template <class> class MakePointer_ is added to convert the host pointer to the device pointer.
It is added due to the fact that for our device compiler T* is not allowed. If we wanted to use the same Evaluator functions we have to convert that type to our pointer T. This is done through our MakePointer_ class. By default the Type in the MakePointer_<T> is T* . Therefore, by adding the default value, we managed to convert the type and it does not break any existing code as its default value is T*.
void Eigen::internal::apply_rotation_in_the_plane | ( | DenseBase< VectorX > & | xpr_x, |
DenseBase< VectorY > & | xpr_y, | ||
const JacobiRotation< OtherScalar > & | j | ||
) |
Applies the clock wise 2D rotation j to the set of 2D vectors of cordinates x and y: \( \left ( \begin{array}{cc} x \\ y \end{array} \right ) = J \left ( \begin{array}{cc} x \\ y \end{array} \right ) \)
|
inline |
Returns the recommended value of Alen.
Returns recommended value of Alen for use by colamd. Returns -1 if any input argument is negative. The use of this routine or macro is optional. Note that the macro uses its arguments more than once, so be careful for side effects, if you pass expressions as arguments to COLAMD_RECOMMENDED.
nnz | nonzeros in A |
n_row | number of rows in A |
n_col | number of columns in A |
int Eigen::internal::coletree | ( | const MatrixType & | mat, |
IndexVector & | parent, | ||
IndexVector & | firstRowElt, | ||
typename MatrixType::StorageIndex * | perm = 0 |
||
) |
Compute the column elimination tree of a sparse matrix.
mat | The matrix in column-major format. |
parent | The elimination tree |
firstRowElt | The column index of the first element in each row |
perm | The permutation to apply to the column of mat |
void Eigen::internal::computeProductBlockingSizes | ( | Index & | k, |
Index & | m, | ||
Index & | n, | ||
Index | num_threads = 1 |
||
) |
Computes the blocking parameters for a m x k times k x n matrix product.
[in,out] | k | Input: the third dimension of the product. Output: the blocking size along the same dimension. |
[in,out] | m | Input: the number of rows of the left hand side. Output: the blocking size along the same dimension. |
[in,out] | n | Input: the number of columns of the right hand side. Output: the blocking size along the same dimension. |
Given a m x k times k x n matrix product of scalar types LhsScalar
and RhsScalar
, this function computes the blocking size parameters along the respective dimensions for matrix products and related algorithms.
The blocking size parameters may be evaluated:
void Eigen::internal::constrained_cg | ( | const TMatrix & | A, |
const CMatrix & | C, | ||
VectorX & | x, | ||
const VectorB & | b, | ||
const VectorF & | f, | ||
IterationController & | iter | ||
) |
Constrained conjugate gradient.
Computes the minimum of \( 1/2((Ax).x) - bx \) under the contraint \( Cx \le f \)
bool Eigen::internal::gmres | ( | const MatrixType & | mat, |
const Rhs & | rhs, | ||
Dest & | x, | ||
const Preconditioner & | precond, | ||
Index & | iters, | ||
const Index & | restart, | ||
typename Dest::RealScalar & | tol_error | ||
) |
Generalized Minimal Residual Algorithm based on the Arnoldi algorithm implemented with Householder reflections.
Parameters:
mat | matrix of linear system of equations |
Rhs | right hand side vector of linear system of equations |
x | on input: initial guess, on output: solution |
precond | preconditioner used |
iters | on input: maximum number of iterations to perform on output: number of iterations performed |
restart | number of iterations for a restart |
tol_error | on input: relative residual tolerance on output: residuum achieved |
For references, please see:
Saad, Y. and Schultz, M. H. GMRES: A Generalized Minimal Residual Algorithm for Solving Nonsymmetric Linear Systems. SIAM J.Sci.Stat.Comp. 7, 1986, pp. 856 - 869.
Saad, Y. Iterative Methods for Sparse Linear Systems. Society for Industrial and Applied Mathematics, Philadelphia, 2003.
Walker, H. F. Implementations of the GMRES method. Comput.Phys.Comm. 53, 1989, pp. 311 - 320.
Walker, H. F. Implementation of the GMRES Method using Householder Transformations. SIAM J.Sci.Stat.Comp. 9, 1988, pp. 152 - 163.
void Eigen::internal::matrix_exp_pade13 | ( | const MatrixType & | A, |
MatrixType & | U, | ||
MatrixType & | V | ||
) |
Compute the (13,13)-Padé approximant to the exponential.
After exit, \( (V+U)(V-U)^{-1} \) is the Padé approximant of \( \exp(A) \) around \( A = 0 \).
void Eigen::internal::matrix_exp_pade3 | ( | const MatrixType & | A, |
MatrixType & | U, | ||
MatrixType & | V | ||
) |
Compute the (3,3)-Padé approximant to the exponential.
After exit, \( (V+U)(V-U)^{-1} \) is the Padé approximant of \( \exp(A) \) around \( A = 0 \).
void Eigen::internal::matrix_exp_pade5 | ( | const MatrixType & | A, |
MatrixType & | U, | ||
MatrixType & | V | ||
) |
Compute the (5,5)-Padé approximant to the exponential.
After exit, \( (V+U)(V-U)^{-1} \) is the Padé approximant of \( \exp(A) \) around \( A = 0 \).
void Eigen::internal::matrix_exp_pade7 | ( | const MatrixType & | A, |
MatrixType & | U, | ||
MatrixType & | V | ||
) |
Compute the (7,7)-Padé approximant to the exponential.
After exit, \( (V+U)(V-U)^{-1} \) is the Padé approximant of \( \exp(A) \) around \( A = 0 \).
void Eigen::internal::matrix_exp_pade9 | ( | const MatrixType & | A, |
MatrixType & | U, | ||
MatrixType & | V | ||
) |
Compute the (9,9)-Padé approximant to the exponential.
After exit, \( (V+U)(V-U)^{-1} \) is the Padé approximant of \( \exp(A) \) around \( A = 0 \).
void Eigen::internal::matrix_function_compute_above_diagonal | ( | const MatrixType & | T, |
const VectorType & | blockStart, | ||
const VectorType & | clusterSize, | ||
MatrixType & | fT | ||
) |
Compute part of matrix function above block diagonal.
This routine completes the computation of fT
, denoting a matrix function applied to the triangular matrix T
. It assumes that the block diagonal part of fT
has already been computed. The part below the diagonal is zero, because T
is upper triangular.
void Eigen::internal::matrix_function_compute_block_atomic | ( | const MatrixType & | T, |
AtomicType & | atomic, | ||
const VectorType & | blockStart, | ||
const VectorType & | clusterSize, | ||
MatrixType & | fT | ||
) |
Compute block diagonal part of matrix function.
This routine computes the matrix function applied to the block diagonal part of T
(which should be upper triangular), with the blocking given by blockStart
and clusterSize
. The matrix function of each diagonal block is computed by atomic
. The off-diagonal parts of fT
are set to zero.
ListOfClusters::iterator Eigen::internal::matrix_function_find_cluster | ( | Index | key, |
ListOfClusters & | clusters | ||
) |
Find cluster in clusters
containing some value.
[in] | key | Value to find |
key
, or clusters.end()
if no cluster in m_clusters
contains key
. void Eigen::internal::matrix_function_partition_eigenvalues | ( | const EivalsType & | eivals, |
std::list< Cluster > & | clusters | ||
) |
Partition eigenvalues in clusters of ei'vals close to each other.
[in] | eivals | Eigenvalues |
[out] | clusters | Resulting partition of eigenvalues |
The partition satisfies the following two properties:
in the same cluster.
The implementation follows Algorithm 4.1 in the paper of Davies and Higham.
MatrixType Eigen::internal::matrix_function_solve_triangular_sylvester | ( | const MatrixType & | A, |
const MatrixType & | B, | ||
const MatrixType & | C | ||
) |
Solve a triangular Sylvester equation AX + XB = C.
[in] | A | the matrix A; should be square and upper triangular |
[in] | B | the matrix B; should be square and upper triangular |
[in] | C | the matrix C; should have correct size. |
If A is m-by-m and B is n-by-n, then both C and X are m-by-n. The (i,j)-th component of the Sylvester equation is
\[ \sum_{k=i}^m A_{ik} X_{kj} + \sum_{k=1}^j X_{ik} B_{kj} = C_{ij}. \]
This can be re-arranged to yield:
\[ X_{ij} = \frac{1}{A_{ii} + B_{jj}} \Bigl( C_{ij} - \sum_{k=i+1}^m A_{ik} X_{kj} - \sum_{k=1}^{j-1} X_{ik} B_{kj} \Bigr). \]
It is assumed that A and B are such that the numerator is never zero (otherwise the Sylvester equation does not have a unique solution). In that case, these equations can be evaluated in the order \( i=m,\ldots,1 \) and \( j=1,\ldots,n \).
void Eigen::internal::matrix_log_compute_2x2 | ( | const MatrixType & | A, |
MatrixType & | result | ||
) |
Compute logarithm of 2x2 triangular matrix.
void Eigen::internal::matrix_log_compute_big | ( | const MatrixType & | A, |
MatrixType & | result | ||
) |
Compute logarithm of triangular matrices with size > 2.
This uses a inverse scale-and-square algorithm.
void Eigen::internal::nr_etdfs | ( | typename IndexVector::Scalar | n, |
IndexVector & | parent, | ||
IndexVector & | first_kid, | ||
IndexVector & | next_kid, | ||
IndexVector & | post, | ||
typename IndexVector::Scalar | postnum | ||
) |
Depth-first search from vertex n.
No recursion. This routine was contributed by Cédric Doucet, CEDRAT Group, Meylan, France.
void Eigen::internal::pseudo_inverse | ( | const CMatrix & | C, |
CINVMatrix & | CINV | ||
) |
Compute the pseudo inverse of the non-square matrix C such that \( CINV = (C * C^T)^{-1} * C \) based on a conjugate gradient method.
This function is internally used by constrained_cg.
Decomposition::RealScalar Eigen::internal::rcond_estimate_helper | ( | typename Decomposition::RealScalar | matrix_norm, |
const Decomposition & | dec | ||
) |
Reciprocal condition number estimator.
Computing a decomposition of a dense matrix takes O(n^3) operations, while this method estimates the condition number quickly and reliably in O(n^2) operations.
Decomposition::RealScalar Eigen::internal::rcond_invmatrix_L1_norm_estimate | ( | const Decomposition & | dec | ) |
This function implements Algorithms 4.1 and 5.1 from http://www.maths.manchester.ac.uk/~higham/narep/narep135.pdf which also forms the basis for the condition number estimators in LAPACK. Since at most 10 calls to the solve method of dec are performed, the total cost is O(dims^2), as opposed to O(dims^3) needed to compute the inverse matrix explicitly.
The most common usage is in estimating the condition number ||matrix||_1 * ||inv(matrix)||_1. The first term ||matrix||_1 can be computed directly in O(n^2) operations.
Supports the following decompositions: FullPivLU, PartialPivLU, LDLT, and LLT.
void Eigen::internal::sortWithPermutation | ( | VectorType & | vec, |
IndexType & | perm, | ||
typename IndexType::Scalar & | ncut | ||
) |
Computes a permutation vector to have a sorted sequence.
vec | The vector to reorder. |
perm | gives the sorted sequence on output. Must be initialized with 0..n-1 |
ncut | Put the ncut smallest elements at the end of the vector WARNING This is an expensive sort, so should be used only for small size vectors TODO Use modified QuickSplit or std::nth_element to get the smallest values |
Scalar Eigen::internal::stem_function_cos | ( | Scalar | x, |
int | n | ||
) |
Cosine (and its derivatives).
Scalar Eigen::internal::stem_function_cosh | ( | Scalar | x, |
int | n | ||
) |
Hyperbolic cosine (and its derivatives).
Scalar Eigen::internal::stem_function_exp | ( | Scalar | x, |
int | |||
) |
The exponential function (and its derivatives).
Scalar Eigen::internal::stem_function_sin | ( | Scalar | x, |
int | n | ||
) |
Sine (and its derivatives).
Scalar Eigen::internal::stem_function_sinh | ( | Scalar | x, |
int | n | ||
) |
Hyperbolic sine (and its derivatives).
void Eigen::internal::treePostorder | ( | typename IndexVector::Scalar | n, |
IndexVector & | parent, | ||
IndexVector & | post | ||
) |
Post order a tree.
n | the number of nodes |
parent | Input tree |
post | postordered tree |
void Eigen::internal::tridiagonalization_inplace | ( | MatrixType & | mat, |
DiagonalType & | diag, | ||
SubDiagonalType & | subdiag, | ||
bool | extractQ | ||
) |
Performs a full tridiagonalization in place.
[in,out] | mat | On input, the selfadjoint matrix whose tridiagonal decomposition is to be computed. Only the lower triangular part referenced. The rest is left unchanged. On output, the orthogonal matrix Q in the decomposition if extractQ is true. |
[out] | diag | The diagonal of the tridiagonal matrix T in the decomposition. |
[out] | subdiag | The subdiagonal of the tridiagonal matrix T in the decomposition. |
[in] | extractQ | If true, the orthogonal matrix Q in the decomposition is computed and stored in mat . |
Computes the tridiagonal decomposition of the selfadjoint matrix mat
in place such that \( mat = Q T Q^* \) where \( Q \) is unitary and \( T \) a real symmetric tridiagonal matrix.
The tridiagonal matrix T is passed to the output parameters diag
and subdiag
. If extractQ
is true, then the orthogonal matrix Q is passed to mat
. Otherwise the lower part of the matrix mat
is destroyed.
The vectors diag
and subdiag
are not resized. The function assumes that they are already of the correct size. The length of the vector diag
should equal the number of rows in mat
, and the length of the vector subdiag
should be one left.
This implementation contains an optimized path for 3-by-3 matrices which is especially useful for plane fitting.
Example (this uses the same matrix as the example in Tridiagonalization::Tridiagonalization(const MatrixType&)):
Output: