Eigen::internal::MeanReducer< T > Struct Template Reference

#include <TensorFunctors.h>

Public Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE MeanReducer ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reduce (const T t, T *accum)
 
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void reducePacket (const Packet &p, Packet *accum)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T initialize () const
 
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet initializePacket () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalize (const T accum) const
 
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet finalizePacket (const Packet &vaccum) const
 
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T finalizeBoth (const T saccum, const Packet &vaccum) const
 

Protected Attributes

DenseIndex scalarCount_
 
DenseIndex packetCount_
 

Constructor & Destructor Documentation

◆ MeanReducer()

108 : scalarCount_(0), packetCount_(0) {}
DenseIndex scalarCount_
Definition: TensorFunctors.h:145
DenseIndex packetCount_
Definition: TensorFunctors.h:146

Member Function Documentation

◆ finalize()

template<typename T >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T Eigen::internal::MeanReducer< T >::finalize ( const T  accum) const
inline
129  {
130  internal::scalar_quotient_op<T> quotient_op;
131  return quotient_op(accum, T(scalarCount_));
132  }
Eigen::Triplet< double > T
Definition: EigenUnitTest.cpp:11

References Eigen::internal::MeanReducer< T >::scalarCount_.

◆ finalizeBoth()

template<typename T >
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T Eigen::internal::MeanReducer< T >::finalizeBoth ( const T  saccum,
const Packet vaccum 
) const
inline
138  {
139  internal::scalar_sum_op<T> sum_op;
140  internal::scalar_quotient_op<T> quotient_op;
141  return quotient_op(sum_op(saccum, predux(vaccum)), T(scalarCount_ + packetCount_ * unpacket_traits<Packet>::size));
142  }
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux(const Packet &a)
Definition: GenericPacketMath.h:1232
@ size
Definition: GenericPacketMath.h:139

References Eigen::internal::MeanReducer< T >::packetCount_, Eigen::internal::predux(), and Eigen::internal::MeanReducer< T >::scalarCount_.

◆ finalizePacket()

template<typename T >
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet Eigen::internal::MeanReducer< T >::finalizePacket ( const Packet vaccum) const
inline
134  {
135  return pdiv(vaccum, pset1<Packet>(T(packetCount_)));
136  }
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:368

References Eigen::internal::MeanReducer< T >::packetCount_, and Eigen::internal::pdiv().

◆ initialize()

template<typename T >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T Eigen::internal::MeanReducer< T >::initialize ( ) const
inline
121  {
122  internal::scalar_cast_op<int, T> conv;
123  return conv(0);
124  }

Referenced by Eigen::internal::MeanReducer< T >::initializePacket().

◆ initializePacket()

template<typename T >
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet Eigen::internal::MeanReducer< T >::initializePacket ( ) const
inline
126  {
127  return pset1<Packet>(initialize());
128  }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T initialize() const
Definition: TensorFunctors.h:121

References Eigen::internal::MeanReducer< T >::initialize().

◆ reduce()

template<typename T >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::internal::MeanReducer< T >::reduce ( const T  t,
T accum 
)
inline
110  {
111  internal::scalar_sum_op<T> sum_op;
112  *accum = sum_op(*accum, t);
113  scalarCount_++;
114  }
t
Definition: plotPSD.py:36

References Eigen::internal::MeanReducer< T >::scalarCount_, and plotPSD::t.

◆ reducePacket()

template<typename T >
template<typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::internal::MeanReducer< T >::reducePacket ( const Packet p,
Packet accum 
)
inline
116  {
117  (*accum) = padd<Packet>(*accum, p);
118  packetCount_++;
119  }
float * p
Definition: Tutorial_Map_using.cpp:9

References p, and Eigen::internal::MeanReducer< T >::packetCount_.

Member Data Documentation

◆ packetCount_

◆ scalarCount_


The documentation for this struct was generated from the following file: