aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/Core5
-rw-r--r--Eigen/Geometry2
-rw-r--r--Eigen/src/Core/Assign.h68
-rw-r--r--Eigen/src/Geometry/AngleAxis.h6
-rw-r--r--Eigen/src/Geometry/Quaternion.h6
-rw-r--r--Eigen/src/Geometry/Rotation.h4
-rw-r--r--Eigen/src/Geometry/Transform.h10
7 files changed, 36 insertions, 65 deletions
diff --git a/Eigen/Core b/Eigen/Core
index 9e753a517..b1b61ebc2 100644
--- a/Eigen/Core
+++ b/Eigen/Core
@@ -9,8 +9,9 @@
namespace Eigen {
/** \defgroup Core_Module Core module
- * This is the main module of Eigen providing dense matrix and vector support with
- * features equivalent to a BLAS library and much more...
+ * This is the main module of Eigen providing dense matrix and vector support
+ * (both fixed and dynamic size) with all the features corresponding to a BLAS library
+ * and much more...
*
* \code
* #include <Eigen/Core>
diff --git a/Eigen/Geometry b/Eigen/Geometry
index b5a80bd50..61b7d7038 100644
--- a/Eigen/Geometry
+++ b/Eigen/Geometry
@@ -9,7 +9,7 @@
namespace Eigen {
-/** \defgroup Geometry Geometry module
+/** \defgroup GeometryModule Geometry module
* This module provides support for:
* - fixed-size homogeneous transformations
* - 2D and 3D rotations
diff --git a/Eigen/src/Core/Assign.h b/Eigen/src/Core/Assign.h
index 7bdf312c2..758858165 100644
--- a/Eigen/src/Core/Assign.h
+++ b/Eigen/src/Core/Assign.h
@@ -299,58 +299,28 @@ struct ei_assign_impl<Derived1, Derived2, InnerVectorization, InnerUnrolling>
*** Linear vectorization ***
***************************/
-// template<typename Derived1, typename Derived2>
-// struct ei_assign_impl<Derived1, Derived2, LinearVectorization, NoUnrolling>
-// {
-// static void run(Derived1 &dst, const Derived2 &src)
-// {
-// const int size = dst.size();
-// const int packetSize = ei_packet_traits<typename Derived1::Scalar>::size;
-// const int alignedStart = ei_assign_traits<Derived1,Derived2>::DstIsAligned ? 0
-// : ei_alignmentOffset(&dst.coeffRef(0), size);
-// const int alignedEnd = alignedStart + ((size-alignedStart)/packetSize)*packetSize;
-//
-// for(int index = 0; index < alignedStart; index++)
-// dst.copyCoeff(index, src);
-//
-// for(int index = alignedStart; index < alignedEnd; index += packetSize)
-// {
-// dst.template copyPacket<Derived2, Aligned, ei_assign_traits<Derived1,Derived2>::SrcAlignment>(index, src);
-// }
-//
-// for(int index = alignedEnd; index < size; index++)
-// dst.copyCoeff(index, src);
-// }
-// };
template<typename Derived1, typename Derived2>
struct ei_assign_impl<Derived1, Derived2, LinearVectorization, NoUnrolling>
{
- static void run(Derived1 &dst, const Derived2 &src)
- {
- asm("#begin");
- const int size = dst.size();
- const int packetSize = ei_packet_traits<typename Derived1::Scalar>::size;
- const int alignedStart = ei_assign_traits<Derived1,Derived2>::DstIsAligned ? 0
- : ei_alignmentOffset(&dst.coeffRef(0), size);
- const int alignedEnd = alignedStart + ((size-alignedStart)/packetSize)*packetSize;
-
- asm("#unaligned start");
-
- for(int index = 0; index < alignedStart; index++)
- dst.copyCoeff(index, src);
- asm("#aligned middle");
-
- for(int index = alignedStart; index < alignedEnd; index += packetSize)
- {
- dst.template copyPacket<Derived2, Aligned, ei_assign_traits<Derived1,Derived2>::SrcAlignment>(index, src);
- }
-
- asm("#unaligned end");
-
- for(int index = alignedEnd; index < size; index++)
- dst.copyCoeff(index, src);
- asm("#end");
- }
+ static void run(Derived1 &dst, const Derived2 &src)
+ {
+ const int size = dst.size();
+ const int packetSize = ei_packet_traits<typename Derived1::Scalar>::size;
+ const int alignedStart = ei_assign_traits<Derived1,Derived2>::DstIsAligned ? 0
+ : ei_alignmentOffset(&dst.coeffRef(0), size);
+ const int alignedEnd = alignedStart + ((size-alignedStart)/packetSize)*packetSize;
+
+ for(int index = 0; index < alignedStart; index++)
+ dst.copyCoeff(index, src);
+
+ for(int index = alignedStart; index < alignedEnd; index += packetSize)
+ {
+ dst.template copyPacket<Derived2, Aligned, ei_assign_traits<Derived1,Derived2>::SrcAlignment>(index, src);
+ }
+
+ for(int index = alignedEnd; index < size; index++)
+ dst.copyCoeff(index, src);
+ }
};
template<typename Derived1, typename Derived2>
diff --git a/Eigen/src/Geometry/AngleAxis.h b/Eigen/src/Geometry/AngleAxis.h
index 503a3d160..502cbd0ec 100644
--- a/Eigen/src/Geometry/AngleAxis.h
+++ b/Eigen/src/Geometry/AngleAxis.h
@@ -25,7 +25,7 @@
#ifndef EIGEN_ANGLEAXIS_H
#define EIGEN_ANGLEAXIS_H
-/** \geometry_module \ingroup Geometry
+/** \geometry_module \ingroup GeometryModule
*
* \class AngleAxis
*
@@ -122,10 +122,10 @@ public:
Matrix3 toRotationMatrix(void) const;
};
-/** \ingroup Geometry
+/** \ingroup GeometryModule
* single precision angle-axis type */
typedef AngleAxis<float> AngleAxisf;
-/** \ingroup Geometry
+/** \ingroup GeometryModule
* double precision angle-axis type */
typedef AngleAxis<double> AngleAxisd;
diff --git a/Eigen/src/Geometry/Quaternion.h b/Eigen/src/Geometry/Quaternion.h
index 56cb87493..a0d32bec8 100644
--- a/Eigen/src/Geometry/Quaternion.h
+++ b/Eigen/src/Geometry/Quaternion.h
@@ -30,7 +30,7 @@ template<typename Other,
int OtherCols=Other::ColsAtCompileTime>
struct ei_quaternion_assign_impl;
-/** \geometry_module \ingroup Geometry
+/** \geometry_module \ingroup GeometryModule
*
* \class Quaternion
*
@@ -169,10 +169,10 @@ public:
};
-/** \ingroup Geometry
+/** \ingroup GeometryModule
* single precision quaternion type */
typedef Quaternion<float> Quaternionf;
-/** \ingroup Geometry
+/** \ingroup GeometryModule
* double precision quaternion type */
typedef Quaternion<double> Quaterniond;
diff --git a/Eigen/src/Geometry/Rotation.h b/Eigen/src/Geometry/Rotation.h
index 47a10938e..a0421b211 100644
--- a/Eigen/src/Geometry/Rotation.h
+++ b/Eigen/src/Geometry/Rotation.h
@@ -103,7 +103,7 @@ struct ToRotationMatrix<Scalar, Dim, MatrixBase<OtherDerived> >
}
};
-/** \geometry_module \ingroup Geometry
+/** \geometry_module \ingroup GeometryModule
*
* \class Rotation2D
*
@@ -114,7 +114,7 @@ struct ToRotationMatrix<Scalar, Dim, MatrixBase<OtherDerived> >
* This class is equivalent to a single scalar representing a counter clock wise rotation
* as a single angle in radian. It provides some additional features such as the automatic
* conversion from/to a 2x2 rotation matrix. Moreover this class aims to provide a similar
- * interface to Quaternion in order to facilitate the writing of generic algorithm
+ * interface to Quaternion in order to facilitate the writing of generic algorithms
* dealing with rotations.
*
* \sa class Quaternion, class Transform
diff --git a/Eigen/src/Geometry/Transform.h b/Eigen/src/Geometry/Transform.h
index 4645083b3..9caaa2418 100644
--- a/Eigen/src/Geometry/Transform.h
+++ b/Eigen/src/Geometry/Transform.h
@@ -35,7 +35,7 @@ template< typename Other,
int OtherCols=Other::ColsAtCompileTime>
struct ei_transform_product_impl;
-/** \geometry_module \ingroup Geometry
+/** \geometry_module \ingroup GeometryModule
*
* \class Transform
*
@@ -202,13 +202,13 @@ protected:
};
-/** \ingroup Geometry */
+/** \ingroup GeometryModule */
typedef Transform<float,2> Transform2f;
-/** \ingroup Geometry */
+/** \ingroup GeometryModule */
typedef Transform<float,3> Transform3f;
-/** \ingroup Geometry */
+/** \ingroup GeometryModule */
typedef Transform<double,2> Transform2d;
-/** \ingroup Geometry */
+/** \ingroup GeometryModule */
typedef Transform<double,3> Transform3d;
#ifdef EIGEN_QT_SUPPORT