Scarab  v2.9.1
Project 8 C++ Utility Library
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
EigenProps< Type_ > Struct Template Reference

#include <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 >
 

Static Public Member Functions

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 pybind11::detail::EigenProps< Type_ >

Definition at line 117 of file eigen.h.

Member Typedef Documentation

◆ if_zero

using if_zero = std::integral_constant<EigenIndex, i == 0 ? ifzero : i>

Definition at line 133 of file eigen.h.

◆ Scalar

using Scalar = typename Type::Scalar

Definition at line 119 of file eigen.h.

◆ StrideType

Definition at line 120 of file eigen.h.

◆ Type

using Type = Type_

Definition at line 118 of file eigen.h.

Member Function Documentation

◆ conformable()

static EigenConformable<row_major> conformable ( const array a)
inlinestatic

Definition at line 144 of file eigen.h.

Member Data Documentation

◆ cols

constexpr EigenIndex cols = Type::ColsAtCompileTime
static

Definition at line 123 of file eigen.h.

◆ descriptor

constexpr auto descriptor
static
Initial value:
=
_("numpy.ndarray[") + npy_format_descriptor<Scalar>::name +
_("[") + _<fixed_rows>(_<(size_t) rows>(), _("m")) +
_(", ") + _<fixed_cols>(_<(size_t) cols>(), _("n")) +
_("]") +
_<show_writeable>(", flags.writeable", "") +
_<show_c_contiguous>(", flags.c_contiguous", "") +
_<show_f_contiguous>(", flags.f_contiguous", "") +
_("]")

Definition at line 194 of file eigen.h.

◆ dynamic

constexpr bool dynamic = !fixed_rows && !fixed_cols
static

Definition at line 131 of file eigen.h.

◆ dynamic_stride

constexpr bool dynamic_stride = inner_stride == Eigen::Dynamic && outer_stride == Eigen::Dynamic
static

Definition at line 137 of file eigen.h.

◆ fixed

constexpr bool fixed = size != Eigen::Dynamic
static

Definition at line 130 of file eigen.h.

◆ fixed_cols

constexpr bool fixed_cols = cols != Eigen::Dynamic
static

Definition at line 129 of file eigen.h.

◆ fixed_rows

constexpr bool fixed_rows = rows != Eigen::Dynamic
static

Definition at line 128 of file eigen.h.

◆ inner_stride

constexpr EigenIndex inner_stride = if_zero<StrideType::InnerStrideAtCompileTime, 1>::value
static

Definition at line 134 of file eigen.h.

◆ outer_stride

constexpr EigenIndex outer_stride
static
Initial value:
= if_zero<StrideType::OuterStrideAtCompileTime,

Definition at line 135 of file eigen.h.

◆ requires_col_major

constexpr bool requires_col_major = !dynamic_stride && !vector && (row_major ? outer_stride : inner_stride) == 1
static

Definition at line 139 of file eigen.h.

◆ requires_row_major

constexpr bool requires_row_major = !dynamic_stride && !vector && (row_major ? inner_stride : outer_stride) == 1
static

Definition at line 138 of file eigen.h.

◆ row_major

constexpr bool row_major = Type::IsRowMajor
static

Definition at line 126 of file eigen.h.

◆ rows

constexpr EigenIndex rows = Type::RowsAtCompileTime
static

Definition at line 122 of file eigen.h.

◆ show_c_contiguous

constexpr bool show_c_contiguous = show_order && requires_row_major
static

Definition at line 191 of file eigen.h.

◆ show_f_contiguous

constexpr bool show_f_contiguous = !show_c_contiguous && show_order && requires_col_major
static

Definition at line 192 of file eigen.h.

◆ show_order

constexpr bool show_order = is_eigen_dense_map<Type>::value
static

Definition at line 190 of file eigen.h.

◆ show_writeable

constexpr bool show_writeable = is_eigen_dense_map<Type>::value && is_eigen_mutable_map<Type>::value
static

Definition at line 189 of file eigen.h.

◆ size

constexpr EigenIndex size = Type::SizeAtCompileTime
static

Definition at line 124 of file eigen.h.

◆ vector

constexpr bool vector = Type::IsVectorAtCompileTime
static

Definition at line 127 of file eigen.h.


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