μHAL (v2.8.17)
Part of the IPbus software repository
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
EigenProps< Type_ > Struct Template Reference

#include </builds/ipbus/ipbus-software/uhal/python/pybind11-python2/include/pybind11/eigen.h>

Public Types

using Type = Type_
 
using Scalar = typename Type::Scalar
 
using StrideType = typename eigen_extract_stride< Type >::type
 
template<EigenIndex i, EigenIndex ifzero>
using if_zero = std::integral_constant< EigenIndex, i==0 ? ifzero :i >
 
using Type = Type_
 
using Scalar = typename Type::Scalar
 
using StrideType = typename eigen_extract_stride< Type >::type
 
template<EigenIndex i, EigenIndex ifzero>
using if_zero = std::integral_constant< EigenIndex, i==0 ? ifzero :i >
 

Static Public Member Functions

static EigenConformable< row_majorconformable (const array &a)
 
static EigenConformable< row_majorconformable (const array &a)
 

Static Public Attributes

static constexpr EigenIndex rows = Type::RowsAtCompileTime
 
static constexpr EigenIndex cols = Type::ColsAtCompileTime
 
static constexpr EigenIndex size = Type::SizeAtCompileTime
 
static constexpr bool row_major = Type::IsRowMajor
 
static constexpr bool vector = Type::IsVectorAtCompileTime
 
static constexpr bool fixed_rows = rows != Eigen::Dynamic
 
static constexpr bool fixed_cols = cols != Eigen::Dynamic
 
static constexpr bool fixed = size != Eigen::Dynamic
 
static constexpr bool dynamic = !fixed_rows && !fixed_cols
 
static constexpr EigenIndex inner_stride = if_zero<StrideType::InnerStrideAtCompileTime, 1>::value
 
static constexpr EigenIndex outer_stride
 
static constexpr bool dynamic_stride = inner_stride == Eigen::Dynamic && outer_stride == Eigen::Dynamic
 
static constexpr bool requires_row_major = !dynamic_stride && !vector && (row_major ? inner_stride : outer_stride) == 1
 
static constexpr bool requires_col_major = !dynamic_stride && !vector && (row_major ? outer_stride : inner_stride) == 1
 
static constexpr bool show_writeable = is_eigen_dense_map<Type>::value && is_eigen_mutable_map<Type>::value
 
static constexpr bool show_order = is_eigen_dense_map<Type>::value
 
static constexpr bool show_c_contiguous = show_order && requires_row_major
 
static constexpr bool show_f_contiguous = !show_c_contiguous && show_order && requires_col_major
 
static constexpr auto descriptor
 

Detailed Description

template<typename Type_>
struct EigenProps< Type_ >

Definition at line 138 of file eigen.h.

Member Typedef Documentation

◆ if_zero [1/2]

template<typename Type_ >
template<EigenIndex i, EigenIndex ifzero>
using EigenProps< Type_ >::if_zero = std::integral_constant<EigenIndex, i == 0 ? ifzero : i>

Definition at line 152 of file eigen.h.

◆ if_zero [2/2]

template<typename Type_ >
template<EigenIndex i, EigenIndex ifzero>
using EigenProps< Type_ >::if_zero = std::integral_constant<EigenIndex, i == 0 ? ifzero : i>

Definition at line 154 of file matrix.h.

◆ Scalar [1/2]

template<typename Type_ >
using EigenProps< Type_ >::Scalar = typename Type::Scalar

Definition at line 140 of file eigen.h.

◆ Scalar [2/2]

template<typename Type_ >
using EigenProps< Type_ >::Scalar = typename Type::Scalar

Definition at line 142 of file matrix.h.

◆ StrideType [1/2]

template<typename Type_ >
using EigenProps< Type_ >::StrideType = typename eigen_extract_stride<Type>::type

Definition at line 141 of file eigen.h.

◆ StrideType [2/2]

template<typename Type_ >
using EigenProps< Type_ >::StrideType = typename eigen_extract_stride<Type>::type

Definition at line 143 of file matrix.h.

◆ Type [1/2]

template<typename Type_ >
using EigenProps< Type_ >::Type = Type_

Definition at line 139 of file eigen.h.

◆ Type [2/2]

template<typename Type_ >
using EigenProps< Type_ >::Type = Type_

Definition at line 141 of file matrix.h.

Member Function Documentation

◆ conformable() [1/2]

template<typename Type_ >
static EigenConformable< row_major > EigenProps< Type_ >::conformable ( const array a)
inlinestatic

◆ conformable() [2/2]

template<typename Type_ >
static EigenConformable< row_major > EigenProps< Type_ >::conformable ( const array a)
inlinestatic

Member Data Documentation

◆ cols

