10#ifndef EIGEN_BINARY_FUNCTORS_H
11#define EIGEN_BINARY_FUNCTORS_H
19template<
typename Arg1,
typename Arg2>
31template<
typename LhsScalar,
typename RhsScalar>
35#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN
43 template<
typename Packet>
46 template<
typename Packet>
50template<
typename LhsScalar,
typename RhsScalar>
69template<
typename LhsScalar,
typename RhsScalar>
73#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN
81 template<
typename Packet>
84 template<
typename Packet>
88template<
typename LhsScalar,
typename RhsScalar>
106template<
typename LhsScalar,
typename RhsScalar>
120 template<
typename Packet>
124template<
typename LhsScalar,
typename RhsScalar>
137template<
typename LhsScalar,
typename RhsScalar,
int NaNPropagation>
145 template<
typename Packet>
150 template<
typename Packet>
157template<
typename LhsScalar,
typename RhsScalar,
int NaNPropagation>
170template<
typename LhsScalar,
typename RhsScalar,
int NaNPropagation>
178 template<
typename Packet>
183 template<
typename Packet>
190template<
typename LhsScalar,
typename RhsScalar,
int NaNPropagation>
202template<
typename LhsScalar,
typename RhsScalar, ComparisonName cmp>
struct scalar_cmp_op;
204template<
typename LhsScalar,
typename RhsScalar, ComparisonName cmp>
212template<ComparisonName Cmp,
typename LhsScalar,
typename RhsScalar>
218template<
typename LhsScalar,
typename RhsScalar>
225template<
typename LhsScalar,
typename RhsScalar>
232template<
typename LhsScalar,
typename RhsScalar>
239template<
typename LhsScalar,
typename RhsScalar>
246template<
typename LhsScalar,
typename RhsScalar>
253template<
typename LhsScalar,
typename RhsScalar>
260template<
typename LhsScalar,
typename RhsScalar>
273template<
typename Scalar>
288template<
typename Scalar>
303template<
typename Scalar,
typename Exponent>
307#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN
320 template<
typename Packet>
327template<
typename Scalar,
typename Exponent>
348template<
typename LhsScalar,
typename RhsScalar>
352#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN
360 template<
typename Packet>
364template<
typename LhsScalar,
typename RhsScalar>
377template<
typename LhsScalar,
typename RhsScalar>
381#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN
389 template<
typename Packet>
393template<
typename LhsScalar,
typename RhsScalar>
412 template<
typename Packet>
431 template<
typename Packet>
450 template<
typename Packet>
466template<
typename LhsScalar,
typename RhsScalar>
470#ifndef EIGEN_SCALAR_BINARY_OP_PLUGIN
479 template<
typename Packet>
483template<
typename LhsScalar,
typename RhsScalar>
509 template<
typename Packet>
528 template<
typename Packet>
ArrayXXi a
Definition Array_initializer_list_23_cxx11.cpp:1
#define EIGEN_DEVICE_FUNC
Definition Macros.h:976
#define EIGEN_STRONG_INLINE
Definition Macros.h:917
#define EIGEN_EMPTY_STRUCT_CTOR(X)
Definition XprHelper.h:22
Scalar * b
Definition benchVecAdd.cpp:17
SCALAR Scalar
Definition bench_gemm.cpp:46
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Definition gnuplot_common_settings.hh:12
#define EIGEN_SCALAR_BINARY_OP_PLUGIN
Definition linearstructure.cpp:12
EIGEN_DEVICE_FUNC Packet padd(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:215
@ cmp_NEQ
Definition Constants.h:555
@ cmp_EQ
Definition Constants.h:551
@ cmp_GT
Definition Constants.h:556
@ cmp_LT
Definition Constants.h:552
@ cmp_GE
Definition Constants.h:557
@ cmp_LE
Definition Constants.h:553
@ cmp_UNORD
Definition Constants.h:554
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux(const Packet &a)
Definition GenericPacketMath.h:875
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet generic_pow(const Packet &x, const Packet &y)
Definition GenericPacketMathFunctions.h:1449
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE RealScalar positive_real_hypot(const RealScalar &x, const RealScalar &y)
Definition MathFunctionsImpl.h:80
const Scalar & y
Definition MathFunctions.h:821
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:244
EIGEN_STRONG_INLINE Packet8h por(const Packet8h &a, const Packet8h &b)
Definition PacketMath.h:1042
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_mul(const Packet &a)
Definition GenericPacketMath.h:882
EIGEN_DEVICE_FUNC Packet pmul(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:237
EIGEN_DEVICE_FUNC Packet pabsdiff(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:595
EIGEN_STRONG_INLINE Packet8h pand(const Packet8h &a, const Packet8h &b)
Definition PacketMath.h:1050
EIGEN_STRONG_INLINE Packet8h pxor(const Packet8h &a, const Packet8h &b)
Definition PacketMath.h:1047
EIGEN_DEVICE_FUNC Packet psub(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:222
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T absdiff(const T &x, const T &y)
Definition MathFunctions.h:1296
EIGEN_DEVICE_FUNC internal::pow_impl< ScalarX, ScalarY >::result_type pow(const ScalarX &x, const ScalarY &y)
Definition MathFunctions.h:1361
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
Definition BandTriangularSolver.h:13
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition NumTraits.h:233
Determines whether the given binary operation of two numeric types is allowed and what the scalar ret...
Definition XprHelper.h:806
Definition BinaryFunctors.h:21
Arg1 first_argument_type
Definition BinaryFunctors.h:22
Arg2 second_argument_type
Definition BinaryFunctors.h:23
Definition BinaryFunctors.h:499
BinaryOp::second_argument_type second_argument_type
Definition BinaryFunctors.h:502
EIGEN_DEVICE_FUNC bind1st_op(const first_argument_type &val)
Definition BinaryFunctors.h:505
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &b) const
Definition BinaryFunctors.h:510
first_argument_type m_value
Definition BinaryFunctors.h:513
BinaryOp::first_argument_type first_argument_type
Definition BinaryFunctors.h:501
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const second_argument_type &b) const
Definition BinaryFunctors.h:507
BinaryOp::result_type result_type
Definition BinaryFunctors.h:503
Definition BinaryFunctors.h:518
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a) const
Definition BinaryFunctors.h:529
BinaryOp::first_argument_type first_argument_type
Definition BinaryFunctors.h:520
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const first_argument_type &a) const
Definition BinaryFunctors.h:526
BinaryOp::second_argument_type second_argument_type
Definition BinaryFunctors.h:521
second_argument_type m_value
Definition BinaryFunctors.h:532
EIGEN_DEVICE_FUNC bind2nd_op(const second_argument_type &val)
Definition BinaryFunctors.h:524
BinaryOp::result_type result_type
Definition BinaryFunctors.h:522
scalar_quotient_op< LhsScalar, RhsScalar >::result_type result_type
Definition BinaryFunctors.h:395
Definition XprHelper.h:176
@ PacketAccess
Definition XprHelper.h:180
@ Cost
Definition XprHelper.h:179
Definition GenericPacketMath.h:107
bool type
Definition BinaryFunctors.h:214
Definition BinaryFunctors.h:468
ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_absolute_difference_op >::ReturnType result_type
Definition BinaryFunctors.h:469
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const LhsScalar &a, const RhsScalar &b) const
Definition BinaryFunctors.h:477
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:480
Definition BinaryFunctors.h:409
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:413
Definition BinaryFunctors.h:428
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:432
Definition BinaryFunctors.h:447
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:451
bool result_type
Definition BinaryFunctors.h:221
bool result_type
Definition BinaryFunctors.h:249
bool result_type
Definition BinaryFunctors.h:242
bool result_type
Definition BinaryFunctors.h:235
bool result_type
Definition BinaryFunctors.h:228
bool result_type
Definition BinaryFunctors.h:263
bool result_type
Definition BinaryFunctors.h:256
Definition BinaryFunctors.h:202
Definition BinaryFunctors.h:108
ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_conj_product_op >::ReturnType result_type
Definition BinaryFunctors.h:114
@ Conj
Definition BinaryFunctors.h:111
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:121
Definition BinaryFunctors.h:350
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:361
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const LhsScalar &a, const RhsScalar &b) const
Definition BinaryFunctors.h:359
ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_difference_op >::ReturnType result_type
Definition BinaryFunctors.h:351
Definition XprHelper.h:710
Definition ForwardDeclarations.h:210
Definition BinaryFunctors.h:172
ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_max_op >::ReturnType result_type
Definition BinaryFunctors.h:173
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type predux(const Packet &a) const
Definition BinaryFunctors.h:184
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:179
Definition BinaryFunctors.h:139
ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_min_op >::ReturnType result_type
Definition BinaryFunctors.h:140
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type predux(const Packet &a) const
Definition BinaryFunctors.h:151
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:146
Definition BinaryFunctors.h:305
ScalarBinaryOpTraits< Scalar, Exponent, scalar_pow_op >::ReturnType result_type
Definition BinaryFunctors.h:306
EIGEN_DEVICE_FUNC result_type operator()(const Scalar &a, const Exponent &b) const
Definition BinaryFunctors.h:318
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:321
Definition BinaryFunctors.h:71
ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_product_op >::ReturnType result_type
Definition BinaryFunctors.h:72
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const LhsScalar &a, const RhsScalar &b) const
Definition BinaryFunctors.h:80
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type predux(const Packet &a) const
Definition BinaryFunctors.h:85
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:82
Definition BinaryFunctors.h:379
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:390
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const LhsScalar &a, const RhsScalar &b) const
Definition BinaryFunctors.h:388
ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_quotient_op >::ReturnType result_type
Definition BinaryFunctors.h:380
Definition BinaryFunctors.h:33
ScalarBinaryOpTraits< LhsScalar, RhsScalar, scalar_sum_op >::ReturnType result_type
Definition BinaryFunctors.h:34
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type predux(const Packet &a) const
Definition BinaryFunctors.h:47
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet &a, const Packet &b) const
Definition BinaryFunctors.h:44
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const LhsScalar &a, const RhsScalar &b) const
Definition BinaryFunctors.h:42
Definition ForwardDeclarations.h:17
Definition PacketMath.h:47