Path Tracer
|
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< RhsPacket > | RhsPacketx4 |
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 |