aboutsummaryrefslogtreecommitdiff
path: root/bench/benchmarkXcwise.cpp
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2012-11-02 10:59:05 +0000
committerXiaotao Duan <xiaotao@google.com>2012-11-07 14:17:48 -0800
commitc981c48f5bc9aefeffc0bcb0cc3934c2fae179dd (patch)
tree54d1c7d66098154c1d7c5bd414394ef4cf255810 /bench/benchmarkXcwise.cpp
parent63f67d748682b46d58be31235a0a2d64d81b998c (diff)
downloadeigen-c981c48f5bc9aefeffc0bcb0cc3934c2fae179dd.tar.gz
Added a README.android and a MODULE_LICENSE_MPL2 file. Added empty Android.mk and CleanSpec.mk to optimize Android build. Non MPL2 license code is disabled in ./Eigen/src/Core/util/NonMPL2.h. Trying to include such files will lead to an error. Change-Id: I0e148b7c3e83999bcc4dfaa5809d33bfac2aac32
Diffstat (limited to 'bench/benchmarkXcwise.cpp')
-rw-r--r--bench/benchmarkXcwise.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/bench/benchmarkXcwise.cpp b/bench/benchmarkXcwise.cpp
new file mode 100644
index 000000000..62437435e
--- /dev/null
+++ b/bench/benchmarkXcwise.cpp
@@ -0,0 +1,35 @@
+// g++ -O3 -DNDEBUG benchmarkX.cpp -o benchmarkX && time ./benchmarkX
+
+#include <iostream>
+#include <Eigen/Core>
+
+using namespace std;
+using namespace Eigen;
+
+#ifndef VECTYPE
+#define VECTYPE VectorXLd
+#endif
+
+#ifndef VECSIZE
+#define VECSIZE 1000000
+#endif
+
+#ifndef REPEAT
+#define REPEAT 1000
+#endif
+
+int main(int argc, char *argv[])
+{
+ VECTYPE I = VECTYPE::Ones(VECSIZE);
+ VECTYPE m(VECSIZE,1);
+ for(int i = 0; i < VECSIZE; i++)
+ {
+ m[i] = 0.1 * i/VECSIZE;
+ }
+ for(int a = 0; a < REPEAT; a++)
+ {
+ m = VECTYPE::Ones(VECSIZE) + 0.00005 * (m.cwise().square() + m/4);
+ }
+ cout << m[0] << endl;
+ return 0;
+}