mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-11 19:29:02 +08:00
Update circulant custom expression example
This commit is contained in:
parent
0f464d9d87
commit
69fa405096
@ -13,4 +13,4 @@ int main()
|
|||||||
cout << "Here is the matrix A:\n" << A << endl;
|
cout << "Here is the matrix A:\n" << A << endl;
|
||||||
cout << "The determinant of A is " << A.determinant() << endl;
|
cout << "The determinant of A is " << A.determinant() << endl;
|
||||||
cout << "The inverse of A is:\n" << A.inverse() << endl;
|
cout << "The inverse of A is:\n" << A.inverse() << endl;
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,6 @@ namespace Eigen {
|
|||||||
typedef typename nested_eval<ArgType, XprType::ColsAtCompileTime>::type ArgTypeNested;
|
typedef typename nested_eval<ArgType, XprType::ColsAtCompileTime>::type ArgTypeNested;
|
||||||
typedef typename remove_all<ArgTypeNested>::type ArgTypeNestedCleaned;
|
typedef typename remove_all<ArgTypeNested>::type ArgTypeNestedCleaned;
|
||||||
typedef typename XprType::CoeffReturnType CoeffReturnType;
|
typedef typename XprType::CoeffReturnType CoeffReturnType;
|
||||||
typedef typename XprType::Index Index;
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
CoeffReadCost = evaluator<ArgTypeNestedCleaned>::CoeffReadCost,
|
CoeffReadCost = evaluator<ArgTypeNestedCleaned>::CoeffReadCost,
|
||||||
|
@ -11,7 +11,7 @@ public:
|
|||||||
|
|
||||||
typedef typename Eigen::internal::ref_selector<Circulant>::type Nested;
|
typedef typename Eigen::internal::ref_selector<Circulant>::type Nested;
|
||||||
|
|
||||||
typedef typename Eigen::internal::traits<Circulant>::Index Index;
|
typedef Eigen::Index Index;
|
||||||
Index rows() const { return m_arg.rows(); }
|
Index rows() const { return m_arg.rows(); }
|
||||||
Index cols() const { return m_arg.rows(); }
|
Index cols() const { return m_arg.rows(); }
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
namespace Eigen {
|
namespace Eigen {
|
||||||
namespace internal {
|
namespace internal {
|
||||||
template <class ArgType>
|
template <class ArgType>
|
||||||
struct traits<Circulant<ArgType> >
|
struct traits<Circulant<ArgType> >
|
||||||
{
|
{
|
||||||
typedef Eigen::Dense StorageKind;
|
typedef Eigen::Dense StorageKind;
|
||||||
typedef Eigen::MatrixXpr XprKind;
|
typedef Eigen::MatrixXpr XprKind;
|
||||||
typedef typename ArgType::Index Index;
|
typedef typename ArgType::StorageIndex StorageIndex;
|
||||||
typedef typename ArgType::Scalar Scalar;
|
typedef typename ArgType::Scalar Scalar;
|
||||||
enum {
|
enum {
|
||||||
Flags = Eigen::ColMajor,
|
Flags = Eigen::ColMajor,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user