9 template class Map<Sophus::SO2<double>>;
 
   10 template class Map<Sophus::SO2<double> 
const>;
 
   15 template class SO2<double, Eigen::AutoAlign>;
 
   16 template class SO2<float, Eigen::DontAlign>;
 
   18 template class SO2<ceres::Jet<double, 3>>;
 
   21 template <
class Scalar>
 
   70     for (std::size_t i = 0; i < 1000; ++i) {
 
   83     Eigen::Map<SO2Type const> map_of_const_so2(raw.data());
 
   88     Eigen::Map<SO2Type const> const_shallow_copy = map_of_const_so2;
 
   90                       map_of_const_so2.unit_complex().eval());
 
   93     Eigen::Map<SO2Type> map_of_so2(raw.data());
 
   94     map_of_so2.setComplex(raw2);
 
   99     Eigen::Map<SO2Type> shallow_copy = map_of_so2;
 
  101                       map_of_so2.unit_complex().eval());
 
  104     for (
int i = 0; i < 2; ++i) {
 
  109     for (
int i = 0; i < 2; ++i) {
 
  110       so2.data()[i] = raw[i];
 
  113     for (
int i = 0; i < 2; ++i) {
 
  128   template <
class S = Scalar>
 
  132     for (
int i = 0; i < 100; ++i) {
 
  143   template <
class S = Scalar>
 
  148   std::vector<SO2Type, Eigen::aligned_allocator<SO2Type>> 
so2_vec_;
 
  149   std::vector<Tangent, Eigen::aligned_allocator<Tangent>> 
tangent_vec_;
 
  150   std::vector<Point, Eigen::aligned_allocator<Point>> 
point_vec_;
 
  157   cerr << 
"Test SO2" << endl << endl;
 
  158   cerr << 
"Double tests: " << endl;
 
  160   cerr << 
"Float tests: " << endl;
 
  164   cerr << 
"ceres::Jet<double, 3> tests: " << endl;