aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/examples
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2017-01-29 14:29:31 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2017-01-29 14:29:31 +0100
commit0e89baa5d895e40bae63c804cd3d3c568dca50f1 (patch)
tree5ca000a97a71774cffde96cbb409a24a152fdfff /doc/examples
parentd024e9942d24e83478c1def5bbdf7f52895c5cc4 (diff)
parent15f273b63c1089df68129076de4f93cbd38aae5b (diff)
import yoco xiao's work on reshape
Diffstat (limited to 'doc/examples')
-rw-r--r--doc/examples/class_FixedReshape.cpp22
-rw-r--r--doc/examples/class_Reshape.cpp23
2 files changed, 45 insertions, 0 deletions
diff --git a/doc/examples/class_FixedReshape.cpp b/doc/examples/class_FixedReshape.cpp
new file mode 100644
index 000000000..40156a123
--- /dev/null
+++ b/doc/examples/class_FixedReshape.cpp
@@ -0,0 +1,22 @@
+#include <Eigen/Core>
+#include <iostream>
+using namespace Eigen;
+using namespace std;
+
+template<typename Derived>
+Eigen::Reshape<Derived, 4, 2>
+reshape_helper(MatrixBase<Derived>& m)
+{
+ return Eigen::Reshape<Derived, 4, 2>(m.derived());
+}
+
+int main(int, char**)
+{
+ MatrixXd m(2, 4);
+ m << 1, 2, 3, 4,
+ 5, 6, 7, 8;
+ MatrixXd n = reshape_helper(m);
+ cout << "matrix m is:" << endl << m << endl;
+ cout << "matrix n is:" << endl << n << endl;
+ return 0;
+}
diff --git a/doc/examples/class_Reshape.cpp b/doc/examples/class_Reshape.cpp
new file mode 100644
index 000000000..b9abdc2d5
--- /dev/null
+++ b/doc/examples/class_Reshape.cpp
@@ -0,0 +1,23 @@
+#include <Eigen/Core>
+#include <iostream>
+using namespace std;
+using namespace Eigen;
+
+template<typename Derived>
+const Reshape<const Derived>
+reshape_helper(const MatrixBase<Derived>& m, int rows, int cols)
+{
+ return Reshape<const Derived>(m.derived(), rows, cols);
+}
+
+int main(int, char**)
+{
+ MatrixXd m(3, 4);
+ m << 1, 4, 7, 10,
+ 2, 5, 8, 11,
+ 3, 6, 9, 12;
+ cout << m << endl;
+ auto n = reshape_helper(m, 2, 6);
+ cout << "Matrix m is:" << endl << m << endl;
+ cout << "Matrix n is:" << endl << n << endl;
+}