Go to the documentation of this file.00001
00002
00003 #include <iostream>
00004
00005 #include <Eigen/Core>
00006
00007 using namespace std;
00008 using namespace Eigen;
00009
00010 #ifndef REPEAT
00011 #define REPEAT 10000
00012 #endif
00013
00014 #ifndef SCALAR
00015 #define SCALAR float
00016 #endif
00017
00018 int main(int argc, char *argv[])
00019 {
00020 typedef Matrix<SCALAR, Eigen::Dynamic, Eigen::Dynamic> Mat;
00021 Mat m(100, 100);
00022 m.setRandom();
00023
00024 for(int a = 0; a < REPEAT; a++)
00025 {
00026 int r, c, nr, nc;
00027 r = Eigen::internal::random<int>(0,10);
00028 c = Eigen::internal::random<int>(0,10);
00029 nr = Eigen::internal::random<int>(50,80);
00030 nc = Eigen::internal::random<int>(50,80);
00031 m.block(r,c,nr,nc) += Mat::Ones(nr,nc);
00032 m.block(r,c,nr,nc) *= SCALAR(10);
00033 m.block(r,c,nr,nc) -= Mat::constant(nr,nc,10);
00034 m.block(r,c,nr,nc) /= SCALAR(10);
00035 }
00036 cout << m[0] << endl;
00037 return 0;
00038 }