μHAL (v2.8.17)
Part of the IPbus software repository
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Typedefs | Functions
eigen.h File Reference
#include "numpy.h"
#include <Eigen/Core>
#include <Eigen/SparseCore>
Include dependency graph for eigen.h:

Go to the source code of this file.

Classes

struct  EigenConformable< EigenRowMajor >
 
struct  eigen_extract_stride< Type >
 
struct  eigen_extract_stride< Eigen::Map< PlainObjectType, MapOptions, StrideType > >
 
struct  eigen_extract_stride< Eigen::Ref< PlainObjectType, Options, StrideType > >
 
struct  EigenProps< Type_ >
 
struct  type_caster< Type, enable_if_t< is_eigen_dense_plain< Type >::value > >
 
struct  eigen_map_caster< MapType >
 
struct  type_caster< Type, enable_if_t< is_eigen_dense_map< Type >::value > >
 
struct  type_caster< Eigen::Ref< PlainObjectType, 0, StrideType >, enable_if_t< is_eigen_dense_map< Eigen::Ref< PlainObjectType, 0, StrideType > >::value > >
 
struct  type_caster< Type, enable_if_t< is_eigen_other< Type >::value > >
 
struct  type_caster< Type, enable_if_t< is_eigen_sparse< Type >::value > >
 

Typedefs

using EigenDStride = Eigen::Stride< Eigen::Dynamic, Eigen::Dynamic >
 
template<typename MatrixType >
using EigenDRef = Eigen::Ref< MatrixType, 0, EigenDStride >
 
template<typename MatrixType >
using EigenDMap = Eigen::Map< MatrixType, 0, EigenDStride >
 
using EigenIndex = EIGEN_DEFAULT_DENSE_INDEX_TYPE
 
template<typename Scalar , int Flags, typename StorageIndex >
using EigenMapSparseMatrix = Eigen::MappedSparseMatrix< Scalar, Flags, StorageIndex >
 
template<typename T >
using is_eigen_dense_map = all_of< is_template_base_of< Eigen::DenseBase, T >, std::is_base_of< Eigen::MapBase< T, Eigen::ReadOnlyAccessors >, T > >
 
template<typename T >
using is_eigen_mutable_map = std::is_base_of< Eigen::MapBase< T, Eigen::WriteAccessors >, T >
 
template<typename T >
using is_eigen_dense_plain = all_of< negation< is_eigen_dense_map< T > >, is_template_base_of< Eigen::PlainObjectBase, T > >
 
template<typename T >
using is_eigen_sparse = is_template_base_of< Eigen::SparseMatrixBase, T >
 
template<typename T >
using is_eigen_other = all_of< is_template_base_of< Eigen::EigenBase, T >, negation< any_of< is_eigen_dense_map< T >, is_eigen_dense_plain< T >, is_eigen_sparse< T > > > >
 

Functions

template<typename props >
handle eigen_array_cast (typename props::Type const &src, handle base=handle(), bool writeable=true)
 
template<typename props , typename Type >
handle eigen_ref_array (Type &src, handle parent=none())
 
template<typename props , typename Type , typename = enable_if_t<is_eigen_dense_plain<Type>::value>>
handle eigen_encapsulate (Type *src)
 

Typedef Documentation

◆ EigenDMap

template<typename MatrixType >
using EigenDMap = Eigen::Map<MatrixType, 0, EigenDStride>

Definition at line 50 of file eigen.h.

◆ EigenDRef

template<typename MatrixType >
using EigenDRef = Eigen::Ref<MatrixType, 0, EigenDStride>

Definition at line 48 of file eigen.h.

◆ EigenDStride

using EigenDStride = Eigen::Stride<Eigen::Dynamic, Eigen::Dynamic>

Definition at line 46 of file eigen.h.

◆ EigenIndex

using EigenIndex = EIGEN_DEFAULT_DENSE_INDEX_TYPE

Definition at line 59 of file eigen.h.

◆ EigenMapSparseMatrix

template<typename Scalar , int Flags, typename StorageIndex >
using EigenMapSparseMatrix = Eigen::MappedSparseMatrix<Scalar, Flags, StorageIndex>

Definition at line 61 of file eigen.h.

◆ is_eigen_dense_map

template<typename T >
using is_eigen_dense_map = all_of<is_template_base_of<Eigen::DenseBase, T>, std::is_base_of<Eigen::MapBase<T, Eigen::ReadOnlyAccessors>, T> >

Definition at line 66 of file eigen.h.

◆ is_eigen_dense_plain

template<typename T >
using is_eigen_dense_plain = all_of<negation<is_eigen_dense_map<T> >, is_template_base_of<Eigen::PlainObjectBase, T> >

Definition at line 71 of file eigen.h.

◆ is_eigen_mutable_map

template<typename T >
using is_eigen_mutable_map = std::is_base_of<Eigen::MapBase<T, Eigen::WriteAccessors>, T>

Definition at line 69 of file eigen.h.

◆ is_eigen_other

template<typename T >
using is_eigen_other = all_of<is_template_base_of<Eigen::EigenBase, T>, negation<any_of<is_eigen_dense_map<T>, is_eigen_dense_plain<T>, is_eigen_sparse<T> >> >

Definition at line 80 of file eigen.h.

◆ is_eigen_sparse

template<typename T >
using is_eigen_sparse = is_template_base_of<Eigen::SparseMatrixBase, T>

Definition at line 74 of file eigen.h.

Function Documentation

◆ eigen_array_cast()

template<typename props >
handle eigen_array_cast ( typename props::Type const &  src,
handle  base = handle(),
bool  writeable = true 
)

◆ eigen_encapsulate()

template<typename props , typename Type , typename = enable_if_t<is_eigen_dense_plain<Type>::value>>
handle eigen_encapsulate ( Type *  src)

Definition at line 279 of file eigen.h.

◆ eigen_ref_array()

template<typename props , typename Type >
handle eigen_ref_array ( Type &  src,
handle  parent = none() 
)

Definition at line 268 of file eigen.h.