Go to the documentation of this file.
10 #ifndef EIGEN_CXX11_TENSOR_TENSOR_FUNCTORS_H
11 #define EIGEN_CXX11_TENSOR_TENSOR_FUNCTORS_H
20 template <
typename Scalar>
26 template <
typename Scalar>
34 template <
typename Scalar>
39 template <
typename Scalar>
43 template <
typename Scalar>
51 template <
typename Scalar>
57 template<
typename Reducer,
typename Device>
74 template <
typename Packet>
76 (*accum) = padd<Packet>(*accum,
p);
83 template <
typename Packet>
90 template <
typename Packet>
94 template <
typename Packet>
101 template <
typename T,
typename Device>
121 template <
typename Packet>
123 (*accum) = padd<Packet>(*accum,
p);
131 template <
typename Packet>
139 template <
typename Packet>
143 template <
typename Packet>
157 template <
typename T,
typename Device>
169 template <
typename T,
bool IsMax = true,
bool IsInteger = true>
175 template <
typename T>
181 template <
typename T>
187 template <
typename T>
195 template <
typename T,
int NaNPropagation=PropagateFast>
struct MaxReducer
199 *accum = op(
t, *accum);
201 template <
typename Packet>
209 template <
typename Packet>
216 template <
typename Packet>
220 template <
typename Packet>
223 return op(saccum, op.
predux(vaccum));
227 template <
typename T,
typename Device,
int NaNPropagation>
237 template <
typename T,
int NaNPropagation=PropagateFast>
struct MinReducer
241 *accum = op(
t, *accum);
243 template <
typename Packet>
251 template <
typename Packet>
258 template <
typename Packet>
262 template <
typename Packet>
265 return op(saccum, op.
predux(vaccum));
269 template <
typename T,
typename Device,
int NaNPropagation>
283 (*accum) = prod_op(*accum,
t);
285 template <
typename Packet>
287 (*accum) = pmul<Packet>(*accum,
p);
293 template <
typename Packet>
300 template <
typename Packet>
304 template <
typename Packet>
311 template <
typename T,
typename Device>
325 *accum = *accum &&
t;
335 template <
typename Device>
348 *accum = *accum ||
t;
358 template <
typename Device>
373 if (
t.second < accum->second) {
375 }
else if (
t.second > accum->second || accum->first >
t.first ) {
387 template <
typename T,
typename Device>
401 if (
t.second > accum->second) {
403 }
else if (
t.second < accum->second || accum->first >
t.first) {
415 template <
typename T,
typename Device>
426 template <
typename T,
typename Index,
size_t NumDims>
436 for (
size_t i = 0;
i < NumDims; ++
i) {
444 for (
size_t i = 0;
i < NumDims; ++
i) {
456 template <
typename T,
typename Index,
size_t NumDims>
466 template <
typename Scalar>
473 template <
typename Packet>
481 template<
typename Scalar>
488 #endif // EIGEN_CXX11_TENSOR_TENSOR_FUNCTORS_H
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalizeBoth(const T saccum, const Packet &vaccum) const
#define EIGEN_EMPTY_STRUCT_CTOR(X)
EIGEN_DEVICE_FUNC T operator()(const array< Index, NumDims > &coordinates) const
EIGEN_DEVICE_FUNC scalar_mod_op(const Scalar &divisor)
PyObject * conv(PyObject *o)
#define EIGEN_DEVICE_FUNC
Namespace containing all symbols from the Eigen library.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool initialize() const
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T bottom_value()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T initialize() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T initialize() const
static const bool PacketAccess
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalize(const T accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet initializePacket() const
EIGEN_DEVICE_FUNC scalar_clamp_op(const Scalar &_min, const Scalar &_max)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T &t, T *accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet &a, const Packet &b) const
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
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_mul(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalize(const T accum) const
Eigen::Triplet< double > T
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T t, T *accum)
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Scalar operator()(const Scalar &x) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reducePacket(const Packet &p, Packet *accum) const
EIGEN_DEVICE_FUNC GaussianGenerator(const array< T, NumDims > &means, const array< T, NumDims > &std_devs)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T initialize() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar &a, const Scalar &b) const
Point2Pair means(const std::vector< Point2Pair > &abPointPairs)
Calculate the two means of a set of Point2 pairs.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T initialize() const
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T bottom_value()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reducePacket(const Packet &p, Packet *accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE MeanReducer()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalizeBoth(const T saccum, const Packet &vaccum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet finalizePacket(const Packet &vaccum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet &a, const Packet &b) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalizeBoth(const T saccum, const Packet &vaccum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalize(const T &accum) const
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T exp(const T &x)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet initializePacket() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar &a) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T t, T *accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reducePacket(const Packet &p, Packet *accum)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalizeBoth(const T saccum, const Packet &vaccum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool finalize(bool accum) const
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T mini(const T &x, const T &y)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T initialize() const
#define EIGEN_STRONG_INLINE
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalizeBoth(const T saccum, const Packet &vaccum) const
#define EIGEN_UNROLL_LOOP
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet initializePacket() const
EIGEN_DEVICE_FUNC Packet pmax(const Packet &a, const Packet &b)
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T fmod(const T &a, const T &b)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T initialize() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool finalize(bool accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet finalizePacket(const Packet &vaccum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T initialize() const
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T bottom_value()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet initializePacket() const
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 y set format x g set format y g set format x2 g set format y2 g set format z g set angles radians set nogrid set key title set key left top Right noreverse box linetype linewidth samplen spacing width set nolabel set noarrow set nologscale set logscale x set set pointsize set encoding default set nopolar set noparametric set set set set surface set nocontour set clabel set mapping cartesian set nohidden3d set cntrparam order set cntrparam linear set cntrparam levels auto set cntrparam points set size set set xzeroaxis lt lw set x2zeroaxis lt lw set yzeroaxis lt lw set y2zeroaxis lt lw set tics in set ticslevel set tics set mxtics default set mytics default set mx2tics default set my2tics default set xtics border mirror norotate autofreq set ytics border mirror norotate autofreq set ztics border nomirror norotate autofreq set nox2tics set noy2tics set timestamp bottom norotate offset
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet finalizePacket(const Packet &vaccum) const
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T t, T *accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool initialize() const
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Packet packetOp(const Packet &x) const
EIGEN_DEFAULT_DENSE_INDEX_TYPE DenseIndex
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet initializePacket() const
array< T, NumDims > m_two_sigmas
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type predux(const Packet &a) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(bool t, bool *accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalize(const T &accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reducePacket(const Packet &p, Packet *accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(bool t, bool *accum) const
EIGEN_DEVICE_FUNC Packet pmin(const Packet &a, const Packet &b)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalize(const T accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalize(const T accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T t, T *accum) const
array< T, NumDims > m_means
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T t, T *accum) const
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T bottom_value()
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T maxi(const T &x, const T &y)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reducePacket(const Packet &p, Packet *accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce(const T t, T *accum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet finalizePacket(const Packet &vaccum) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type predux(const Packet &a) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet finalizePacket(const Packet &vaccum) const
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalize(const T accum) const
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:06:01