Squashed 'third_party/eigen/' content from commit 61d72f6
Change-Id: Iccc90fa0b55ab44037f018046d2fcffd90d9d025
git-subtree-dir: third_party/eigen
git-subtree-split: 61d72f6383cfa842868c53e30e087b0258177257
diff --git a/bench/benchmarkX.cpp b/bench/benchmarkX.cpp
new file mode 100644
index 0000000..8e4b60c
--- /dev/null
+++ b/bench/benchmarkX.cpp
@@ -0,0 +1,36 @@
+// g++ -fopenmp -I .. -O3 -DNDEBUG -finline-limit=1000 benchmarkX.cpp -o b && time ./b
+
+#include <iostream>
+
+#include <Eigen/Core>
+
+using namespace std;
+using namespace Eigen;
+
+#ifndef MATTYPE
+#define MATTYPE MatrixXLd
+#endif
+
+#ifndef MATSIZE
+#define MATSIZE 400
+#endif
+
+#ifndef REPEAT
+#define REPEAT 100
+#endif
+
+int main(int argc, char *argv[])
+{
+ MATTYPE I = MATTYPE::Ones(MATSIZE,MATSIZE);
+ MATTYPE m(MATSIZE,MATSIZE);
+ for(int i = 0; i < MATSIZE; i++) for(int j = 0; j < MATSIZE; j++)
+ {
+ m(i,j) = (i+j+1)/(MATSIZE*MATSIZE);
+ }
+ for(int a = 0; a < REPEAT; a++)
+ {
+ m = I + 0.0001 * (m + m*m);
+ }
+ cout << m(0,0) << endl;
+ return 0;
+}