packages: lapack/lapack.spec, lapack/blas-nan.patch (NEW) - added blas-nan ...

qboosh qboosh at pld-linux.org
Thu Oct 21 07:30:01 CEST 2010


Author: qboosh                       Date: Thu Oct 21 05:30:01 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- added blas-nan patch (disable "0*x=0" optimizations not respecting NaN)
- release 2

---- Files affected:
packages/lapack:
   lapack.spec (1.42 -> 1.43) , blas-nan.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/lapack/lapack.spec
diff -u packages/lapack/lapack.spec:1.42 packages/lapack/lapack.spec:1.43
--- packages/lapack/lapack.spec:1.42	Sat Oct 16 22:39:03 2010
+++ packages/lapack/lapack.spec	Thu Oct 21 07:29:56 2010
@@ -4,7 +4,7 @@
 Name:		lapack
 Version:	3.2.2
 %define	man_ver	3.2.0
-Release:	1
+Release:	2
 License:	freely distributable
 Group:		Libraries
 Source0:	http://www.netlib.org/lapack/%{name}-%{version}.tgz
@@ -12,6 +12,7 @@
 Source1:	http://www.netlib.org/lapack/manpages-%{man_ver}.tgz
 # Source1-md5:	145007cab915504caec382289462a166
 Patch0:		%{name}-automake_support.patch
+Patch1:		blas-nan.patch
 URL:		http://www.netlib.org/lapack/
 BuildRequires:	autoconf
 BuildRequires:	automake
@@ -124,6 +125,7 @@
 %prep
 %setup -q -a1
 %patch0 -p1
+%patch1 -p1
 mv -f lapack-%{man_ver}/manpages .
 # directory INSTALL conflicts with file INSTALL needed by automake
 mv -f INSTALL INSTALLSRC
@@ -203,6 +205,10 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.43  2010/10/21 05:29:56  qboosh
+- added blas-nan patch (disable "0*x=0" optimizations not respecting NaN)
+- release 2
+
 Revision 1.42  2010/10/16 20:39:03  qboosh
 - updated to 3.2.2
 - updated automake_support patch; removed sonames setting brokeness, but stick to .so.2 for now

