Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType > Class Template Reference

#include <src/eigen/Eigen/src/Core/util/BlasUtil.h>

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

Public Types

typedef packet_traits< Scalar >::type Packet
 
typedef packet_traits< Scalar >::half HalfPacket
 
typedef BlasLinearMapper< Scalar, Index, AlignmentTypeLinearMapper
 
typedef BlasVectorMapper< Scalar, IndexVectorMapper
 

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, AlignmentTypegetSubMapper (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 >

Member Typedef Documentation

◆ HalfPacket

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

◆ LinearMapper

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

◆ Packet

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

◆ VectorMapper

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

Constructor & Destructor Documentation

◆ blas_data_mapper()

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
EIGEN_DEVICE_FUNC const Index stride() const
Definition BlasUtil.h:239
EIGEN_DEVICE_FUNC const Scalar * data() const
Definition BlasUtil.h:240
const Index m_stride
Definition BlasUtil.h:251
Scalar *EIGEN_RESTRICT m_data
Definition BlasUtil.h:250

Member Function Documentation

◆ data()

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

◆ firstAligned()

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
242 {
243 if (UIntPtr(m_data)%sizeof(Scalar)) {
244 return -1;
245 }
247 }
std::size_t UIntPtr
Definition Meta.h:51
static Index first_default_aligned(const DenseBase< Derived > &m)
Definition DenseCoeffsBase.h:646

References Eigen::internal::first_default_aligned(), and Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::m_data.

+ Here is the call graph for this function:

◆ gatherPacket()

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
235 {
236 return pgather<Scalar, SubPacket>(&operator()(i, j), m_stride);
237 }

References Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::m_stride.

◆ getLinearMapper()

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
207 {
208 return LinearMapper(&operator()(i, j));
209 }
BlasLinearMapper< Scalar, Index, AlignmentType > LinearMapper
Definition BlasUtil.h:197

◆ getSubMapper()

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
203 {
204 return blas_data_mapper<Scalar, Index, StorageOrder, AlignmentType>(&operator()(i, j), m_stride);
205 }

References Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::m_stride.

◆ getVectorMapper()

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
211 {
212 return VectorMapper(&operator()(i, j));
213 }
BlasVectorMapper< Scalar, Index > VectorMapper
Definition BlasUtil.h:198

◆ loadHalfPacket()

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
225 {
226 return ploadt<HalfPacket, AlignmentType>(&operator()(i, j));
227 }

◆ loadPacket()

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
221 {
222 return ploadt<Packet, AlignmentType>(&operator()(i, j));
223 }

◆ operator()()

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

◆ scatterPacket()

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
230 {
231 pscatter<Scalar, SubPacket>(&operator()(i, j), p, m_stride);
232 }

References Eigen::internal::blas_data_mapper< Scalar, Index, StorageOrder, AlignmentType >::m_stride.

◆ 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

Member Data Documentation

◆ m_data

◆ m_stride


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