guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: gnu: eigen: Update to 3.3.5.


From: Tobias Geerinckx-Rice
Subject: 02/02: gnu: eigen: Update to 3.3.5.
Date: Sat, 18 Aug 2018 11:29:01 -0400 (EDT)

nckx pushed a commit to branch master
in repository guix.

commit 8cd80a4b61962c001bcaf7f3deb10bca88bf22f3
Author: Tobias Geerinckx-Rice <address@hidden>
Date:   Sat Aug 18 16:21:22 2018 +0200

    gnu: eigen: Update to 3.3.5.
    
    * gnu/packages/algebra.scm (eigen): Update to 3.3.5.
    [source]: Remove upstreamed ARM patch and obsolete substitutions.
    * gnu/packages/patches/eigen-arm-neon-fixes.patch: Delete file.
    * gnu/local.mk (dist_patch_DATA): Remove it.
---
 gnu/local.mk                                    |   1 -
 gnu/packages/algebra.scm                        |  15 +-
 gnu/packages/patches/eigen-arm-neon-fixes.patch | 245 ------------------------
 3 files changed, 2 insertions(+), 259 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index aa5188f..7270560 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -649,7 +649,6 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/doxygen-gcc-ice.patch                   \
   %D%/packages/patches/doxygen-test.patch                      \
   %D%/packages/patches/dvd+rw-tools-add-include.patch          \
-  %D%/packages/patches/eigen-arm-neon-fixes.patch              \
   %D%/packages/patches/elfutils-tests-ptrace.patch             \
   %D%/packages/patches/elogind-glibc-2.27.patch                        \
   %D%/packages/patches/einstein-build.patch                    \
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index a58ad84..bb5c80b 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -697,16 +697,15 @@ Sine Transform} (DST) and @dfn{Discrete Hartley 
Transform} (DHT).")
 (define-public eigen
   (package
     (name "eigen")
-    (version "3.3.4")
+    (version "3.3.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://bitbucket.org/eigen/eigen/get/";
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "19m4406jvqnwh7kpcvx1lfx2vdc5zwia5q9ayv89bimg1gmln9fx"))
+                "1qh3yrwn78ms5yhwbpl5wvblk4gbz02cacdygxylr7i9xbrvylkk"))
               (file-name (string-append name "-" version ".tar.bz2"))