================================================================
Index: packages/lapack/blas-nan.patch
diff -u /dev/null packages/lapack/blas-nan.patch:1.1
--- /dev/null	Thu Oct 21 07:30:01 2010
+++ packages/lapack/blas-nan.patch	Thu Oct 21 07:29:56 2010
@@ -0,0 +1,1296 @@
+Disable optimizations based on (0*x = 0) assumption;
+they make the code non IEC-60559/IEEE-754 compliant wrt. NaN (0*x=0 _unless_ x=NaN)
+--- lapack-3.2.2/BLAS/SRC/dgbmv.f.orig	2009-01-02 22:57:02.000000000 +0100
++++ lapack-3.2.2/BLAS/SRC/dgbmv.f	2010-10-19 09:18:34.583741043 +0200
+@@ -239,18 +239,18 @@
+           JX = KX
+           IF (INCY.EQ.1) THEN
+               DO 60 J = 1,N
+-                  IF (X(JX).NE.ZERO) THEN
++c                 IF (X(JX).NE.ZERO) THEN
+                       TEMP = ALPHA*X(JX)
+                       K = KUP1 - J
+                       DO 50 I = MAX(1,J-KU),MIN(M,J+KL)
+                           Y(I) = Y(I) + TEMP*A(K+I,J)
+    50                 CONTINUE
+-                  END IF
++c                 END IF
+                   JX = JX + INCX
+    60         CONTINUE
+           ELSE
+               DO 80 J = 1,N
+-                  IF (X(JX).NE.ZERO) THEN
++c                 IF (X(JX).NE.ZERO) THEN
+                       TEMP = ALPHA*X(JX)
+                       IY = KY
+                       K = KUP1 - J
+@@ -258,7 +258,7 @@
+                           Y(IY) = Y(IY) + TEMP*A(K+I,J)
+                           IY = IY + INCY
+    70                 CONTINUE
+-                  END IF
++c                 END IF
+                   JX = JX + INCX
+                   IF (J.GT.KU) KY = KY + INCY
+    80         CONTINUE
+--- lapack-3.2.2/BLAS/SRC/dgemm.f.orig	2009-01-02 22:57:02.000000000 +0100
++++ lapack-3.2.2/BLAS/SRC/dgemm.f	2010-10-19 09:21:00.999739367 +0200
+@@ -239,12 +239,12 @@
+    60                 CONTINUE
+                   END IF
+                   DO 80 L = 1,K
+-                      IF (B(L,J).NE.ZERO) THEN
++c                     IF (B(L,J).NE.ZERO) THEN
+                           TEMP = ALPHA*B(L,J)
+                           DO 70 I = 1,M
+                               C(I,J) = C(I,J) + TEMP*A(I,L)
+    70                     CONTINUE
+-                      END IF
++c                     END IF
+    80             CONTINUE
+    90         CONTINUE
+           ELSE
+@@ -281,12 +281,12 @@
+   140                 CONTINUE
+                   END IF
+                   DO 160 L = 1,K
+-                      IF (B(J,L).NE.ZERO) THEN
++c                     IF (B(J,L).NE.ZERO) THEN
+                           TEMP = ALPHA*B(J,L)
+                           DO 150 I = 1,M
+                               C(I,J) = C(I,J) + TEMP*A(I,L)
+   150                     CONTINUE
+-                      END IF
++c                     END IF
+   160             CONTINUE
+   170         CONTINUE
+           ELSE
+--- lapack-3.2.2/BLAS/SRC/dgemv.f.orig	2009-01-02 22:57:02.000000000 +0100
++++ lapack-3.2.2/BLAS/SRC/dgemv.f	2010-10-19 09:21:52.767734339 +0200
+@@ -208,24 +208,24 @@
+           JX = KX
+           IF (INCY.EQ.1) THEN
+               DO 60 J = 1,N
+-                  IF (X(JX).NE.ZERO) THEN
++c                 IF (X(JX).NE.ZERO) THEN
+                       TEMP = ALPHA*X(JX)
+                       DO 50 I = 1,M
+                           Y(I) = Y(I) + TEMP*A(I,J)
+    50                 CONTINUE
+-                  END IF
++c                 END IF
+                   JX = JX + INCX
+    60         CONTINUE
+           ELSE
+               DO 80 J = 1,N
+-                  IF (X(JX).NE.ZERO) THEN
++c                 IF (X(JX).NE.ZERO) THEN
+                       TEMP = ALPHA*X(JX)
+                       IY = KY
+                       DO 70 I = 1,M
+                           Y(IY) = Y(IY) + TEMP*A(I,J)
+                           IY = IY + INCY
+    70                 CONTINUE
+-                  END IF
++c                 END IF
+                   JX = JX + INCX
+    80         CONTINUE
+           END IF
+--- lapack-3.2.2/BLAS/SRC/zgemv.f.orig	2009-01-02 22:57:02.000000000 +0100
++++ lapack-3.2.2/BLAS/SRC/zgemv.f	2010-10-19 09:26:18.235739367 +0200
+@@ -215,24 +215,24 @@
+           JX = KX
+           IF (INCY.EQ.1) THEN
+               DO 60 J = 1,N
+-                  IF (X(JX).NE.ZERO) THEN
++c                 IF (X(JX).NE.ZERO) THEN
+                       TEMP = ALPHA*X(JX)
+                       DO 50 I = 1,M
+                           Y(I) = Y(I) + TEMP*A(I,J)
+    50                 CONTINUE
+-                  END IF
++c                 END IF
+                   JX = JX + INCX
+    60         CONTINUE
+           ELSE
+               DO 80 J = 1,N
+-                  IF (X(JX).NE.ZERO) THEN
++c                 IF (X(JX).NE.ZERO) THEN
+                       TEMP = ALPHA*X(JX)
+                       IY = KY
+                       DO 70 I = 1,M
+                           Y(IY) = Y(IY) + TEMP*A(I,J)
+                           IY = IY + INCY
+    70                 CONTINUE
+-                  END IF
++c                 END IF
+                   JX = JX + INCX
+    80         CONTINUE
+           END IF
+--- lapack-3.2.2/BLAS/SRC/zgerc.f.orig	2009-01-02 22:57:02.000000000 +0100
++++ lapack-3.2.2/BLAS/SRC/zgerc.f	2010-10-19 09:27:26.711744396 +0200
+@@ -128,12 +128,12 @@
+       END IF
+       IF (INCX.EQ.1) THEN
+           DO 20 J = 1,N
+-              IF (Y(JY).NE.ZERO) THEN
++c             IF (Y(JY).NE.ZERO) THEN
+                   TEMP = ALPHA*DCONJG(Y(JY))
+                   DO 10 I = 1,M
+                       A(I,J) = A(I,J) + X(I)*TEMP
+    10             CONTINUE
+-              END IF
++c             END IF
+               JY = JY + INCY
+    20     CONTINUE
+       ELSE
+@@ -143,14 +143,14 @@
+               KX = 1 - (M-1)*INCX
+           END IF
+           DO 40 J = 1,N
+-              IF (Y(JY).NE.ZERO) THEN
++c             IF (Y(JY).NE.ZERO) THEN
+                   TEMP = ALPHA*DCONJG(Y(JY))
+                   IX = KX
+                   DO 30 I = 1,M
+                       A(I,J) = A(I,J) + X(IX)*TEMP
+                       IX = IX + INCX
+    30             CONTINUE
+-              END IF
++c             END IF
+               JY = JY + INCY
+    40     CONTINUE
+       END IF
+--- lapack-3.2.2/BLAS/SRC/zher2.f.orig	2009-01-02 22:57:02.000000000 +0100
++++ lapack-3.2.2/BLAS/SRC/zher2.f	2010-10-19 09:29:15.131742720 +0200
+@@ -171,7 +171,7 @@
+ *
+           IF ((INCX.EQ.1) .AND. (INCY.EQ.1)) THEN
+               DO 20 J = 1,N
+-                  IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
++c                 IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
+                       TEMP1 = ALPHA*DCONJG(Y(J))
+                       TEMP2 = DCONJG(ALPHA*X(J))
+                       DO 10 I = 1,J - 1
+@@ -179,13 +179,13 @@
+    10                 CONTINUE
+                       A(J,J) = DBLE(A(J,J)) +
+      +                         DBLE(X(J)*TEMP1+Y(J)*TEMP2)
+-                  ELSE
+-                      A(J,J) = DBLE(A(J,J))
+-                  END IF
++c                 ELSE
++c                     A(J,J) = DBLE(A(J,J))
++c                 END IF
+    20         CONTINUE
+           ELSE
+               DO 40 J = 1,N
+-                  IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
++c                 IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
+                       TEMP1 = ALPHA*DCONJG(Y(JY))
+                       TEMP2 = DCONJG(ALPHA*X(JX))
+                       IX = KX
+@@ -197,9 +197,9 @@
+    30                 CONTINUE
+                       A(J,J) = DBLE(A(J,J)) +
+      +                         DBLE(X(JX)*TEMP1+Y(JY)*TEMP2)
+-                  ELSE
+-                      A(J,J) = DBLE(A(J,J))
+-                  END IF
++c                 ELSE
++c                     A(J,J) = DBLE(A(J,J))
++c                 END IF
+                   JX = JX + INCX
+                   JY = JY + INCY
+    40         CONTINUE
+@@ -210,7 +210,7 @@
+ *
+           IF ((INCX.EQ.1) .AND. (INCY.EQ.1)) THEN
+               DO 60 J = 1,N
+-                  IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
++c                 IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
+                       TEMP1 = ALPHA*DCONJG(Y(J))
+                       TEMP2 = DCONJG(ALPHA*X(J))
+                       A(J,J) = DBLE(A(J,J)) +
+@@ -218,13 +218,13 @@
+                       DO 50 I = J + 1,N
+                           A(I,J) = A(I,J) + X(I)*TEMP1 + Y(I)*TEMP2
+    50                 CONTINUE
+-                  ELSE
+-                      A(J,J) = DBLE(A(J,J))
+-                  END IF
++c                 ELSE
++c                     A(J,J) = DBLE(A(J,J))
++c                 END IF
+    60         CONTINUE
+           ELSE
+               DO 80 J = 1,N
+-                  IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
++c                 IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
+                       TEMP1 = ALPHA*DCONJG(Y(JY))
+                       TEMP2 = DCONJG(ALPHA*X(JX))
+                       A(J,J) = DBLE(A(J,J)) +
+@@ -236,9 +236,9 @@
+                           IY = IY + INCY
+                           A(I,J) = A(I,J) + X(IX)*TEMP1 + Y(IY)*TEMP2
+    70                 CONTINUE
+-                  ELSE
+-                      A(J,J) = DBLE(A(J,J))
+-                  END IF
++c                 ELSE
++c                     A(J,J) = DBLE(A(J,J))
++c                 END IF
+                   JX = JX + INCX
+                   JY = JY + INCY
+    80         CONTINUE
+--- lapack-3.2.2/BLAS/SRC/zher2k.f.orig	2009-01-02 22:57:02.000000000 +0100
++++ lapack-3.2.2/BLAS/SRC/zher2k.f	2010-10-19 09:29:55.943741043 +0200
+@@ -260,7 +260,7 @@
+                       C(J,J) = DBLE(C(J,J))
+                   END IF
+                   DO 120 L = 1,K
+-                      IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
++c                     IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
+                           TEMP1 = ALPHA*DCONJG(B(J,L))
+                           TEMP2 = DCONJG(ALPHA*A(J,L))
+                           DO 110 I = 1,J - 1
+@@ -269,7 +269,7 @@
+   110                     CONTINUE
+                           C(J,J) = DBLE(C(J,J)) +
+      +                             DBLE(A(J,L)*TEMP1+B(J,L)*TEMP2)
+-                      END IF
++c                     END IF
+   120             CONTINUE
+   130         CONTINUE
+           ELSE
+@@ -287,7 +287,7 @@
+                       C(J,J) = DBLE(C(J,J))
+                   END IF
+                   DO 170 L = 1,K
+-                      IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
++c                     IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
+                           TEMP1 = ALPHA*DCONJG(B(J,L))
+                           TEMP2 = DCONJG(ALPHA*A(J,L))
+                           DO 160 I = J + 1,N
+@@ -296,7 +296,7 @@
+   160                     CONTINUE
+                           C(J,J) = DBLE(C(J,J)) +
+      +                             DBLE(A(J,L)*TEMP1+B(J,L)*TEMP2)
+-                      END IF
++c                     END IF
+   170             CONTINUE
+   180         CONTINUE
+           END IF
+--- lapack-3.2.2/BLAS/SRC/ztrmm.f.orig	2009-01-02 22:57:02.000000000 +0100
++++ lapack-3.2.2/BLAS/SRC/ztrmm.f	2010-10-19 09:31:16.815739367 +0200
+@@ -211,27 +211,27 @@
+               IF (UPPER) THEN
+                   DO 50 J = 1,N
+                       DO 40 K = 1,M
+-                          IF (B(K,J).NE.ZERO) THEN
++c                         IF (B(K,J).NE.ZERO) THEN
+                               TEMP = ALPHA*B(K,J)
+                               DO 30 I = 1,K - 1
+                                   B(I,J) = B(I,J) + TEMP*A(I,K)
+    30                         CONTINUE
+                               IF (NOUNIT) TEMP = TEMP*A(K,K)
+                               B(K,J) = TEMP
+-                          END IF
++c                         END IF
+    40                 CONTINUE
+    50             CONTINUE
+               ELSE
+                   DO 80 J = 1,N
+                       DO 70 K = M,1,-1
+-                          IF (B(K,J).NE.ZERO) THEN
++c                         IF (B(K,J).NE.ZERO) THEN
+                               TEMP = ALPHA*B(K,J)
+                               B(K,J) = TEMP
+                               IF (NOUNIT) B(K,J) = B(K,J)*A(K,K)
+                               DO 60 I = K + 1,M
+                                   B(I,J) = B(I,J) + TEMP*A(I,K)
+    60                         CONTINUE
+-                          END IF
++c                         END IF
+    70                 CONTINUE
+    80             CONTINUE
+               END IF
+@@ -290,12 +290,12 @@
+                           B(I,J) = TEMP*B(I,J)
+   170                 CONTINUE
+                       DO 190 K = 1,J - 1
+-                          IF (A(K,J).NE.ZERO) THEN
++c                         IF (A(K,J).NE.ZERO) THEN
+                               TEMP = ALPHA*A(K,J)
+                               DO 180 I = 1,M
+                                   B(I,J) = B(I,J) + TEMP*B(I,K)
+   180                         CONTINUE
+-                          END IF
++c                         END IF
+   190                 CONTINUE
+   200             CONTINUE
+               ELSE
+@@ -306,12 +306,12 @@
+                           B(I,J) = TEMP*B(I,J)
+   210                 CONTINUE
+                       DO 230 K = J + 1,N
+-                          IF (A(K,J).NE.ZERO) THEN
++c                         IF (A(K,J).NE.ZERO) THEN
+                               TEMP = ALPHA*A(K,J)
+                               DO 220 I = 1,M
+                                   B(I,J) = B(I,J) + TEMP*B(I,K)
+   220                         CONTINUE
+-                          END IF
++c                         END IF
+   230                 CONTINUE
+   240             CONTINUE
+               END IF
+@@ -350,7 +350,7 @@
+               ELSE
+                   DO 320 K = N,1,-1
+                       DO 300 J = K + 1,N
+-                          IF (A(J,K).NE.ZERO) THEN
++c                         IF (A(J,K).NE.ZERO) THEN
+                               IF (NOCONJ) THEN
+                                   TEMP = ALPHA*A(J,K)
+                               ELSE
+@@ -359,7 +359,7 @@
+                               DO 290 I = 1,M
+                                   B(I,J) = B(I,J) + TEMP*B(I,K)
+   290                         CONTINUE
+-                          END IF
++c                         END IF
+   300                 CONTINUE
+                       TEMP = ALPHA
+                       IF (NOUNIT) THEN
+--- lapack-3.2.2/BLAS/SRC/ztrmv.f.orig	2009-01-02 22:57:02.000000000 +0100
++++ lapack-3.2.2/BLAS/SRC/ztrmv.f	2010-10-19 09:32:09.067739367 +0200
+@@ -169,18 +169,18 @@
+           IF (LSAME(UPLO,'U')) THEN
+               IF (INCX.EQ.1) THEN
+                   DO 20 J = 1,N
+-                      IF (X(J).NE.ZERO) THEN
++c                     IF (X(J).NE.ZERO) THEN
+                           TEMP = X(J)
+                           DO 10 I = 1,J - 1
+                               X(I) = X(I) + TEMP*A(I,J)
+    10                     CONTINUE
+                           IF (NOUNIT) X(J) = X(J)*A(J,J)
+-                      END IF
++c                     END IF
+    20             CONTINUE
+               ELSE
+                   JX = KX
+                   DO 40 J = 1,N
+-                      IF (X(JX).NE.ZERO) THEN
++c                     IF (X(JX).NE.ZERO) THEN
+                           TEMP = X(JX)
+                           IX = KX
+                           DO 30 I = 1,J - 1
+@@ -188,26 +188,26 @@
+                               IX = IX + INCX
+    30                     CONTINUE
+                           IF (NOUNIT) X(JX) = X(JX)*A(J,J)
+-                      END IF
++c                     END IF
+                       JX = JX + INCX
+    40             CONTINUE
+               END IF
+           ELSE
+               IF (INCX.EQ.1) THEN
+                   DO 60 J = N,1,-1
+-                      IF (X(J).NE.ZERO) THEN
++c                     IF (X(J).NE.ZERO) THEN
+                           TEMP = X(J)
+                           DO 50 I = N,J + 1,-1
+                               X(I) = X(I) + TEMP*A(I,J)
+    50                     CONTINUE
+                           IF (NOUNIT) X(J) = X(J)*A(J,J)
+-                      END IF
++c                     END IF
+    60             CONTINUE
+               ELSE
+                   KX = KX + (N-1)*INCX
+                   JX = KX
+                   DO 80 J = N,1,-1
+-                      IF (X(JX).NE.ZERO) THEN
++c                     IF (X(JX).NE.ZERO) THEN
+                           TEMP = X(JX)
+                           IX = KX
+                           DO 70 I = N,J + 1,-1
+@@ -215,7 +215,7 @@
+                               IX = IX - INCX
+    70                     CONTINUE
+                           IF (NOUNIT) X(JX) = X(JX)*A(J,J)
+-                      END IF
++c                     END IF
+                       JX = JX - INCX
+    80             CONTINUE
+               END IF
+--- lapack-3.2.2/BLAS/SRC/ztrsm.f.orig	2009-01-02 22:57:02.000000000 +0100
++++ lapack-3.2.2/BLAS/SRC/ztrsm.f	2010-10-19 09:37:56.767745234 +0200
+@@ -218,12 +218,12 @@
+    30                     CONTINUE
+                       END IF
+                       DO 50 K = M,1,-1
+-                          IF (B(K,J).NE.ZERO) THEN
++c                         IF (B(K,J).NE.ZERO) THEN
+                               IF (NOUNIT) B(K,J) = B(K,J)/A(K,K)
+                               DO 40 I = 1,K - 1
+                                   B(I,J) = B(I,J) - B(K,J)*A(I,K)
+    40                         CONTINUE
+-                          END IF
++c                         END IF
+    50                 CONTINUE
+    60             CONTINUE
+               ELSE
+@@ -234,12 +234,12 @@
+    70                     CONTINUE
+                       END IF
+                       DO 90 K = 1,M
+-                          IF (B(K,J).NE.ZERO) THEN
++c                         IF (B(K,J).NE.ZERO) THEN
+                               IF (NOUNIT) B(K,J) = B(K,J)/A(K,K)
+                               DO 80 I = K + 1,M
+                                   B(I,J) = B(I,J) - B(K,J)*A(I,K)
+    80                         CONTINUE
+-                          END IF
++c                         END IF
+    90                 CONTINUE
+   100             CONTINUE
+               END IF
+@@ -299,11 +299,11 @@
+   190                     CONTINUE
+                       END IF
+                       DO 210 K = 1,J - 1
+-                          IF (A(K,J).NE.ZERO) THEN
++c                         IF (A(K,J).NE.ZERO) THEN
+                               DO 200 I = 1,M
+                                   B(I,J) = B(I,J) - A(K,J)*B(I,K)
+   200                         CONTINUE
+-                          END IF
++c                         END IF
+   210                 CONTINUE
+                       IF (NOUNIT) THEN
+                           TEMP = ONE/A(J,J)
+@@ -320,11 +320,11 @@
+   240                     CONTINUE
+                       END IF
+                       DO 260 K = J + 1,N
+-                          IF (A(K,J).NE.ZERO) THEN
++c                         IF (A(K,J).NE.ZERO) THEN
+                               DO 250 I = 1,M
+                                   B(I,J) = B(I,J) - A(K,J)*B(I,K)
+   250                         CONTINUE
+-                          END IF
++c                         END IF
+   260                 CONTINUE
+                       IF (NOUNIT) THEN
+                           TEMP = ONE/A(J,J)
+@@ -352,7 +352,7 @@
+   290                     CONTINUE
+                       END IF
+                       DO 310 J = 1,K - 1
+-                          IF (A(J,K).NE.ZERO) THEN
++c                         IF (A(J,K).NE.ZERO) THEN
+                               IF (NOCONJ) THEN
+                                   TEMP = A(J,K)
+                               ELSE
+@@ -361,7 +361,7 @@
+                               DO 300 I = 1,M
+                                   B(I,J) = B(I,J) - TEMP*B(I,K)
+   300                         CONTINUE
+-                          END IF
++c                         END IF
+   310                 CONTINUE
+                       IF (ALPHA.NE.ONE) THEN
+                           DO 320 I = 1,M
+@@ -382,7 +382,7 @@
+   340                     CONTINUE
+                       END IF
+                       DO 360 J = K + 1,N
+-                          IF (A(J,K).NE.ZERO) THEN
++c                         IF (A(J,K).NE.ZERO) THEN
+                               IF (NOCONJ) THEN
+                                   TEMP = A(J,K)
+                               ELSE
+@@ -391,7 +391,7 @@
+                               DO 350 I = 1,M
+                                   B(I,J) = B(I,J) - TEMP*B(I,K)
+   350                         CONTINUE
+-                          END IF
++c                         END IF
+   360                 CONTINUE
+                       IF (ALPHA.NE.ONE) THEN
+                           DO 370 I = 1,M
+--- lapack-3.2.2/BLAS/SRC/ztrsv.f.orig	2009-01-02 22:57:02.000000000 +0100
++++ lapack-3.2.2/BLAS/SRC/ztrsv.f	2010-10-19 09:40:07.839740205 +0200
+@@ -172,18 +172,18 @@
+           IF (LSAME(UPLO,'U')) THEN
+               IF (INCX.EQ.1) THEN
+                   DO 20 J = N,1,-1
+-                      IF (X(J).NE.ZERO) THEN
++c                     IF (X(J).NE.ZERO) THEN
+                           IF (NOUNIT) X(J) = X(J)/A(J,J)
+                           TEMP = X(J)
+                           DO 10 I = J - 1,1,-1
+                               X(I) = X(I) - TEMP*A(I,J)
+    10                     CONTINUE
+-                      END IF
++c                     END IF
+    20             CONTINUE
+               ELSE
+                   JX = KX + (N-1)*INCX
+                   DO 40 J = N,1,-1
+-                      IF (X(JX).NE.ZERO) THEN
++c                     IF (X(JX).NE.ZERO) THEN
+                           IF (NOUNIT) X(JX) = X(JX)/A(J,J)
+                           TEMP = X(JX)
+                           IX = JX
+@@ -191,25 +191,25 @@
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/lapack/lapack.spec?r1=1.42&r2=1.43&f=u



More information about the pld-cvs-commit mailing list