Go to the documentation of this file.
3 #include <Eigen/Geometry>
8 template<
typename Quat>
14 template<
typename Quat>
20 template<
typename Quat>
void bench(
const std::string& label)
30 std::cout.precision(3);
33 std::cout << label <<
" default " << 1e3*
t.best(
CPU_TIMER) <<
"ms \t" << 1
e-6*double(rep)/(
t.best(
CPU_TIMER)) <<
" M mul/s\n";
36 std::cout << label <<
" novec " << 1e3*
t.best(
CPU_TIMER) <<
"ms \t" << 1
e-6*double(rep)/(
t.best(
CPU_TIMER)) <<
" M mul/s\n";
41 bench<Quaternionf>(
"float ");
42 bench<Quaterniond>(
"double");
void bench(const std::string &label)
Namespace containing all symbols from the Eigen library.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
EIGEN_DONT_INLINE void quatmul_default(const Quat &a, const Quat &b, Quat &c)
#define BENCH(TIMER, TRIES, REP, CODE)
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Quaternion< Scalar > run(const QuaternionBase< Derived1 > &a, const QuaternionBase< Derived2 > &b)
EIGEN_DONT_INLINE void quatmul_novec(const Quat &a, const Quat &b, Quat &c)
#define EIGEN_DONT_INLINE
gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:03:54