-             (patches (search-patches "eigen-arm-neon-fixes.patch"))
               (modules '((guix build utils)))
               (snippet
                ;; There are 3 test failures in the "unsupported" directory,
@@ -716,16 +715,6 @@ Sine Transform} (DST) and @dfn{Discrete Hartley Transform} 
(DHT).")
                   (substitute* "unsupported/CMakeLists.txt"
                     (("add_subdirectory\\(test.*")
                      "# Do not build the tests for unsupported features.\n"))
-                 (substitute* "CMakeLists.txt"
-                    ;; Work around
-                    ;; <http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1114>.
-                    (("\"include/eigen3\"")
-                     "\"${CMAKE_INSTALL_PREFIX}/include/eigen3\""))
-                 (substitute* "test/bdcsvd.cpp"
-                    ;; See
-                    ;; 
https://bitbucket.org/eigen/eigen/commits/ea8c22ce6920e982d15245ee41d0531a46a28e5d
-                    ((".*svd_preallocate[^\n]*" &)
-                     (string-append "//" & " // Not supported by BDCSVD")))
                   #t))))
     (build-system cmake-build-system)
     (arguments
diff --git a/gnu/packages/patches/eigen-arm-neon-fixes.patch 
b/gnu/packages/patches/eigen-arm-neon-fixes.patch
deleted file mode 100644
index 0838f30..0000000
--- a/gnu/packages/patches/eigen-arm-neon-fixes.patch
+++ /dev/null
@@ -1,245 +0,0 @@
-# HG changeset patch
-# User Gael Guennebaud <address@hidden>
-# Date 1497514590 -7200
-# Node ID d781c1de98342c5ca29c2fe719d8d3c96a35dcd4
-# Parent  48cd83b2b459aa9f3f5dca135d38760fe0b02a2f
-Bug 1436: fix compilation of Jacobi rotations with ARM NEON, some 
specializations of internal::conj_helper were missing.
-
-diff --git a/Eigen/Core b/Eigen/Core
---- a/Eigen/Core
-+++ b/Eigen/Core
-@@ -371,6 +371,7 @@
- #include "src/Core/MathFunctions.h"
- #include "src/Core/GenericPacketMath.h"
- #include "src/Core/MathFunctionsImpl.h"
-+#include "src/Core/arch/Default/ConjHelper.h"
- 
- #if defined EIGEN_VECTORIZE_AVX512
-   #include "src/Core/arch/SSE/PacketMath.h"
-diff --git a/Eigen/src/Core/arch/AVX/Complex.h 
b/Eigen/src/Core/arch/AVX/Complex.h
---- a/Eigen/src/Core/arch/AVX/Complex.h
-+++ b/Eigen/src/Core/arch/AVX/Complex.h
-@@ -204,23 +204,7 @@
-   }
- };
- 
--template<> struct conj_helper<Packet8f, Packet4cf, false,false>
--{
--  EIGEN_STRONG_INLINE Packet4cf pmadd(const Packet8f& x, const Packet4cf& y, 
const Packet4cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet4cf pmul(const Packet8f& x, const Packet4cf& y) 
const
--  { return Packet4cf(Eigen::internal::pmul(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet4cf, Packet8f, false,false>
--{
--  EIGEN_STRONG_INLINE Packet4cf pmadd(const Packet4cf& x, const Packet8f& y, 
const Packet4cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet4cf pmul(const Packet4cf& x, const Packet8f& y) 
const
--  { return Packet4cf(Eigen::internal::pmul(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet4cf,Packet8f)
- 
- template<> EIGEN_STRONG_INLINE Packet4cf pdiv<Packet4cf>(const Packet4cf& a, 
const Packet4cf& b)
- {
-@@ -400,23 +384,7 @@
-   }
- };
- 
--template<> struct conj_helper<Packet4d, Packet2cd, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cd pmadd(const Packet4d& x, const Packet2cd& y, 
const Packet2cd& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cd pmul(const Packet4d& x, const Packet2cd& y) 
const
--  { return Packet2cd(Eigen::internal::pmul(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet2cd, Packet4d, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cd pmadd(const Packet2cd& x, const Packet4d& y, 
const Packet2cd& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cd pmul(const Packet2cd& x, const Packet4d& y) 
const
--  { return Packet2cd(Eigen::internal::pmul(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cd,Packet4d)
- 
- template<> EIGEN_STRONG_INLINE Packet2cd pdiv<Packet2cd>(const Packet2cd& a, 
const Packet2cd& b)
- {
-diff --git a/Eigen/src/Core/arch/AltiVec/Complex.h 
b/Eigen/src/Core/arch/AltiVec/Complex.h
---- a/Eigen/src/Core/arch/AltiVec/Complex.h
-+++ b/Eigen/src/Core/arch/AltiVec/Complex.h
-@@ -224,23 +224,7 @@
-   }
- };
- 
--template<> struct conj_helper<Packet4f, Packet2cf, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet4f& x, const Packet2cf& y, 
const Packet2cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet4f& x, const Packet2cf& y) 
const
--  { return Packet2cf(internal::pmul<Packet4f>(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet2cf, Packet4f, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet4f& y, 
const Packet2cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& x, const Packet4f& y) 
const
--  { return Packet2cf(internal::pmul<Packet4f>(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
- 
- template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, 
const Packet2cf& b)
- {
-@@ -416,23 +400,8 @@
-     return pconj(internal::pmul(a, b));
-   }
- };
--template<> struct conj_helper<Packet2d, Packet1cd, false,false>
--{
--  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet2d& x, const Packet1cd& y, 
const Packet1cd& c) const
--  { return padd(c, pmul(x,y)); }
- 
--  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet2d& x, const Packet1cd& y) 
const
--  { return Packet1cd(internal::pmul<Packet2d>(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet1cd, Packet2d, false,false>
--{
--  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet2d& y, 
const Packet1cd& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& x, const Packet2d& y) 
const
--  { return Packet1cd(internal::pmul<Packet2d>(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
- 
- template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, 
const Packet1cd& b)
- {
-diff --git a/Eigen/src/Core/arch/Default/ConjHelper.h 
b/Eigen/src/Core/arch/Default/ConjHelper.h
-new file mode 100644
---- /dev/null
-+++ b/Eigen/src/Core/arch/Default/ConjHelper.h
-@@ -0,0 +1,29 @@
-+
-+// This file is part of Eigen, a lightweight C++ template library
-+// for linear algebra.
-+//
-+// Copyright (C) 2017 Gael Guennebaud <address@hidden>
-+//
-+// This Source Code Form is subject to the terms of the Mozilla
-+// Public License v. 2.0. If a copy of the MPL was not distributed
-+// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-+
-+#ifndef EIGEN_ARCH_CONJ_HELPER_H
-+#define EIGEN_ARCH_CONJ_HELPER_H
-+
-+#define EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(PACKET_CPLX, PACKET_REAL)            
                                              \
-+  template<> struct conj_helper<PACKET_REAL, PACKET_CPLX, false,false> {      
                                    \
-+    EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_REAL& x, const 
PACKET_CPLX& y, const PACKET_CPLX& c) const \
-+    { return padd(c, pmul(x,y)); }                                            
                                    \
-+    EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_REAL& x, const 
PACKET_CPLX& y) const                        \
-+    { return PACKET_CPLX(Eigen::internal::pmul<PACKET_REAL>(x, y.v)); }       
                                    \
-+  };                                                                          
                                    \
-+                                                                              
                                    \
-+  template<> struct conj_helper<PACKET_CPLX, PACKET_REAL, false,false> {      
                                    \
-+    EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_CPLX& x, const 
PACKET_REAL& y, const PACKET_CPLX& c) const \
-+    { return padd(c, pmul(x,y)); }                                            
                                    \
-+    EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_CPLX& x, const 
PACKET_REAL& y) const                        \
-+    { return PACKET_CPLX(Eigen::internal::pmul<PACKET_REAL>(x.v, y)); }       
                                    \
-+  };
-+
-+#endif // EIGEN_ARCH_CONJ_HELPER_H
-diff --git a/Eigen/src/Core/arch/NEON/Complex.h 
b/Eigen/src/Core/arch/NEON/Complex.h
---- a/Eigen/src/Core/arch/NEON/Complex.h
-+++ b/Eigen/src/Core/arch/NEON/Complex.h
-@@ -265,6 +265,8 @@
-   }
- };
- 
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
-+
- template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, 
const Packet2cf& b)
- {
-   // TODO optimize it for NEON
-@@ -456,6 +458,8 @@
-   }
- };
- 
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
-+
- template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, 
const Packet1cd& b)
- {
-   // TODO optimize it for NEON
-diff --git a/Eigen/src/Core/arch/SSE/Complex.h 
b/Eigen/src/Core/arch/SSE/Complex.h
---- a/Eigen/src/Core/arch/SSE/Complex.h
-+++ b/Eigen/src/Core/arch/SSE/Complex.h
-@@ -229,23 +229,7 @@
-   }
- };
- 
--template<> struct conj_helper<Packet4f, Packet2cf, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet4f& x, const Packet2cf& y, 
const Packet2cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet4f& x, const Packet2cf& y) 
const
--  { return Packet2cf(Eigen::internal::pmul<Packet4f>(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet2cf, Packet4f, false,false>
--{
--  EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet4f& y, 
const Packet2cf& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& x, const Packet4f& y) 
const
--  { return Packet2cf(Eigen::internal::pmul<Packet4f>(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
- 
- template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, 
const Packet2cf& b)
- {
-@@ -430,23 +414,7 @@
-   }
- };
- 
--template<> struct conj_helper<Packet2d, Packet1cd, false,false>
--{
--  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet2d& x, const Packet1cd& y, 
const Packet1cd& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet2d& x, const Packet1cd& y) 
const
--  { return Packet1cd(Eigen::internal::pmul<Packet2d>(x, y.v)); }
--};
--
--template<> struct conj_helper<Packet1cd, Packet2d, false,false>
--{
--  EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet2d& y, 
const Packet1cd& c) const
--  { return padd(c, pmul(x,y)); }
--
--  EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& x, const Packet2d& y) 
const
--  { return Packet1cd(Eigen::internal::pmul<Packet2d>(x.v, y)); }
--};
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
- 
- template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, 
const Packet1cd& b)
- {
-diff --git a/Eigen/src/Core/arch/ZVector/Complex.h 
b/Eigen/src/Core/arch/ZVector/Complex.h
---- a/Eigen/src/Core/arch/ZVector/Complex.h
-+++ b/Eigen/src/Core/arch/ZVector/Complex.h
-@@ -336,6 +336,9 @@
-   }
- };
- 
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
-+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
-+
- template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, 
const Packet1cd& b)
- {
-   // TODO optimize it for AltiVec



reply via email to

[Prev in Thread] Current Thread [Next in Thread]