From eb7dcbbfce3b82f03722eea9065cc0a6d37e9fc1 Mon Sep 17 00:00:00 2001 From: Benoit Jacob Date: Thu, 8 Jan 2009 15:37:13 +0000 Subject: EIGEN_MAKE_ALIGNED_OPERATOR_NEW didn't actually need to get the class name as parameter --- Eigen/src/Core/Matrix.h | 2 +- Eigen/src/Core/util/Memory.h | 14 +++++++------- Eigen/src/Geometry/AlignedBox.h | 2 +- Eigen/src/Geometry/Hyperplane.h | 2 +- Eigen/src/Geometry/ParametrizedLine.h | 2 +- Eigen/src/Geometry/Quaternion.h | 2 +- Eigen/src/Geometry/Scaling.h | 2 +- Eigen/src/Geometry/Transform.h | 2 +- Eigen/src/Geometry/Translation.h | 2 +- doc/UnalignedArrayAssert.dox | 8 ++++---- test/dynalloc.cpp | 4 ++-- test/unalignedassert.cpp | 6 +++--- 12 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Eigen/src/Core/Matrix.h b/Eigen/src/Core/Matrix.h index 37693acea..d16cae031 100644 --- a/Eigen/src/Core/Matrix.h +++ b/Eigen/src/Core/Matrix.h @@ -135,7 +135,7 @@ class Matrix public: enum { NeedsToAlign = (Options&AutoAlign) == AutoAlign && SizeAtCompileTime!=Dynamic && ((sizeof(Scalar)*SizeAtCompileTime)%16)==0 }; - EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(Matrix,NeedsToAlign) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign) EIGEN_STRONG_INLINE int rows() const { return m_storage.rows(); } EIGEN_STRONG_INLINE int cols() const { return m_storage.cols(); } diff --git a/Eigen/src/Core/util/Memory.h b/Eigen/src/Core/util/Memory.h index ef4c194fa..c475178a1 100644 --- a/Eigen/src/Core/util/Memory.h +++ b/Eigen/src/Core/util/Memory.h @@ -219,7 +219,7 @@ inline static int ei_alignmentOffset(const Scalar* ptr, int maxOffset) * Here is a similar safe example: * \code * struct Foo { - * EIGEN_MAKE_ALIGNED_OPERATOR_NEW(Foo) + * EIGEN_MAKE_ALIGNED_OPERATOR_NEW * char dummy; * Vector4f some_vector; * }; @@ -229,7 +229,7 @@ inline static int ei_alignmentOffset(const Scalar* ptr, int maxOffset) * * \sa class ei_new_allocator */ -#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(Type,NeedsToAlign) \ +#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign) \ void *operator new(size_t size) throw() { \ return Eigen::ei_conditional_aligned_malloc(size); \ } \ @@ -239,14 +239,14 @@ inline static int ei_alignmentOffset(const Scalar* ptr, int maxOffset) void operator delete(void * ptr) { Eigen::ei_aligned_free(ptr); } \ void operator delete[](void * ptr) { Eigen::ei_aligned_free(ptr); } -#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW(Type) EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(Type,true) -#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(Type,Scalar,Size) \ - EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(Type,((Size)!=Eigen::Dynamic) && ((sizeof(Scalar)*(Size))%16==0)) +#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(true) +#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(Scalar,Size) \ + EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(((Size)!=Eigen::Dynamic) && ((sizeof(Scalar)*(Size))%16==0)) -/** Deprecated, use the EIGEN_MAKE_ALIGNED_OPERATOR_NEW(Class) macro instead in your own class */ +/** Deprecated, use the EIGEN_MAKE_ALIGNED_OPERATOR_NEW macro instead in your own class */ struct WithAlignedOperatorNew { - EIGEN_MAKE_ALIGNED_OPERATOR_NEW(WithAlignedOperatorNew) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW }; /** \class ei_new_allocator diff --git a/Eigen/src/Geometry/AlignedBox.h b/Eigen/src/Geometry/AlignedBox.h index c33ae1ae8..1c2635cd5 100644 --- a/Eigen/src/Geometry/AlignedBox.h +++ b/Eigen/src/Geometry/AlignedBox.h @@ -41,7 +41,7 @@ template class AlignedBox { public: -EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(AlignedBox,_Scalar,_AmbientDim==Dynamic ? Dynamic : _AmbientDim+1) +EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(_Scalar,_AmbientDim==Dynamic ? Dynamic : _AmbientDim+1) enum { AmbientDimAtCompileTime = _AmbientDim }; typedef _Scalar Scalar; typedef typename NumTraits::Real RealScalar; diff --git a/Eigen/src/Geometry/Hyperplane.h b/Eigen/src/Geometry/Hyperplane.h index 1fbb94622..a3425f6cb 100644 --- a/Eigen/src/Geometry/Hyperplane.h +++ b/Eigen/src/Geometry/Hyperplane.h @@ -47,7 +47,7 @@ template class Hyperplane { public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(Hyperplane,_Scalar,_AmbientDim==Dynamic ? Dynamic : _AmbientDim+1) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(_Scalar,_AmbientDim==Dynamic ? Dynamic : _AmbientDim+1) enum { AmbientDimAtCompileTime = _AmbientDim }; typedef _Scalar Scalar; typedef typename NumTraits::Real RealScalar; diff --git a/Eigen/src/Geometry/ParametrizedLine.h b/Eigen/src/Geometry/ParametrizedLine.h index e40d19bcc..da30c8e82 100644 --- a/Eigen/src/Geometry/ParametrizedLine.h +++ b/Eigen/src/Geometry/ParametrizedLine.h @@ -43,7 +43,7 @@ template class ParametrizedLine { public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(ParametrizedLine,_Scalar,_AmbientDim) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(_Scalar,_AmbientDim) enum { AmbientDimAtCompileTime = _AmbientDim }; typedef _Scalar Scalar; typedef typename NumTraits::Real RealScalar; diff --git a/Eigen/src/Geometry/Quaternion.h b/Eigen/src/Geometry/Quaternion.h index 86f343291..f595adcb9 100644 --- a/Eigen/src/Geometry/Quaternion.h +++ b/Eigen/src/Geometry/Quaternion.h @@ -65,7 +65,7 @@ class Quaternion : public RotationBase,3> Coefficients m_coeffs; public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(Quaternion,_Scalar,4) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(_Scalar,4) using Base::operator*; diff --git a/Eigen/src/Geometry/Scaling.h b/Eigen/src/Geometry/Scaling.h index 0ee5d38b0..d46296707 100644 --- a/Eigen/src/Geometry/Scaling.h +++ b/Eigen/src/Geometry/Scaling.h @@ -43,7 +43,7 @@ template class Scaling { public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(Scaling,_Scalar,_Dim) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(_Scalar,_Dim) /** dimension of the space */ enum { Dim = _Dim }; /** the scalar type of the coefficients */ diff --git a/Eigen/src/Geometry/Transform.h b/Eigen/src/Geometry/Transform.h index 2f1b9a75c..cb092985f 100644 --- a/Eigen/src/Geometry/Transform.h +++ b/Eigen/src/Geometry/Transform.h @@ -63,7 +63,7 @@ template class Transform { public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(Transform,_Scalar,_Dim==Dynamic ? Dynamic : (_Dim+1)*(_Dim+1)) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(_Scalar,_Dim==Dynamic ? Dynamic : (_Dim+1)*(_Dim+1)) enum { Dim = _Dim, ///< space dimension in which the transformation holds HDim = _Dim+1 ///< size of a respective homogeneous vector diff --git a/Eigen/src/Geometry/Translation.h b/Eigen/src/Geometry/Translation.h index 9a51830d5..ab8ce3899 100644 --- a/Eigen/src/Geometry/Translation.h +++ b/Eigen/src/Geometry/Translation.h @@ -43,7 +43,7 @@ template class Translation { public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(Translation,_Scalar,_Dim) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE(_Scalar,_Dim) /** dimension of the space */ enum { Dim = _Dim }; /** the scalar type of the coefficients */ diff --git a/doc/UnalignedArrayAssert.dox b/doc/UnalignedArrayAssert.dox index 8a001dfa3..64ac6432f 100644 --- a/doc/UnalignedArrayAssert.dox +++ b/doc/UnalignedArrayAssert.dox @@ -54,7 +54,7 @@ class Foo Eigen::Vector2d v; ... public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW(Foo) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW }; ... @@ -144,7 +144,7 @@ class Foo double x; Eigen::Vector2d v; public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW(Foo) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW }; \endcode @@ -156,7 +156,7 @@ class Foo Eigen::Vector2d v; double x; public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW(Foo) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW }; \endcode @@ -183,7 +183,7 @@ template class Foo Vector v; ... public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(Foo,NeedsToAlign) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(NeedsToAlign) }; ... diff --git a/test/dynalloc.cpp b/test/dynalloc.cpp index d829008d5..916193df0 100644 --- a/test/dynalloc.cpp +++ b/test/dynalloc.cpp @@ -27,7 +27,7 @@ // test compilation with both a struct and a class... struct MyStruct { - EIGEN_MAKE_ALIGNED_OPERATOR_NEW(MyStruct) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW char dummychar; Vector4f avec; }; @@ -35,7 +35,7 @@ struct MyStruct class MyClassA { public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW(MyClassA) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW char dummychar; Vector4f avec; }; diff --git a/test/unalignedassert.cpp b/test/unalignedassert.cpp index 8e0486e92..cfb44dc84 100644 --- a/test/unalignedassert.cpp +++ b/test/unalignedassert.cpp @@ -57,14 +57,14 @@ struct Bad6 struct Good7 { - EIGEN_MAKE_ALIGNED_OPERATOR_NEW(Good7) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW Vector2d m; float f; // make the struct have sizeof%16!=0 to make it a little more tricky when we allow an array of 2 such objects }; struct Good8 { - EIGEN_MAKE_ALIGNED_OPERATOR_NEW(Good8) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW float f; // try the f at first -- the EIGEN_ALIGN_128 attribute of m should make that still work Matrix4f m; }; @@ -77,7 +77,7 @@ struct Good9 template struct Depends { - EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(Depends,Align) + EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF(Align) Vector2d m; float f; }; -- cgit v1.2.3