From 8b3c7f50323996c373249a74cae81487cfdb1099 Mon Sep 17 00:00:00 2001 From: Gard Spreemann Date: Thu, 2 Feb 2017 21:50:56 +0100 Subject: 3.0+dfsg.3-1: First git commit of already released Debian version. --- debian/patches/replace-linpack-with-lapack.patch | 76 ++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 debian/patches/replace-linpack-with-lapack.patch (limited to 'debian/patches/replace-linpack-with-lapack.patch') diff --git a/debian/patches/replace-linpack-with-lapack.patch b/debian/patches/replace-linpack-with-lapack.patch new file mode 100644 index 0000000..83e3261 --- /dev/null +++ b/debian/patches/replace-linpack-with-lapack.patch @@ -0,0 +1,76 @@ +The library code originally uses LINPACK (from an embedded +copy). Since LINPACK has largely been superseded by LAPACK, this patch +replaces calls to the former with equivalent calls to the +latter. Specifically, dpofa is replaced by dpotrf, and dtrsl is +replaced by dtrtrs. +--- a/lbfgsb.f ++++ b/lbfgsb.f +@@ -1185,7 +1185,7 @@ + p(i2) = v(i2) + sum + 20 continue + c Solve the triangular system +- call dtrsl(wt,m,col,p(col+1),11,info) ++ call dtrtrs('U', 'T', 'N', col, 1, wt, m, p(col+1), col, info) + if (info .ne. 0) return + + c solve D^(1/2)p1=v1. +@@ -1197,7 +1197,7 @@ + c [ 0 J' ] [ p2 ] [ p2 ]. + + c solve J^Tp2=p2. +- call dtrsl(wt,m,col,p(col+1),01,info) ++ call dtrtrs('U', 'N', 'N', col, 1, wt, m, p(col+1), col, info) + if (info .ne. 0) return + + c compute p1=-D^(-1/2)(p1-D^(-1/2)L'p2) +@@ -2135,7 +2135,7 @@ + + c first Cholesky factor (1,1) block of wn to get LL' + c with L' stored in the upper triangle of wn. +- call dpofa(wn,m2,col,info) ++ call dpotrf('U', col, wn, m2, info) + if (info .ne. 0) then + info = -1 + return +@@ -2143,7 +2143,7 @@ + c then form L^-1(-L_a'+R_z') in the (1,2) block. + col2 = 2*col + do 71 js = col+1 ,col2 +- call dtrsl(wn,m2,col,wn(1,js),11,info) ++ call dtrtrs('U', 'T', 'N', col, 1, wn, m2, wn(1,js), col, info) + 71 continue + + c Form S'AA'S*theta + (L^-1(-L_a'+R_z'))'L^-1(-L_a'+R_z') in the +@@ -2158,7 +2158,7 @@ + + c Cholesky factorization of (2,2) block of wn. + +- call dpofa(wn(col+1,col+1),m2,col,info) ++ call dpotrf('U', col, wn(col+1,col+1), m2, info) + if (info .ne. 0) then + info = -2 + return +@@ -2227,7 +2227,7 @@ + c Cholesky factorize T to J*J' with + c J' stored in the upper triangle of wt. + +- call dpofa(wt,m,col,info) ++ call dpotrf('U', col, wt, m, info) + if (info .ne. 0) then + info = -3 + endif +@@ -3208,12 +3208,12 @@ + + m2 = 2*m + col2 = 2*col +- call dtrsl(wn,m2,col2,wv,11,info) ++ call dtrtrs('U', 'T', 'N', col2, 1, wn, m2, wv, col2, info) + if (info .ne. 0) return + do 25 i = 1, col + wv(i) = -wv(i) + 25 continue +- call dtrsl(wn,m2,col2,wv,01,info) ++ call dtrtrs('U', 'N', 'N', col2, 1, wn, m2, wv, col2, info) + if (info .ne. 0) return + + c Compute d = (1/theta)d + (1/theta**2)Z'W wv. -- cgit v1.2.3