template<typename Type_ >
static constexpr EigenIndex EigenProps< Type_ >::cols = Type::ColsAtCompileTime
static

Definition at line 142 of file eigen.h.

Referenced by EigenProps< Type_ >::conformable().

◆ descriptor

template<typename Type_ >
static constexpr auto EigenProps< Type_ >::descriptor
staticconstexpr
Initial value:
+ const_name<fixed_rows>(const_name<(size_t) rows>(), const_name("m")) + const_name(", ")
+ const_name<fixed_cols>(const_name<(size_t) cols>(), const_name("n")) + const_name("]")
+
const_name<show_writeable>(", flags.writeable", "")
+ const_name<show_c_contiguous>(", flags.c_contiguous", "")
+ const_name<show_f_contiguous>(", flags.f_contiguous", "") + const_name("]")
constexpr descr< N - 1 > const_name(char const (&text)[N])
Definition: descr.h:60
static constexpr EigenIndex rows
Definition: eigen.h:142
static constexpr EigenIndex cols
Definition: eigen.h:142

Definition at line 224 of file eigen.h.

◆ dynamic

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::dynamic = !fixed_rows && !fixed_cols
static

Definition at line 149 of file eigen.h.

◆ dynamic_stride

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::dynamic_stride = inner_stride == Eigen::Dynamic && outer_stride == Eigen::Dynamic
staticconstexpr

Definition at line 159 of file eigen.h.

◆ fixed

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::fixed = size != Eigen::Dynamic
static

Definition at line 148 of file eigen.h.

Referenced by EigenProps< Type_ >::conformable().

◆ fixed_cols

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::fixed_cols = cols != Eigen::Dynamic
static

Definition at line 147 of file eigen.h.

Referenced by EigenProps< Type_ >::conformable().

◆ fixed_rows

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::fixed_rows = rows != Eigen::Dynamic
static

Definition at line 147 of file eigen.h.

Referenced by EigenProps< Type_ >::conformable().

◆ inner_stride

template<typename Type_ >
static constexpr EigenIndex EigenProps< Type_ >::inner_stride = if_zero<StrideType::InnerStrideAtCompileTime, 1>::value
staticconstexpr

Definition at line 153 of file eigen.h.

◆ outer_stride

template<typename Type_ >
static constexpr EigenIndex EigenProps< Type_ >::outer_stride
static
Initial value:
= if_zero < StrideType::OuterStrideAtCompileTime,
: rows > ::value
static constexpr bool row_major
Definition: eigen.h:144
static constexpr EigenIndex size
Definition: eigen.h:143
static constexpr bool vector
Definition: eigen.h:146
std::integral_constant< EigenIndex, i==0 ? ifzero :i > if_zero
Definition: eigen.h:152

Definition at line 155 of file eigen.h.

◆ requires_col_major

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::requires_col_major = !dynamic_stride && !vector && (row_major ? outer_stride : inner_stride) == 1
staticconstexpr

Definition at line 163 of file eigen.h.

◆ requires_row_major

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::requires_row_major = !dynamic_stride && !vector && (row_major ? inner_stride : outer_stride) == 1
staticconstexpr

Definition at line 161 of file eigen.h.

◆ row_major

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::row_major = Type::IsRowMajor
staticconstexpr

Definition at line 144 of file eigen.h.

◆ rows

template<typename Type_ >
static constexpr EigenIndex EigenProps< Type_ >::rows = Type::RowsAtCompileTime
staticconstexpr

Definition at line 142 of file eigen.h.

Referenced by EigenProps< Type_ >::conformable().

◆ show_c_contiguous

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::show_c_contiguous = show_order && requires_row_major
staticconstexpr

Definition at line 220 of file eigen.h.

◆ show_f_contiguous

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::show_f_contiguous = !show_c_contiguous && show_order && requires_col_major
staticconstexpr

Definition at line 221 of file eigen.h.

◆ show_order

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::show_order = is_eigen_dense_map<Type>::value
staticconstexpr

Definition at line 219 of file eigen.h.

◆ show_writeable

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::show_writeable = is_eigen_dense_map<Type>::value && is_eigen_mutable_map<Type>::value
staticconstexpr

Definition at line 217 of file eigen.h.

◆ size

template<typename Type_ >
static constexpr EigenIndex EigenProps< Type_ >::size = Type::SizeAtCompileTime
static

Definition at line 143 of file eigen.h.

Referenced by EigenProps< Type_ >::conformable().

◆ vector

template<typename Type_ >
static constexpr bool EigenProps< Type_ >::vector = Type::IsVectorAtCompileTime
static

Definition at line 145 of file eigen.h.

Referenced by EigenProps< Type_ >::conformable().


The documentation for this struct was generated from the following files: