2007-10-07 23:59:09 +08:00
|
|
|
#include "../src/Core.h"
|
2007-09-28 14:17:36 +08:00
|
|
|
|
2007-10-12 04:14:01 +08:00
|
|
|
USING_EIGEN_DATA_TYPES
|
|
|
|
|
|
2007-09-28 14:17:36 +08:00
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
template<typename Scalar, typename Derived>
|
2007-10-12 04:14:01 +08:00
|
|
|
void foo(const Eigen::Object<Scalar, Derived>& m)
|
2007-09-28 14:17:36 +08:00
|
|
|
{
|
|
|
|
|
cout << "Here's m:" << endl << m << endl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template<typename Scalar, typename Derived>
|
2007-10-13 22:19:23 +08:00
|
|
|
Eigen::ScalarMultiple<Derived>
|
2007-10-12 04:14:01 +08:00
|
|
|
twice(const Eigen::Object<Scalar, Derived>& m)
|
2007-09-28 14:17:36 +08:00
|
|
|
{
|
2007-09-29 16:28:36 +08:00
|
|
|
return 2 * m;
|
2007-09-28 14:17:36 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int main(int, char**)
|
|
|
|
|
{
|
2007-10-12 04:14:01 +08:00
|
|
|
Matrix2d m;
|
2007-09-28 14:17:36 +08:00
|
|
|
m(0,0)= 1;
|
|
|
|
|
m(1,0)= 2;
|
|
|
|
|
m(0,1)= 3;
|
|
|
|
|
m(1,1)= 4;
|
|
|
|
|
foo(m);
|
|
|
|
|
foo(twice(m));
|
|
|
|
|
return 0;
|
|
|
|
|
}
|