9 template class Map<Sophus::RxSO3<double>>;
 
   10 template class Map<Sophus::RxSO3<double> 
const>;
 
   15 template class RxSO3<double, Eigen::AutoAlign>;
 
   16 template class RxSO3<float, Eigen::DontAlign>;
 
   18 template class RxSO3<ceres::Jet<double, 3>>;
 
   21 template <
class Scalar_>
 
  100     RxSO3Type saturated_product = small1 * small2;
 
  105                        (small1.so3() * small2.so3()).matrix(),
 
  114     Eigen::Map<RxSO3Type const> map_of_const_rxso3(raw.data());
 
  119     Eigen::Map<RxSO3Type const> const_shallow_copy = map_of_const_rxso3;
 
  121                       map_of_const_rxso3.quaternion().coeffs().eval());
 
  125     Eigen::Map<RxSO3Type> map_of_rxso3(raw.data());
 
  126     Eigen::Quaternion<Scalar> quat;
 
  127     quat.coeffs() = raw2;
 
  128     map_of_rxso3.setQuaternion(quat);
 
  134                     quat.coeffs().data());
 
  135     Eigen::Map<RxSO3Type> shallow_copy = map_of_rxso3;
 
  137                       map_of_rxso3.quaternion().coeffs().eval());
 
  140     for (
int i = 0; i < 4; ++i) {
 
  145     for (
int i = 0; i < 4; ++i) {
 
  146       so3.data()[i] = raw[i];
 
  149     for (
int i = 0; i < 4; ++i) {
 
  160     rxso3.setScale(scale);
 
  171                        "RxSO3(scale, SO3)");
 
  178     rxso3.setScaledRotationMatrix(sR);
 
  180                        "setScaleRotationMatrix");
 
  181     rxso3.setScale(scale);
 
  182     rxso3.setRotationMatrix(R);
 
  191   template <
class S = Scalar>
 
  194     for (
int i = 0; i < 10; ++i) {
 
  200                     "isScaledOrthogonalAndPositive(sR): % *\n%", scale, R);
 
  202         sR_cols_swapped << sR.col(1), sR.col(0), sR.col(2);
 
  204                     "isScaledOrthogonalAndPositive(-sR): % *\n%", scale, R);
 
  210   template <
class S = Scalar>
 
  215   std::vector<RxSO3Type, Eigen::aligned_allocator<RxSO3Type>> 
rxso3_vec_;
 
  216   std::vector<Tangent, Eigen::aligned_allocator<Tangent>> 
tangent_vec_;
 
  217   std::vector<Point, Eigen::aligned_allocator<Point>> 
point_vec_;
 
  224   cerr << 
"Test RxSO3" << endl << endl;
 
  225   cerr << 
"Double tests: " << endl;
 
  227   cerr << 
"Float tests: " << endl;
 
  231   cerr << 
"ceres::Jet<double, 3> tests: " << endl;