[SCM] Packaging for Eigen3. Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. branch, master, updated. upstream/3.0.0-3-g1c9787c

Anton Gladky gladky.anton at gmail.com
Wed May 4 21:12:32 UTC 2011


The following commit has been merged in the master branch:
commit 1c9787c00eb66f16f23eb35214328ccd995fe8e1
Author: Anton Gladky <gladky.anton at gmail.com>
Date:   Wed May 4 23:12:14 2011 +0200

    Patch update

diff --git a/debian/patches/fix_compile_with_gcc-4-6.patch b/debian/patches/fix_compile_with_gcc-4-6.patch
index 25230cd..54e491d 100644
--- a/debian/patches/fix_compile_with_gcc-4-6.patch
+++ b/debian/patches/fix_compile_with_gcc-4-6.patch
@@ -22,3 +22,55 @@ Last-Update: 2011-05-04
  
    // test no inner stride and some dynamic outer stride
    {
+--- a/Eigen/src/Core/arch/AltiVec/Complex.h
++++ b/Eigen/src/Core/arch/AltiVec/Complex.h
+@@ -70,7 +70,7 @@
+ {
+   Packet2cf res;
+   /* On AltiVec we cannot load 64-bit registers, so wa have to take care of alignment */
+-  if((ptrdiff_t(&from) % 16) == 0)
++  if((std::ptrdiff_t(&from) % 16) == 0)
+     res.v = pload<Packet4f>((const float *)&from);
+   else
+     res.v = ploadu<Packet4f>((const float *)&from);
+--- a/Eigen/src/Core/arch/AltiVec/PacketMath.h
++++ b/Eigen/src/Core/arch/AltiVec/PacketMath.h
+@@ -296,14 +296,14 @@
+ template<> EIGEN_STRONG_INLINE Packet4f ploaddup<Packet4f>(const float*   from)
+ {
+   Packet4f p;
+-  if((ptrdiff_t(&from) % 16) == 0)  p = pload<Packet4f>(from);
++  if((std::ptrdiff_t(&from) % 16) == 0)  p = pload<Packet4f>(from);
+   else                              p = ploadu<Packet4f>(from);
+   return vec_perm(p, p, p16uc_DUPLICATE);
+ }
+ template<> EIGEN_STRONG_INLINE Packet4i ploaddup<Packet4i>(const int*     from)
+ {
+   Packet4i p;
+-  if((ptrdiff_t(&from) % 16) == 0)  p = pload<Packet4i>(from);
++  if((std::ptrdiff_t(&from) % 16) == 0)  p = pload<Packet4i>(from);
+   else                              p = ploadu<Packet4i>(from);
+   return vec_perm(p, p, p16uc_DUPLICATE);
+ }
+--- a/Eigen/src/StlSupport/details.h
++++ b/Eigen/src/StlSupport/details.h
+@@ -38,7 +38,7 @@
+   {
+   public:
+     typedef size_t    size_type;
+-    typedef ptrdiff_t difference_type;
++    typedef std::ptrdiff_t difference_type;
+     typedef T*        pointer;
+     typedef const T*  const_pointer;
+     typedef T&        reference;
+--- a/unsupported/Eigen/FFT
++++ b/unsupported/Eigen/FFT
+@@ -393,7 +393,7 @@
+       for (int k=0;k<nx;++k)
+         *x++ *= s;
+ #else
+-      if ( ((ptrdiff_t)x) & 15 )
++      if ( ((std::ptrdiff_t)x) & 15 )
+         Matrix<T_Data, Dynamic, 1>::Map(x,nx) *= s;
+       else
+         Matrix<T_Data, Dynamic, 1>::MapAligned(x,nx) *= s;

-- 
Packaging for Eigen3. Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.



More information about the debian-science-commits mailing list