MOAB  4.9.3pre
Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType > Class Template Reference

#include <BlasUtil.h>

Inheritance diagram for Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >:
Collaboration diagram for Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >:

List of all members.

Public Types

typedef packet_traits< Scalar >
::type 
Packet
typedef packet_traits< Scalar >
::half 
HalfPacket
typedef BlasLinearMapper
< Scalar, Index, AlignmentType > 
LinearMapper
typedef BlasVectorMapper
< Scalar, Index
VectorMapper

Public Member Functions

EIGEN_DEVICE_FUNC
EIGEN_ALWAYS_INLINE 
blas_data_mapper (Scalar *data, Index stride)
EIGEN_DEVICE_FUNC
EIGEN_ALWAYS_INLINE
blas_data_mapper< Scalar,
Index, StorageOrder,
AlignmentType > 
getSubMapper (Index i, Index j) const
EIGEN_DEVICE_FUNC
EIGEN_ALWAYS_INLINE
LinearMapper 
getLinearMapper (Index i, Index j) const
EIGEN_DEVICE_FUNC
EIGEN_ALWAYS_INLINE
VectorMapper 
getVectorMapper (Index i, Index j) const
EIGEN_DEVICE_FUNC
EIGEN_ALWAYS_INLINE Scalar & 
operator() (Index i, Index j) const
EIGEN_DEVICE_FUNC
EIGEN_ALWAYS_INLINE Packet 
loadPacket (Index i, Index j) const
EIGEN_DEVICE_FUNC
EIGEN_ALWAYS_INLINE HalfPacket 
loadHalfPacket (Index i, Index j) const
template<typename SubPacket >
EIGEN_DEVICE_FUNC
EIGEN_ALWAYS_INLINE void 
scatterPacket (Index i, Index j, const SubPacket &p) const
template<typename SubPacket >
EIGEN_DEVICE_FUNC
EIGEN_ALWAYS_INLINE SubPacket 
gatherPacket (Index i, Index j) const
EIGEN_DEVICE_FUNC const Index stride () const
EIGEN_DEVICE_FUNC const Scalar * data () const
EIGEN_DEVICE_FUNC Index firstAligned (Index size) const

Protected Attributes

Scalar *EIGEN_RESTRICT m_data
const Index m_stride

Detailed Description

template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
class Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >

Definition at line 179 of file BlasUtil.h.


Member Typedef Documentation

template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
typedef packet_traits<Scalar>::half Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::HalfPacket

Definition at line 182 of file BlasUtil.h.

template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
typedef BlasLinearMapper<Scalar, Index, AlignmentType> Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::LinearMapper

Definition at line 184 of file BlasUtil.h.

template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
typedef packet_traits<Scalar>::type Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::Packet

Definition at line 181 of file BlasUtil.h.

template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
typedef BlasVectorMapper<Scalar, Index> Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::VectorMapper

Definition at line 185 of file BlasUtil.h.


Constructor & Destructor Documentation

template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::blas_data_mapper ( Scalar *  data,
Index  stride 
) [inline]

Definition at line 187 of file BlasUtil.h.


Member Function Documentation

template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
EIGEN_DEVICE_FUNC const Scalar* Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::data ( ) const [inline]

Definition at line 227 of file BlasUtil.h.

{ return m_data; }
template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
EIGEN_DEVICE_FUNC Index Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::firstAligned ( Index  size) const [inline]

Definition at line 229 of file BlasUtil.h.

                                                         {
    if (size_t(m_data)%sizeof(Scalar)) {
      return -1;
    }
    return internal::first_default_aligned(m_data, size);
  }
template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
template<typename SubPacket >
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE SubPacket Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::gatherPacket ( Index  i,
Index  j 
) const [inline]

Definition at line 222 of file BlasUtil.h.

                                                                                       {
    return pgather<Scalar, SubPacket>(&operator()(i, j), m_stride);
  }
template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE LinearMapper Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::getLinearMapper ( Index  i,
Index  j 
) const [inline]

Definition at line 194 of file BlasUtil.h.

                                                                                              {
    return LinearMapper(&operator()(i, j));
  }
template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE blas_data_mapper<Scalar, Index, StorageOrder, AlignmentType> Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::getSubMapper ( Index  i,
Index  j 
) const [inline]

Reimplemented in Eigen::internal::const_blas_data_mapper< Scalar, Index, StorageOrder >.

Definition at line 190 of file BlasUtil.h.

                                       {
    return blas_data_mapper<Scalar, Index, StorageOrder, AlignmentType>(&operator()(i, j), m_stride);
  }
template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE VectorMapper Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::getVectorMapper ( Index  i,
Index  j 
) const [inline]

Definition at line 198 of file BlasUtil.h.

                                                                                              {
    return VectorMapper(&operator()(i, j));
  }
template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE HalfPacket Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::loadHalfPacket ( Index  i,
Index  j 
) const [inline]

Definition at line 212 of file BlasUtil.h.

                                                                                          {
    return ploadt<HalfPacket, AlignmentType>(&operator()(i, j));
  }
template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE Packet Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::loadPacket ( Index  i,
Index  j 
) const [inline]

Definition at line 208 of file BlasUtil.h.

                                                                                  {
    return ploadt<Packet, AlignmentType>(&operator()(i, j));
  }
template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE Scalar& Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::operator() ( Index  i,
Index  j 
) const [inline]

Definition at line 204 of file BlasUtil.h.

                                                                 {
    return m_data[StorageOrder==RowMajor ? j + i*m_stride : i + j*m_stride];
  }
template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
template<typename SubPacket >
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE void Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::scatterPacket ( Index  i,
Index  j,
const SubPacket &  p 
) const [inline]

Definition at line 217 of file BlasUtil.h.

                                                                                                       {
    pscatter<Scalar, SubPacket>(&operator()(i, j), p, m_stride);
  }
template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
EIGEN_DEVICE_FUNC const Index Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::stride ( ) const [inline]

Definition at line 226 of file BlasUtil.h.

{ return m_stride; }

Member Data Documentation

template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
Scalar* EIGEN_RESTRICT Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::m_data [protected]

Definition at line 237 of file BlasUtil.h.

template<typename Scalar, typename Index, int StorageOrder, int AlignmentType = Unaligned>
const Index Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::m_stride [protected]

Definition at line 238 of file BlasUtil.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines