Path Tracer
Public Types | Public Member Functions | List of all members
Eigen::internal::gebp_traits< _LhsScalar, _RhsScalar, _ConjLhs, _ConjRhs, Arch, _PacketSize > Class Template Reference

Public Types

enum  {
  ConjLhs = _ConjLhs, ConjRhs = _ConjRhs, Vectorizable = unpacket_traits<_LhsPacket>::vectorizable && unpacket_traits<_RhsPacket>::vectorizable, LhsPacketSize = Vectorizable ? unpacket_traits<_LhsPacket>::size : 1,
  RhsPacketSize = Vectorizable ? unpacket_traits<_RhsPacket>::size : 1, ResPacketSize = Vectorizable ? unpacket_traits<_ResPacket>::size : 1, NumberOfRegisters = EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS, nr = 4,
  default_mr = (EIGEN_PLAIN_ENUM_MIN(16,NumberOfRegisters)/2/nr)*LhsPacketSize, mr = default_mr, LhsProgress = LhsPacketSize, RhsProgress = 1
}
 
typedef _LhsScalar LhsScalar
 
typedef _RhsScalar RhsScalar
 
typedef ScalarBinaryOpTraits< LhsScalar, RhsScalar >::ReturnType ResScalar
 
typedef conditional< Vectorizable, _LhsPacket, LhsScalar >::type LhsPacket
 
typedef conditional< Vectorizable, _RhsPacket, RhsScalar >::type RhsPacket
 
typedef conditional< Vectorizable, _ResPacket, ResScalar >::type ResPacket
 
typedef LhsPacket LhsPacket4Packing
 
typedef QuadPacket< RhsPacketRhsPacketx4
 
typedef ResPacket AccPacket
 

Public Member Functions

 PACKET_DECL_COND_PREFIX (_, Lhs, _PacketSize)
 
 PACKET_DECL_COND_PREFIX (_, Rhs, _PacketSize)
 
 PACKET_DECL_COND_PREFIX (_, Res, _PacketSize)
 
EIGEN_STRONG_INLINE void initAcc (AccPacket &p)
 
template<typename RhsPacketType >
EIGEN_STRONG_INLINE void loadRhs (const RhsScalar *b, RhsPacketType &dest) const
 
EIGEN_STRONG_INLINE void loadRhs (const RhsScalar *b, RhsPacketx4 &dest) const
 
template<typename RhsPacketType >
EIGEN_STRONG_INLINE void updateRhs (const RhsScalar *b, RhsPacketType &dest) const
 
EIGEN_STRONG_INLINE void updateRhs (const RhsScalar *, RhsPacketx4 &) const
 
EIGEN_STRONG_INLINE void loadRhsQuad (const RhsScalar *b, RhsPacket &dest) const
 
template<typename LhsPacketType >
EIGEN_STRONG_INLINE void loadLhs (const LhsScalar *a, LhsPacketType &dest) const
 
template<typename LhsPacketType >
EIGEN_STRONG_INLINE void loadLhsUnaligned (const LhsScalar *a, LhsPacketType &dest) const
 
template<typename LhsPacketType , typename RhsPacketType , typename AccPacketType , typename LaneIdType >
EIGEN_STRONG_INLINE void madd (const LhsPacketType &a, const RhsPacketType &b, AccPacketType &c, RhsPacketType &tmp, const LaneIdType &) const
 
template<typename LhsPacketType , typename AccPacketType , typename LaneIdType >
EIGEN_STRONG_INLINE void madd (const LhsPacketType &a, const RhsPacketx4 &b, AccPacketType &c, RhsPacket &tmp, const LaneIdType &lane) const
 
EIGEN_STRONG_INLINE void acc (const AccPacket &c, const ResPacket &alpha, ResPacket &r) const
 
template<typename ResPacketHalf >
EIGEN_STRONG_INLINE void acc (const ResPacketHalf &c, const ResPacketHalf &alpha, ResPacketHalf &r) const
 

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