[lapack] 04/17: Remove patches applied upstream.

Sébastien Villemot sebastien at debian.org
Thu Dec 24 20:39:58 UTC 2015


This is an automated email from the git hooks/post-receive script.

sebastien pushed a commit to branch master
in repository lapack.

commit 57b9b716914944e52e4d756a3b2fd1e1f54ec9a8
Author: Sébastien Villemot <sebastien at debian.org>
Date:   Tue Dec 22 17:12:18 2015 +0100

    Remove patches applied upstream.
    
    + cgesvd-zgesvd-stack-corruption.patch
    + zstemr-n2.patch
    + zlanhf-clanhf-norm.patch
    + dormlq_interface_check.patch
    + dlansy_1_norm_segfault.patch
    + dlange_rowmajor_inconsistent.patch
    
    Gbp-Dch: Full
---
 .../patches/cgesvd-zgesvd-stack-corruption.patch   | 297 ---------------------
 debian/patches/dlange_rowmajor_inconsistent.patch  | 159 -----------
 debian/patches/dlansy_1_norm_segfault.patch        | 207 --------------
 debian/patches/dormlq_interface_check.patch        | 103 -------
 debian/patches/series                              |   6 -
 debian/patches/zlanhf-clanhf-norm.patch            |  29 --
 debian/patches/zstemr-n2.patch                     |  35 ---
 7 files changed, 836 deletions(-)

