benchGeometry.cpp File Reference
#include <iostream>
#include <iomanip>
#include <Eigen/Core>
#include <Eigen/Geometry>
#include <bench/BenchTimer.h>

Classes

struct  func< res, arg1, arg2, TV >
 
struct  func< res, arg1, arg2, TMATV >
 
struct  func< res, arg1, arg2, TMATVMAT >
 
struct  test_transform< func, arg1, arg2 >
 

Macros

#define REPEAT   1000000
 
#define run_vec(op, scalar, mode, option, vsize)
 
#define run_trans(op, scalar, mode, option)
 

Enumerations

enum  func_opt { TV , TMATV , TMATVMAT }
 

Functions

int main (int argc, char *argv[])
 

Macro Definition Documentation

◆ REPEAT

#define REPEAT   1000000

◆ run_trans

#define run_trans (   op,
  scalar,
  mode,
  option 
)
Value:
std::cout << #scalar << "\t " << #mode << "\t " << #option << " "; \
{ \
}
Represents an homogeneous transformation in a N dimensional space.
Definition: Transform.h:192
Definition: benchGeometry.cpp:21
static void run()
Definition: benchGeometry.cpp:49

◆ run_vec

#define run_vec (   op,
  scalar,
  mode,
  option,
  vsize 
)
Value:
std::cout << #scalar << "\t " << #mode << "\t " << #option << " " << #vsize " "; \
{ \
}
The matrix class, also used for vectors and row-vectors.
Definition: Eigen/Eigen/src/Core/Matrix.h:186
Matrix< Scalar, Dynamic, 1 > Vec
Definition: gemv_common.h:17

Enumeration Type Documentation

◆ func_opt

enum func_opt
Enumerator
TV 
TMATV 
TMATVMAT 
14  {
15  TV,
16  TMATV,
17  TMATVMAT,
18 };
@ TMATV
Definition: benchGeometry.cpp:16
@ TMATVMAT
Definition: benchGeometry.cpp:17
@ TV
Definition: benchGeometry.cpp:15

Function Documentation

◆ main()

int main ( int argc  ,
char argv[] 
)
84  {
85  cout << "vec = trans * vec" << endl;
86  run_vec(TV, float, Isometry, AutoAlign, 3);
87  run_vec(TV, float, Isometry, DontAlign, 3);
88  run_vec(TV, float, Isometry, AutoAlign, 4);
89  run_vec(TV, float, Isometry, DontAlign, 4);
90  run_vec(TV, float, Projective, AutoAlign, 4);
91  run_vec(TV, float, Projective, DontAlign, 4);
92  run_vec(TV, double, Isometry, AutoAlign, 3);
93  run_vec(TV, double, Isometry, DontAlign, 3);
94  run_vec(TV, double, Isometry, AutoAlign, 4);
95  run_vec(TV, double, Isometry, DontAlign, 4);
96  run_vec(TV, double, Projective, AutoAlign, 4);
97  run_vec(TV, double, Projective, DontAlign, 4);
98 
99  cout << "vec = trans.matrix() * vec" << endl;
100  run_vec(TMATV, float, Isometry, AutoAlign, 4);
101  run_vec(TMATV, float, Isometry, DontAlign, 4);
102  run_vec(TMATV, double, Isometry, AutoAlign, 4);
103  run_vec(TMATV, double, Isometry, DontAlign, 4);
104 
105  cout << "trans = trans1 * trans" << endl;
106  run_trans(TV, float, Isometry, AutoAlign);
107  run_trans(TV, float, Isometry, DontAlign);
108  run_trans(TV, double, Isometry, AutoAlign);
109  run_trans(TV, double, Isometry, DontAlign);
110  run_trans(TV, float, Projective, AutoAlign);
111  run_trans(TV, float, Projective, DontAlign);
112  run_trans(TV, double, Projective, AutoAlign);
113  run_trans(TV, double, Projective, DontAlign);
114 
115  cout << "trans = trans1.matrix() * trans.matrix()" << endl;
120 }
#define run_vec(op, scalar, mode, option, vsize)
Definition: benchGeometry.cpp:67
#define run_trans(op, scalar, mode, option)
Definition: benchGeometry.cpp:76
@ DontAlign
Definition: Constants.h:324
@ AutoAlign
Definition: Constants.h:322
@ Projective
Definition: Constants.h:462
@ Isometry
Definition: Constants.h:455

References Eigen::AutoAlign, Eigen::DontAlign, Eigen::Isometry, Eigen::Projective, run_trans, run_vec, TMATV, TMATVMAT, and TV.