57 Scalar largeEps = test_precision<Scalar>();
62 Vector3 v0 = Vector3::Random(),
v1 = Vector3::Random(),
v2 = Vector3::Random(), v3 = Vector3::Random();
70 VERIFY_IS_APPROX(Quaternionx(Quaternionx::Identity()).coeffs(), q2.coeffs());
71 q1.coeffs().setRandom();
76 std::ostringstream ss;
78 VERIFY(ss.str() ==
"0i + 0j + 0k + 1");
84 q1 = AngleAxisx(
a, v0.normalized());
85 q2 = AngleAxisx(
a,
v1.normalized());
88 Scalar refangle =
abs(AngleAxisx(q1.inverse() * q2).angle());
91 if ((q1.coeffs() - q2.coeffs()).norm() >
Scalar(10) * largeEps) {
104 !(q2 * q1 *
v2).
isApprox(q1.toRotationMatrix() * q2.toRotationMatrix() *
v2));
106 q2 = q1.toRotationMatrix();
111 Quaternionx q3(rot1.transpose() * rot1);
115 AngleAxisx aa = AngleAxisx(q1);
120 if (
abs(aa.angle()) >
Scalar(5) * test_precision<Scalar>() && (aa.axis() -
v1.normalized()).norm() <
Scalar(1.99) &&
121 (aa.axis() +
v1.normalized()).norm() <
Scalar(1.99)) {
156 Quaternionx*
q =
new Quaternionx;
159 q1 = Quaternionx::UnitRandom();
160 q2 = Quaternionx::UnitRandom();
163 q1 = AngleAxisx(
b,
v1.normalized());
167 q1 = AngleAxisx(
b,
v1.normalized());
168 q2 = AngleAxisx(-
b, -
v1.normalized());
171 q1 = Quaternionx::UnitRandom();
172 q2.coeffs() = -q1.coeffs();
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Map< RowVectorXf > v2(M2.data(), M2.size())
Scalar * b
Definition: benchVecAdd.cpp:17
Eigen::Map< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor >, 0, Eigen::OuterStride<> > matrix(T *data, int rows, int cols, int stride)
Definition: common.h:85
void check_slerp(const QuatType &q0, const QuatType &q1)
Definition: geo_quaternion.cpp:26
#define VERIFY_IS_NOT_APPROX(a, b)
Definition: integer_types.cpp:15
#define VERIFY_IS_MUCH_SMALLER_THAN(a, b)
Definition: main.h:371
double eps
Definition: crbond_bessel.cc:24
EIGEN_DEVICE_FUNC bool isApprox(const Scalar &x, const Scalar &y, const typename NumTraits< Scalar >::Real &precision=NumTraits< Scalar >::dummy_precision())
Definition: MathFunctions.h:1923
squared absolute value
Definition: GlobalFunctions.h:87