diff --git a/debian/patches/cgesvd-zgesvd-stack-corruption.patch b/debian/patches/cgesvd-zgesvd-stack-corruption.patch
deleted file mode 100644
index 8b57451..0000000
--- a/debian/patches/cgesvd-zgesvd-stack-corruption.patch
+++ /dev/null
@@ -1,297 +0,0 @@
-Description: Fix {C,Z}GESVD stack corruption issue (upstream bug #114)
-Origin: upstream, commit: r1455
-Bug: http://icl.utk.edu/lapack-forum/viewtopic.php?f=13&t=4392
-Reviewed-by: Sébastien Villemot <sebastien at debian.org>
-Last-Update: 2014-08-07
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/cgesvd.f
-+++ b/src/cgesvd.f
-@@ -321,24 +321,24 @@
- *
-             MNTHR = ILAENV( 6, 'CGESVD', JOBU // JOBVT, M, N, 0, 0 )
- *           Compute space needed for CGEQRF
--            CALL CGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
--            LWORK_CGEQRF=DUM(1)
-+            CALL CGEQRF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_CGEQRF=CDUM(1)
- *           Compute space needed for CUNGQR
--            CALL CUNGQR( M, N, N, A, LDA, DUM(1), DUM(1), -1, IERR )
--            LWORK_CUNGQR_N=DUM(1)
--            CALL CUNGQR( M, M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
--            LWORK_CUNGQR_M=DUM(1)
-+            CALL CUNGQR( M, N, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_CUNGQR_N=CDUM(1)
-+            CALL CUNGQR( M, M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_CUNGQR_M=CDUM(1)
- *           Compute space needed for CGEBRD
--            CALL CGEBRD( N, N, A, LDA, S, DUM(1), DUM(1),
--     $                   DUM(1), DUM(1), -1, IERR )
--            LWORK_CGEBRD=DUM(1)
-+            CALL CGEBRD( N, N, A, LDA, S, DUM(1), CDUM(1),
-+     $                   CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_CGEBRD=CDUM(1)
- *           Compute space needed for CUNGBR
--            CALL CUNGBR( 'P', N, N, N, A, LDA, DUM(1),
--     $                   DUM(1), -1, IERR )
--            LWORK_CUNGBR_P=DUM(1)
--            CALL CUNGBR( 'Q', N, N, N, A, LDA, DUM(1),
--     $                   DUM(1), -1, IERR )
--            LWORK_CUNGBR_Q=DUM(1)
-+            CALL CUNGBR( 'P', N, N, N, A, LDA, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+            LWORK_CUNGBR_P=CDUM(1)
-+            CALL CUNGBR( 'Q', N, N, N, A, LDA, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+            LWORK_CUNGBR_Q=CDUM(1)
- *
-             MNTHR = ILAENV( 6, 'CGESVD', JOBU // JOBVT, M, N, 0, 0 )
-             IF( M.GE.MNTHR ) THEN
-@@ -444,20 +444,20 @@
- *
- *              Path 10 (M at least N, but not much larger)
- *
--               CALL CGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
--     $                   DUM(1), DUM(1), -1, IERR )
--               LWORK_CGEBRD=DUM(1)
-+               CALL CGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
-+     $                   CDUM(1), CDUM(1), -1, IERR )
-+               LWORK_CGEBRD=CDUM(1)
-                MAXWRK = 2*N + LWORK_CGEBRD
-                IF( WNTUS .OR. WNTUO ) THEN
--                  CALL CUNGBR( 'Q', M, N, N, A, LDA, DUM(1),
--     $                   DUM(1), -1, IERR )
--                  LWORK_CUNGBR_Q=DUM(1)
-+                  CALL CUNGBR( 'Q', M, N, N, A, LDA, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+                  LWORK_CUNGBR_Q=CDUM(1)
-                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_CUNGBR_Q )
-                END IF
-                IF( WNTUA ) THEN
--                  CALL CUNGBR( 'Q', M, M, N, A, LDA, DUM(1),
--     $                   DUM(1), -1, IERR )
--                  LWORK_CUNGBR_Q=DUM(1)
-+                  CALL CUNGBR( 'Q', M, M, N, A, LDA, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+                  LWORK_CUNGBR_Q=CDUM(1)
-                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_CUNGBR_Q )
-                END IF
-                IF( .NOT.WNTVN ) THEN
-@@ -471,25 +471,26 @@
- *
-             MNTHR = ILAENV( 6, 'CGESVD', JOBU // JOBVT, M, N, 0, 0 )
- *           Compute space needed for CGELQF
--            CALL CGELQF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
--            LWORK_CGELQF=DUM(1)
-+            CALL CGELQF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_CGELQF=CDUM(1)
- *           Compute space needed for CUNGLQ
--            CALL CUNGLQ( N, N, M, DUM(1), N, DUM(1), DUM(1), -1, IERR )
--            LWORK_CUNGLQ_N=DUM(1)
--            CALL CUNGLQ( M, N, M, A, LDA, DUM(1), DUM(1), -1, IERR )
--            LWORK_CUNGLQ_M=DUM(1)
-+            CALL CUNGLQ( N, N, M, CDUM(1), N, CDUM(1), CDUM(1), -1,
-+     $                   IERR )
-+            LWORK_CUNGLQ_N=CDUM(1)
-+            CALL CUNGLQ( M, N, M, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_CUNGLQ_M=CDUM(1)
- *           Compute space needed for CGEBRD
--            CALL CGEBRD( M, M, A, LDA, S, DUM(1), DUM(1),
--     $                   DUM(1), DUM(1), -1, IERR )
--            LWORK_CGEBRD=DUM(1)
-+            CALL CGEBRD( M, M, A, LDA, S, DUM(1), CDUM(1),
-+     $                   CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_CGEBRD=CDUM(1)
- *            Compute space needed for CUNGBR P
--            CALL CUNGBR( 'P', M, M, M, A, N, DUM(1),
--     $                   DUM(1), -1, IERR )
--            LWORK_CUNGBR_P=DUM(1)
-+            CALL CUNGBR( 'P', M, M, M, A, N, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+            LWORK_CUNGBR_P=CDUM(1)
- *           Compute space needed for CUNGBR Q
--            CALL CUNGBR( 'Q', M, M, M, A, N, DUM(1),
--     $                   DUM(1), -1, IERR )
--            LWORK_CUNGBR_Q=DUM(1)
-+            CALL CUNGBR( 'Q', M, M, M, A, N, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+            LWORK_CUNGBR_Q=CDUM(1)
-             IF( N.GE.MNTHR ) THEN
-                IF( WNTVN ) THEN
- *
-@@ -593,21 +594,21 @@
- *
- *              Path 10t(N greater than M, but not much larger)
- *
--               CALL CGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
--     $                   DUM(1), DUM(1), -1, IERR )
--               LWORK_CGEBRD=DUM(1)
-+               CALL CGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
-+     $                   CDUM(1), CDUM(1), -1, IERR )
-+               LWORK_CGEBRD=CDUM(1)
-                MAXWRK = 2*M + LWORK_CGEBRD
-                IF( WNTVS .OR. WNTVO ) THEN
- *                Compute space needed for CUNGBR P
--                 CALL CUNGBR( 'P', M, N, M, A, N, DUM(1),
--     $                   DUM(1), -1, IERR )
--                 LWORK_CUNGBR_P=DUM(1)
-+                 CALL CUNGBR( 'P', M, N, M, A, N, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+                 LWORK_CUNGBR_P=CDUM(1)
-                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_CUNGBR_P )
-                END IF
-                IF( WNTVA ) THEN
--                 CALL CUNGBR( 'P', N,  N, M, A, N, DUM(1),
--     $                   DUM(1), -1, IERR )
--                 LWORK_CUNGBR_P=DUM(1)
-+                 CALL CUNGBR( 'P', N,  N, M, A, N, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+                 LWORK_CUNGBR_P=CDUM(1)
-                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_CUNGBR_P )
-                END IF
-                IF( .NOT.WNTUN ) THEN
---- a/src/zgesvd.f
-+++ b/src/zgesvd.f
-@@ -321,24 +321,24 @@
- *
-             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
- *           Compute space needed for ZGEQRF
--            CALL ZGEQRF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
--            LWORK_ZGEQRF=DUM(1)
-+            CALL ZGEQRF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_ZGEQRF=CDUM(1)
- *           Compute space needed for ZUNGQR
--            CALL ZUNGQR( M, N, N, A, LDA, DUM(1), DUM(1), -1, IERR )
--            LWORK_ZUNGQR_N=DUM(1)
--            CALL ZUNGQR( M, M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
--            LWORK_ZUNGQR_M=DUM(1)
-+            CALL ZUNGQR( M, N, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_ZUNGQR_N=CDUM(1)
-+            CALL ZUNGQR( M, M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_ZUNGQR_M=CDUM(1)
- *           Compute space needed for ZGEBRD
--            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), DUM(1),
--     $                   DUM(1), DUM(1), -1, IERR )
--            LWORK_ZGEBRD=DUM(1)
-+            CALL ZGEBRD( N, N, A, LDA, S, DUM(1), CDUM(1),
-+     $                   CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_ZGEBRD=CDUM(1)
- *           Compute space needed for ZUNGBR
--            CALL ZUNGBR( 'P', N, N, N, A, LDA, DUM(1),
--     $                   DUM(1), -1, IERR )
--            LWORK_ZUNGBR_P=DUM(1)
--            CALL ZUNGBR( 'Q', N, N, N, A, LDA, DUM(1),
--     $                   DUM(1), -1, IERR )
--            LWORK_ZUNGBR_Q=DUM(1)
-+            CALL ZUNGBR( 'P', N, N, N, A, LDA, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+            LWORK_ZUNGBR_P=CDUM(1)
-+            CALL ZUNGBR( 'Q', N, N, N, A, LDA, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+            LWORK_ZUNGBR_Q=CDUM(1)
- *
-             IF( M.GE.MNTHR ) THEN
-                IF( WNTUN ) THEN
-@@ -443,20 +443,20 @@
- *
- *              Path 10 (M at least N, but not much larger)
- *
--               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
--     $                   DUM(1), DUM(1), -1, IERR )
--               LWORK_ZGEBRD=DUM(1)
-+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
-+     $                   CDUM(1), CDUM(1), -1, IERR )
-+               LWORK_ZGEBRD=CDUM(1)
-                MAXWRK = 2*N + LWORK_ZGEBRD
-                IF( WNTUS .OR. WNTUO ) THEN
--                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, DUM(1),
--     $                   DUM(1), -1, IERR )
--                  LWORK_ZUNGBR_Q=DUM(1)
-+                  CALL ZUNGBR( 'Q', M, N, N, A, LDA, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+                  LWORK_ZUNGBR_Q=CDUM(1)
-                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
-                END IF
-                IF( WNTUA ) THEN
--                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, DUM(1),
--     $                   DUM(1), -1, IERR )
--                  LWORK_ZUNGBR_Q=DUM(1)
-+                  CALL ZUNGBR( 'Q', M, M, N, A, LDA, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+                  LWORK_ZUNGBR_Q=CDUM(1)
-                   MAXWRK = MAX( MAXWRK, 2*N+LWORK_ZUNGBR_Q )
-                END IF
-                IF( .NOT.WNTVN ) THEN
-@@ -470,25 +470,26 @@
- *
-             MNTHR = ILAENV( 6, 'ZGESVD', JOBU // JOBVT, M, N, 0, 0 )
- *           Compute space needed for ZGELQF
--            CALL ZGELQF( M, N, A, LDA, DUM(1), DUM(1), -1, IERR )
--            LWORK_ZGELQF=DUM(1)
-+            CALL ZGELQF( M, N, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_ZGELQF=CDUM(1)
- *           Compute space needed for ZUNGLQ
--            CALL ZUNGLQ( N, N, M, DUM(1), N, DUM(1), DUM(1), -1, IERR )
--            LWORK_ZUNGLQ_N=DUM(1)
--            CALL ZUNGLQ( M, N, M, A, LDA, DUM(1), DUM(1), -1, IERR )
--            LWORK_ZUNGLQ_M=DUM(1)
-+            CALL ZUNGLQ( N, N, M, CDUM(1), N, CDUM(1), CDUM(1), -1,
-+     $                   IERR )
-+            LWORK_ZUNGLQ_N=CDUM(1)
-+            CALL ZUNGLQ( M, N, M, A, LDA, CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_ZUNGLQ_M=CDUM(1)
- *           Compute space needed for ZGEBRD
--            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), DUM(1),
--     $                   DUM(1), DUM(1), -1, IERR )
--            LWORK_ZGEBRD=DUM(1)
-+            CALL ZGEBRD( M, M, A, LDA, S, DUM(1), CDUM(1),
-+     $                   CDUM(1), CDUM(1), -1, IERR )
-+            LWORK_ZGEBRD=CDUM(1)
- *            Compute space needed for ZUNGBR P
--            CALL ZUNGBR( 'P', M, M, M, A, N, DUM(1),
--     $                   DUM(1), -1, IERR )
--            LWORK_ZUNGBR_P=DUM(1)
-+            CALL ZUNGBR( 'P', M, M, M, A, N, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+            LWORK_ZUNGBR_P=CDUM(1)
- *           Compute space needed for ZUNGBR Q
--            CALL ZUNGBR( 'Q', M, M, M, A, N, DUM(1),
--     $                   DUM(1), -1, IERR )
--            LWORK_ZUNGBR_Q=DUM(1)
-+            CALL ZUNGBR( 'Q', M, M, M, A, N, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+            LWORK_ZUNGBR_Q=CDUM(1)
-             IF( N.GE.MNTHR ) THEN
-                IF( WNTVN ) THEN
- *
-@@ -592,21 +593,21 @@
- *
- *              Path 10t(N greater than M, but not much larger)
- *
--               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), DUM(1),
--     $                   DUM(1), DUM(1), -1, IERR )
--               LWORK_ZGEBRD=DUM(1)
-+               CALL ZGEBRD( M, N, A, LDA, S, DUM(1), CDUM(1),
-+     $                   CDUM(1), CDUM(1), -1, IERR )
-+               LWORK_ZGEBRD=CDUM(1)
-                MAXWRK = 2*M + LWORK_ZGEBRD
-                IF( WNTVS .OR. WNTVO ) THEN
- *                Compute space needed for ZUNGBR P
--                 CALL ZUNGBR( 'P', M, N, M, A, N, DUM(1),
--     $                   DUM(1), -1, IERR )
--                 LWORK_ZUNGBR_P=DUM(1)
-+                 CALL ZUNGBR( 'P', M, N, M, A, N, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+                 LWORK_ZUNGBR_P=CDUM(1)
-                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
-                END IF
-                IF( WNTVA ) THEN
--                 CALL ZUNGBR( 'P', N,  N, M, A, N, DUM(1),
--     $                   DUM(1), -1, IERR )
--                 LWORK_ZUNGBR_P=DUM(1)
-+                 CALL ZUNGBR( 'P', N,  N, M, A, N, CDUM(1),
-+     $                   CDUM(1), -1, IERR )
-+                 LWORK_ZUNGBR_P=CDUM(1)
-                  MAXWRK = MAX( MAXWRK, 2*M+LWORK_ZUNGBR_P )
-                END IF
-                IF( .NOT.WNTUN ) THEN
diff --git a/debian/patches/dlange_rowmajor_inconsistent.patch b/debian/patches/dlange_rowmajor_inconsistent.patch
deleted file mode 100644
index c16a5a1..0000000
--- a/debian/patches/dlange_rowmajor_inconsistent.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-Description: Dlange gives inconsistent/incorrect results for RowMajor (upstream bug #137)
-Origin: backport, commit: r1602
-Bug: https://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4789&p=0#p0
-Reviewed-by: Sébastien Villemot <sebastien at debian.org>
-Last-Update: 2015-10-31
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/lapacke/src/lapacke_clantr.c
-+++ b/lapacke/src/lapacke_clantr.c
-@@ -53,7 +53,7 @@ float LAPACKE_clantr( int matrix_order,
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
-         LAPACKE_lsame( norm, 'O' ) ) {
--        work = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,m) );
-+        work = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,MAX(m,n)) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-             goto exit_level_0;
---- a/lapacke/src/lapacke_clantr_work.c
-+++ b/lapacke/src/lapacke_clantr_work.c
-@@ -47,7 +47,7 @@ float LAPACKE_clantr_work( int matrix_or
-             info = info - 1;
-         }
-     } else if( matrix_order == LAPACK_ROW_MAJOR ) {
--        lapack_int lda_t = MAX(1,n);
-+        lapack_int lda_t = MAX(1,m);
-         lapack_complex_float* a_t = NULL;
-         /* Check leading dimension(s) */
-         if( lda < n ) {
-@@ -57,13 +57,13 @@ float LAPACKE_clantr_work( int matrix_or
-         }
-         /* Allocate memory for temporary array(s) */
-         a_t = (lapack_complex_float*)
--            LAPACKE_malloc( sizeof(lapack_complex_float) * lda_t * MAX(1,n) );
-+            LAPACKE_malloc( sizeof(lapack_complex_float) * lda_t * MAX(1,MAX(m,n)) );
-         if( a_t == NULL ) {
-             info = LAPACK_TRANSPOSE_MEMORY_ERROR;
-             goto exit_level_0;
-         }
-         /* Transpose input matrices */
--        LAPACKE_ctr_trans( matrix_order, uplo, diag, n, a, lda, a_t, lda_t );
-+        LAPACKE_ctr_trans( matrix_order, uplo, diag, MAX(m,n), a, lda, a_t, lda_t );
-         /* Call LAPACK function and adjust info */
-         res = LAPACK_clantr( &norm, &uplo, &diag, &m, &n, a_t, &lda_t, work );
-         info = 0;  /* LAPACK call is ok! */
---- a/lapacke/src/lapacke_dlantr.c
-+++ b/lapacke/src/lapacke_dlantr.c
-@@ -53,7 +53,7 @@ double LAPACKE_dlantr( int matrix_order,
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
-         LAPACKE_lsame( norm, 'O' ) ) {
--        work = (double*)LAPACKE_malloc( sizeof(double) * MAX(1,m) );
-+        work = (double*)LAPACKE_malloc( sizeof(double) * MAX(1,MAX(m,n)) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-             goto exit_level_0;
---- a/lapacke/src/lapacke_dlantr_work.c
-+++ b/lapacke/src/lapacke_dlantr_work.c
-@@ -46,7 +46,7 @@ double LAPACKE_dlantr_work( int matrix_o
-             info = info - 1;
-         }
-     } else if( matrix_order == LAPACK_ROW_MAJOR ) {
--        lapack_int lda_t = MAX(1,n);
-+        lapack_int lda_t = MAX(1,m);
-         double* a_t = NULL;
-         /* Check leading dimension(s) */
-         if( lda < n ) {
-@@ -55,13 +55,13 @@ double LAPACKE_dlantr_work( int matrix_o
-             return info;
-         }
-         /* Allocate memory for temporary array(s) */
--        a_t = (double*)LAPACKE_malloc( sizeof(double) * lda_t * MAX(1,n) );
-+        a_t = (double*)LAPACKE_malloc( sizeof(double) * lda_t * MAX(1,MAX(m,n)) );
-         if( a_t == NULL ) {
-             info = LAPACK_TRANSPOSE_MEMORY_ERROR;
-             goto exit_level_0;
-         }
-         /* Transpose input matrices */
--        LAPACKE_dtr_trans( matrix_order, uplo, diag, n, a, lda, a_t, lda_t );
-+        LAPACKE_dtr_trans( matrix_order, uplo, diag, MAX(m,n), a, lda, a_t, lda_t );
-         /* Call LAPACK function and adjust info */
-         res = LAPACK_dlantr( &norm, &uplo, &diag, &m, &n, a_t, &lda_t, work );
-         info = 0;  /* LAPACK call is ok! */
---- a/lapacke/src/lapacke_slantr.c
-+++ b/lapacke/src/lapacke_slantr.c
-@@ -53,7 +53,7 @@ float LAPACKE_slantr( int matrix_order,
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
-         LAPACKE_lsame( norm, 'O' ) ) {
--        work = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,m) );
-+        work = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,MAX(m,n)) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-             goto exit_level_0;
---- a/lapacke/src/lapacke_slantr_work.c
-+++ b/lapacke/src/lapacke_slantr_work.c
-@@ -46,7 +46,7 @@ float LAPACKE_slantr_work( int matrix_or
-             info = info - 1;
-         }
-     } else if( matrix_order == LAPACK_ROW_MAJOR ) {
--        lapack_int lda_t = MAX(1,n);
-+        lapack_int lda_t = MAX(1,m);
-         float* a_t = NULL;
-         /* Check leading dimension(s) */
-         if( lda < n ) {
-@@ -55,13 +55,13 @@ float LAPACKE_slantr_work( int matrix_or
-             return info;
-         }
-         /* Allocate memory for temporary array(s) */
--        a_t = (float*)LAPACKE_malloc( sizeof(float) * lda_t * MAX(1,n) );
-+        a_t = (float*)LAPACKE_malloc( sizeof(float) * lda_t * MAX(1,MAX(m,n)) );
-         if( a_t == NULL ) {
-             info = LAPACK_TRANSPOSE_MEMORY_ERROR;
-             goto exit_level_0;
-         }
-         /* Transpose input matrices */
--        LAPACKE_str_trans( matrix_order, uplo, diag, n, a, lda, a_t, lda_t );
-+        LAPACKE_str_trans( matrix_order, uplo, diag, MAX(m,n), a, lda, a_t, lda_t );
-         /* Call LAPACK function and adjust info */
-         res = LAPACK_slantr( &norm, &uplo, &diag, &m, &n, a_t, &lda_t, work );
-         info = 0;  /* LAPACK call is ok! */
---- a/lapacke/src/lapacke_zlantr.c
-+++ b/lapacke/src/lapacke_zlantr.c
-@@ -53,7 +53,7 @@ double LAPACKE_zlantr( int matrix_order,
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
-         LAPACKE_lsame( norm, 'O' ) ) {
--        work = (double*)LAPACKE_malloc( sizeof(double) * MAX(1,m) );
-+        work = (double*)LAPACKE_malloc( sizeof(double) * MAX(1,MAX(m,n)) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-             goto exit_level_0;
---- a/lapacke/src/lapacke_zlantr_work.c
-+++ b/lapacke/src/lapacke_zlantr_work.c
-@@ -47,7 +47,7 @@ double LAPACKE_zlantr_work( int matrix_o
-             info = info - 1;
-         }
-     } else if( matrix_order == LAPACK_ROW_MAJOR ) {
--        lapack_int lda_t = MAX(1,n);
-+        lapack_int lda_t = MAX(1,m);
-         lapack_complex_double* a_t = NULL;
-         /* Check leading dimension(s) */
-         if( lda < n ) {
-@@ -57,13 +57,13 @@ double LAPACKE_zlantr_work( int matrix_o
-         }
-         /* Allocate memory for temporary array(s) */
-         a_t = (lapack_complex_double*)
--            LAPACKE_malloc( sizeof(lapack_complex_double) * lda_t * MAX(1,n) );
-+            LAPACKE_malloc( sizeof(lapack_complex_double) * lda_t * MAX(1,MAX(m,n)) );
-         if( a_t == NULL ) {
-             info = LAPACK_TRANSPOSE_MEMORY_ERROR;
-             goto exit_level_0;
-         }
-         /* Transpose input matrices */
--        LAPACKE_ztr_trans( matrix_order, uplo, diag, n, a, lda, a_t, lda_t );
-+        LAPACKE_ztr_trans( matrix_order, uplo, diag, MAX(m,n), a, lda, a_t, lda_t );
-         /* Call LAPACK function and adjust info */
-         res = LAPACK_zlantr( &norm, &uplo, &diag, &m, &n, a_t, &lda_t, work );
-         info = 0;  /* LAPACK call is ok! */
diff --git a/debian/patches/dlansy_1_norm_segfault.patch b/debian/patches/dlansy_1_norm_segfault.patch
deleted file mode 100644
index 1eb917b..0000000
--- a/debian/patches/dlansy_1_norm_segfault.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-Description: LAPACKE_dlansy et al cause segfault with 1-norm (upstream bug #135)
-Origin: upstream, commit: r1587
-Bug: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4793
-Reviewed-by: Sébastien Villemot <sebastien at debian.org>
-Last-Update: 2015-10-31
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/lapacke/src/lapacke_clanhe.c
-+++ b/lapacke/src/lapacke_clanhe.c
-@@ -51,7 +51,7 @@ float LAPACKE_clanhe( int matrix_order,
- #endif
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         work = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,n) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-@@ -62,7 +62,7 @@ float LAPACKE_clanhe( int matrix_order,
-     res = LAPACKE_clanhe_work( matrix_order, norm, uplo, n, a, lda, work );
-     /* Release memory and exit */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         LAPACKE_free( work );
-     }
- exit_level_0:
---- a/lapacke/src/lapacke_clansy.c
-+++ b/lapacke/src/lapacke_clansy.c
-@@ -51,7 +51,7 @@ float LAPACKE_clansy( int matrix_order,
- #endif
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         work = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,n) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-@@ -62,7 +62,7 @@ float LAPACKE_clansy( int matrix_order,
-     res = LAPACKE_clansy_work( matrix_order, norm, uplo, n, a, lda, work );
-     /* Release memory and exit */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         LAPACKE_free( work );
-     }
- exit_level_0:
---- a/lapacke/src/lapacke_clantr.c
-+++ b/lapacke/src/lapacke_clantr.c
-@@ -52,7 +52,7 @@ float LAPACKE_clantr( int matrix_order,
- #endif
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         work = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,m) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-@@ -64,7 +64,7 @@ float LAPACKE_clantr( int matrix_order,
-                                 work );
-     /* Release memory and exit */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         LAPACKE_free( work );
-     }
- exit_level_0:
---- a/lapacke/src/lapacke_dlansy.c
-+++ b/lapacke/src/lapacke_dlansy.c
-@@ -51,7 +51,7 @@ double LAPACKE_dlansy( int matrix_order,
- #endif
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         work = (double*)LAPACKE_malloc( sizeof(double) * MAX(1,n) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-@@ -62,7 +62,7 @@ double LAPACKE_dlansy( int matrix_order,
-     res = LAPACKE_dlansy_work( matrix_order, norm, uplo, n, a, lda, work );
-     /* Release memory and exit */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         LAPACKE_free( work );
-     }
- exit_level_0:
---- a/lapacke/src/lapacke_dlantr.c
-+++ b/lapacke/src/lapacke_dlantr.c
-@@ -52,7 +52,7 @@ double LAPACKE_dlantr( int matrix_order,
- #endif
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         work = (double*)LAPACKE_malloc( sizeof(double) * MAX(1,m) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-@@ -64,7 +64,7 @@ double LAPACKE_dlantr( int matrix_order,
-                                 work );
-     /* Release memory and exit */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         LAPACKE_free( work );
-     }
- exit_level_0:
---- a/lapacke/src/lapacke_slansy.c
-+++ b/lapacke/src/lapacke_slansy.c
-@@ -51,7 +51,7 @@ float LAPACKE_slansy( int matrix_order,
- #endif
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         work = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,n) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-@@ -62,7 +62,7 @@ float LAPACKE_slansy( int matrix_order,
-     res = LAPACKE_slansy_work( matrix_order, norm, uplo, n, a, lda, work );
-     /* Release memory and exit */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         LAPACKE_free( work );
-     }
- exit_level_0:
---- a/lapacke/src/lapacke_slantr.c
-+++ b/lapacke/src/lapacke_slantr.c
-@@ -52,7 +52,7 @@ float LAPACKE_slantr( int matrix_order,
- #endif
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         work = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,m) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-@@ -64,7 +64,7 @@ float LAPACKE_slantr( int matrix_order,
-                                 work );
-     /* Release memory and exit */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         LAPACKE_free( work );
-     }
- exit_level_0:
---- a/lapacke/src/lapacke_zlanhe.c
-+++ b/lapacke/src/lapacke_zlanhe.c
-@@ -51,7 +51,7 @@ double LAPACKE_zlanhe( int matrix_order,
- #endif
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         work = (double*)LAPACKE_malloc( sizeof(double) * MAX(1,n) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-@@ -62,7 +62,7 @@ double LAPACKE_zlanhe( int matrix_order,
-     res = LAPACKE_zlanhe_work( matrix_order, norm, uplo, n, a, lda, work );
-     /* Release memory and exit */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         LAPACKE_free( work );
-     }
- exit_level_0:
---- a/lapacke/src/lapacke_zlansy.c
-+++ b/lapacke/src/lapacke_zlansy.c
-@@ -51,7 +51,7 @@ double LAPACKE_zlansy( int matrix_order,
- #endif
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         work = (double*)LAPACKE_malloc( sizeof(double) * MAX(1,n) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-@@ -62,7 +62,7 @@ double LAPACKE_zlansy( int matrix_order,
-     res = LAPACKE_zlansy_work( matrix_order, norm, uplo, n, a, lda, work );
-     /* Release memory and exit */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         LAPACKE_free( work );
-     }
- exit_level_0:
---- a/lapacke/src/lapacke_zlantr.c
-+++ b/lapacke/src/lapacke_zlantr.c
-@@ -52,7 +52,7 @@ double LAPACKE_zlantr( int matrix_order,
- #endif
-     /* Allocate memory for working array(s) */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         work = (double*)LAPACKE_malloc( sizeof(double) * MAX(1,m) );
-         if( work == NULL ) {
-             info = LAPACK_WORK_MEMORY_ERROR;
-@@ -64,7 +64,7 @@ double LAPACKE_zlantr( int matrix_order,
-                                 work );
-     /* Release memory and exit */
-     if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) ||
--        LAPACKE_lsame( norm, '0' ) ) {
-+        LAPACKE_lsame( norm, 'O' ) ) {
-         LAPACKE_free( work );
-     }
- exit_level_0:
diff --git a/debian/patches/dormlq_interface_check.patch b/debian/patches/dormlq_interface_check.patch
deleted file mode 100644
index fc24d61..0000000
--- a/debian/patches/dormlq_interface_check.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-Description: Dormlq C interface error check (upstream bug #133)
-Origin: backport, commit: r1586
-Bug: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4771
-Reviewed-by: Sébastien Villemot <sebastien at debian.org>
-Last-Update: 2015-10-31
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/lapacke/src/lapacke_cunmlq_work.c
-+++ b/lapacke/src/lapacke_cunmlq_work.c
-@@ -41,6 +41,7 @@ lapack_int LAPACKE_cunmlq_work( int matr
-                                 lapack_complex_float* work, lapack_int lwork )
- {
-     lapack_int info = 0;
-+    lapack_int r;
-     if( matrix_order == LAPACK_COL_MAJOR ) {
-         /* Call LAPACK function and adjust info */
-         LAPACK_cunmlq( &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc, work,
-@@ -49,12 +50,13 @@ lapack_int LAPACKE_cunmlq_work( int matr
-             info = info - 1;
-         }
-     } else if( matrix_order == LAPACK_ROW_MAJOR ) {
-+        r = LAPACKE_lsame( side, 'l' ) ? m : n;
-         lapack_int lda_t = MAX(1,k);
-         lapack_int ldc_t = MAX(1,m);
-         lapack_complex_float* a_t = NULL;
-         lapack_complex_float* c_t = NULL;
-         /* Check leading dimension(s) */
--        if( lda < m ) {
-+        if( lda < r ) {
-             info = -8;
-             LAPACKE_xerbla( "LAPACKE_cunmlq_work", info );
-             return info;
---- a/lapacke/src/lapacke_dormlq_work.c
-+++ b/lapacke/src/lapacke_dormlq_work.c
-@@ -40,6 +40,7 @@ lapack_int LAPACKE_dormlq_work( int matr
-                                 double* work, lapack_int lwork )
- {
-     lapack_int info = 0;
-+    lapack_int r;
-     lapack_int lda_t, ldc_t;
-     double *a_t = NULL, *c_t = NULL;
-     if( matrix_order == LAPACK_COL_MAJOR ) {
-@@ -50,10 +51,11 @@ lapack_int LAPACKE_dormlq_work( int matr
-             info = info - 1;
-         }
-     } else if( matrix_order == LAPACK_ROW_MAJOR ) {
-+        r = LAPACKE_lsame( side, 'l' ) ? m : n;
-         lda_t = MAX(1,k);
-         ldc_t = MAX(1,m);
-         /* Check leading dimension(s) */
--        if( lda < m ) {
-+        if( lda < r ) {
-             info = -8;
-             LAPACKE_xerbla( "LAPACKE_dormlq_work", info );
-             return info;
---- a/lapacke/src/lapacke_sormlq_work.c
-+++ b/lapacke/src/lapacke_sormlq_work.c
-@@ -40,6 +40,7 @@ lapack_int LAPACKE_sormlq_work( int matr
-                                 float* work, lapack_int lwork )
- {
-     lapack_int info = 0;
-+    lapack_int r;
-     lapack_int lda_t, ldc_t;
-     float *a_t = NULL, *c_t = NULL;
-     if( matrix_order == LAPACK_COL_MAJOR ) {
-@@ -50,10 +51,11 @@ lapack_int LAPACKE_sormlq_work( int matr
-             info = info - 1;
-         }
-     } else if( matrix_order == LAPACK_ROW_MAJOR ) {
-+        r = LAPACKE_lsame( side, 'l' ) ? m : n;
-         lda_t = MAX(1,k);
-         ldc_t = MAX(1,m);
-         /* Check leading dimension(s) */
--        if( lda < m ) {
-+        if( lda < r ) {
-             info = -8;
-             LAPACKE_xerbla( "LAPACKE_sormlq_work", info );
-             return info;
---- a/lapacke/src/lapacke_zunmlq_work.c
-+++ b/lapacke/src/lapacke_zunmlq_work.c
-@@ -41,6 +41,7 @@ lapack_int LAPACKE_zunmlq_work( int matr
-                                 lapack_complex_double* work, lapack_int lwork )
- {
-     lapack_int info = 0;
-+    lapack_int r;
-     if( matrix_order == LAPACK_COL_MAJOR ) {
-         /* Call LAPACK function and adjust info */
-         LAPACK_zunmlq( &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc, work,
-@@ -49,12 +50,13 @@ lapack_int LAPACKE_zunmlq_work( int matr
-             info = info - 1;
-         }
-     } else if( matrix_order == LAPACK_ROW_MAJOR ) {
-+        r = LAPACKE_lsame( side, 'l' ) ? m : n;
-         lapack_int lda_t = MAX(1,k);
-         lapack_int ldc_t = MAX(1,m);
-         lapack_complex_double* a_t = NULL;
-         lapack_complex_double* c_t = NULL;
-         /* Check leading dimension(s) */
--        if( lda < m ) {
-+        if( lda < r ) {
-             info = -8;
-             LAPACKE_xerbla( "LAPACKE_zunmlq_work", info );
-             return info;
diff --git a/debian/patches/series b/debian/patches/series
index 1f52ac7..df8999b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,9 +3,3 @@ no_blas_manpages.patch
 decouple_gcc.diff
 parallel_build.patch
 doxygen-exclude-binary-objects.patch
-cgesvd-zgesvd-stack-corruption.patch
-zstemr-n2.patch
-zlanhf-clanhf-norm.patch
-dormlq_interface_check.patch
-dlansy_1_norm_segfault.patch
-dlange_rowmajor_inconsistent.patch
diff --git a/debian/patches/zlanhf-clanhf-norm.patch b/debian/patches/zlanhf-clanhf-norm.patch
deleted file mode 100644
index 3ffc34a..0000000
--- a/debian/patches/zlanhf-clanhf-norm.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Description: Fix ZLANHF and CLANHF Norm Calculation (upstream bug #118)
-Origin: upstream, commit: r1483
-Bug: http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=13&t=4558
-Reviewed-by: Sébastien Villemot <sebastien at debian.org>
-Last-Update: 2014-08-07
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/clanhf.f
-+++ b/src/clanhf.f
-@@ -286,7 +286,7 @@
-          CLANHF = ZERO
-          RETURN
-       ELSE IF( N.EQ.1 ) THEN
--         CLANHF = ABS( A(0) )
-+         CLANHF = ABS(REAL(A(0)))
-          RETURN
-       END IF
- *
---- a/src/zlanhf.f
-+++ b/src/zlanhf.f
-@@ -286,7 +286,7 @@
-          ZLANHF = ZERO
-          RETURN
-       ELSE IF( N.EQ.1 ) THEN
--         ZLANHF = ABS( A(0) )
-+         ZLANHF = ABS(DBLE(A(0)))
-          RETURN
-       END IF
- *
diff --git a/debian/patches/zstemr-n2.patch b/debian/patches/zstemr-n2.patch
deleted file mode 100644
index d4eb9fd..0000000
--- a/debian/patches/zstemr-n2.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Description: Fix bug in ZSTEMR for N=2 (upstream bug #117)
-Origin: other, https://github.com/xianyi/OpenBLAS/commit/dc6b809f15fe297e40a73ec65833fa60ac954884
-Bug: http://icl.utk.edu/lapack-forum/viewtopic.php?f=2&t=4331
-Reviewed-by: Sébastien Villemot <sebastien at debian.org>
-Last-Update: 2014-08-07
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/src/zstemr.f
-+++ b/src/zstemr.f
-@@ -526,10 +526,10 @@
-                IF (SN.NE.ZERO) THEN
-                   IF (CS.NE.ZERO) THEN
-                      ISUPPZ(2*M-1) = 1
--                     ISUPPZ(2*M-1) = 2
-+                     ISUPPZ(2*M) = 2
-                   ELSE
-                      ISUPPZ(2*M-1) = 1
--                     ISUPPZ(2*M-1) = 1
-+                     ISUPPZ(2*M) = 1
-                   END IF
-                ELSE
-                   ISUPPZ(2*M-1) = 2
-@@ -550,10 +550,10 @@
-                IF (SN.NE.ZERO) THEN
-                   IF (CS.NE.ZERO) THEN
-                      ISUPPZ(2*M-1) = 1
--                     ISUPPZ(2*M-1) = 2
-+                     ISUPPZ(2*M) = 2
-                   ELSE
-                      ISUPPZ(2*M-1) = 1
--                     ISUPPZ(2*M-1) = 1
-+                     ISUPPZ(2*M) = 1
-                   END IF
-                ELSE
-                   ISUPPZ(2*M-1) = 2

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/lapack.git



More information about the debian-science-commits mailing list