10#ifndef EIGEN_ASSIGNMENT_FUNCTORS_H
11#define EIGEN_ASSIGNMENT_FUNCTORS_H
21template<
typename DstScalar,
typename SrcScalar>
struct assign_op {
26 template<
int Alignment,
typename Packet>
28 { internal::pstoret<DstScalar,Packet,Alignment>(a,
b); }
32template<
typename DstScalar>
struct assign_op<DstScalar,void> {};
34template<
typename DstScalar,
typename SrcScalar>
51 template<
int Alignment,
typename Packet>
53 { internal::pstoret<DstScalar,Packet,Alignment>(a,
internal::padd(internal::ploadt<Packet,Alignment>(a),
b)); }
55template<
typename DstScalar,
typename SrcScalar>
72 template<
int Alignment,
typename Packet>
74 { internal::pstoret<DstScalar,Packet,Alignment>(a,
internal::psub(internal::ploadt<Packet,Alignment>(a),
b)); }
76template<
typename DstScalar,
typename SrcScalar>
88template<
typename DstScalar,
typename SrcScalar=DstScalar>
94 template<
int Alignment,
typename Packet>
96 { internal::pstoret<DstScalar,Packet,Alignment>(a,
internal::pmul(internal::ploadt<Packet,Alignment>(a),
b)); }
98template<
typename DstScalar,
typename SrcScalar>
110template<
typename DstScalar,
typename SrcScalar=DstScalar>
struct div_assign_op {
115 template<
int Alignment,
typename Packet>
117 { internal::pstoret<DstScalar,Packet,Alignment>(a,
internal::pdiv(internal::ploadt<Packet,Alignment>(a),
b)); }
119template<
typename DstScalar,
typename SrcScalar>
149 Scalar t=
b;
const_cast<Scalar&
>(
b)=a; a=t;
152 swap(a,
const_cast<Scalar&
>(
b));
156template<
typename Scalar>
161 #if defined(EIGEN_VECTORIZE_AVX) && EIGEN_COMP_CLANG && (EIGEN_COMP_CLANG<800 || defined(__apple_build_version__))
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:986
#define EIGEN_STRONG_INLINE
Definition: Macros.h:927
#define EIGEN_EMPTY_STRUCT_CTOR(X)
Definition: XprHelper.h:22
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:244
EIGEN_DEVICE_FUNC Packet pmul(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:237
EIGEN_DEVICE_FUNC Packet psub(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:222
DoublePacket< Packet > padd(const DoublePacket< Packet > &a, const DoublePacket< Packet > &b)
Definition: GeneralBlockPanelKernel.h:689
void swap(scoped_array< T > &a, scoped_array< T > &b)
Definition: Memory.h:709
Namespace containing all symbols from the Eigen library.
Definition: MatrixExponential.h:16
Definition: Eigen_Colamd.h:50
void swap(wpi::SmallVectorImpl< T > &LHS, wpi::SmallVectorImpl< T > &RHS)
Implement std::swap in terms of SmallVector swap.
Definition: SmallVector.h:1299
Holds information about the various numeric (i.e.
Definition: NumTraits.h:233
Definition: AssignmentFunctors.h:46
EIGEN_STRONG_INLINE void assignPacket(DstScalar *a, const Packet &b) const
Definition: AssignmentFunctors.h:52
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(DstScalar &a, const SrcScalar &b) const
Definition: AssignmentFunctors.h:49
Definition: AssignmentFunctors.h:21
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(DstScalar &a, const SrcScalar &b) const
Definition: AssignmentFunctors.h:24
EIGEN_STRONG_INLINE void assignPacket(DstScalar *a, const Packet &b) const
Definition: AssignmentFunctors.h:27
Definition: AssignmentFunctors.h:110
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(DstScalar &a, const SrcScalar &b) const
Definition: AssignmentFunctors.h:113
EIGEN_STRONG_INLINE void assignPacket(DstScalar *a, const Packet &b) const
Definition: AssignmentFunctors.h:116
Definition: XprHelper.h:176
@ PacketAccess
Definition: XprHelper.h:180
@ Cost
Definition: XprHelper.h:179
Definition: AssignmentFunctors.h:89
EIGEN_STRONG_INLINE void assignPacket(DstScalar *a, const Packet &b) const
Definition: AssignmentFunctors.h:95
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(DstScalar &a, const SrcScalar &b) const
Definition: AssignmentFunctors.h:92
Definition: GenericPacketMath.h:107
Definition: AssignmentFunctors.h:67
EIGEN_STRONG_INLINE void assignPacket(DstScalar *a, const Packet &b) const
Definition: AssignmentFunctors.h:73
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(DstScalar &a, const SrcScalar &b) const
Definition: AssignmentFunctors.h:70
Definition: AssignmentFunctors.h:142
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(Scalar &a, const Scalar &b) const
Definition: AssignmentFunctors.h:145