]> git.pld-linux.org Git - packages/lapack.git/blob - blas-nan.patch
- updated to 3.11.0
[packages/lapack.git] / blas-nan.patch
1 Disable optimizations based on (0*x = 0) assumption;
2 they make the code non IEC-60559/IEEE-754 compliant wrt. NaN (0*x=0 _unless_ x=NaN)
3 --- lapack-3.2.2/BLAS/SRC/zgerc.f.orig  2009-01-02 22:57:02.000000000 +0100
4 +++ lapack-3.2.2/BLAS/SRC/zgerc.f       2010-10-19 09:27:26.711744396 +0200
5 @@ -128,12 +128,12 @@
6        END IF
7        IF (INCX.EQ.1) THEN
8            DO 20 J = 1,N
9 -              IF (Y(JY).NE.ZERO) THEN
10 +c             IF (Y(JY).NE.ZERO) THEN
11                    TEMP = ALPHA*DCONJG(Y(JY))
12                    DO 10 I = 1,M
13                        A(I,J) = A(I,J) + X(I)*TEMP
14     10             CONTINUE
15 -              END IF
16 +c             END IF
17                JY = JY + INCY
18     20     CONTINUE
19        ELSE
20 @@ -143,14 +143,14 @@
21                KX = 1 - (M-1)*INCX
22            END IF
23            DO 40 J = 1,N
24 -              IF (Y(JY).NE.ZERO) THEN
25 +c             IF (Y(JY).NE.ZERO) THEN
26                    TEMP = ALPHA*DCONJG(Y(JY))
27                    IX = KX
28                    DO 30 I = 1,M
29                        A(I,J) = A(I,J) + X(IX)*TEMP
30                        IX = IX + INCX
31     30             CONTINUE
32 -              END IF
33 +c             END IF
34                JY = JY + INCY
35     40     CONTINUE
36        END IF
37 --- lapack-3.2.2/BLAS/SRC/zher2.f.orig  2009-01-02 22:57:02.000000000 +0100
38 +++ lapack-3.2.2/BLAS/SRC/zher2.f       2010-10-19 09:29:15.131742720 +0200
39 @@ -171,7 +171,7 @@
40  *
41            IF ((INCX.EQ.1) .AND. (INCY.EQ.1)) THEN
42                DO 20 J = 1,N
43 -                  IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
44 +c                 IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
45                        TEMP1 = ALPHA*DCONJG(Y(J))
46                        TEMP2 = DCONJG(ALPHA*X(J))
47                        DO 10 I = 1,J - 1
48 @@ -179,13 +179,13 @@
49     10                 CONTINUE
50                        A(J,J) = DBLE(A(J,J)) +
51       +                         DBLE(X(J)*TEMP1+Y(J)*TEMP2)
52 -                  ELSE
53 -                      A(J,J) = DBLE(A(J,J))
54 -                  END IF
55 +c                 ELSE
56 +c                     A(J,J) = DBLE(A(J,J))
57 +c                 END IF
58     20         CONTINUE
59            ELSE
60                DO 40 J = 1,N
61 -                  IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
62 +c                 IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
63                        TEMP1 = ALPHA*DCONJG(Y(JY))
64                        TEMP2 = DCONJG(ALPHA*X(JX))
65                        IX = KX
66 @@ -197,9 +197,9 @@
67     30                 CONTINUE
68                        A(J,J) = DBLE(A(J,J)) +
69       +                         DBLE(X(JX)*TEMP1+Y(JY)*TEMP2)
70 -                  ELSE
71 -                      A(J,J) = DBLE(A(J,J))
72 -                  END IF
73 +c                 ELSE
74 +c                     A(J,J) = DBLE(A(J,J))
75 +c                 END IF
76                    JX = JX + INCX
77                    JY = JY + INCY
78     40         CONTINUE
79 @@ -210,7 +210,7 @@
80  *
81            IF ((INCX.EQ.1) .AND. (INCY.EQ.1)) THEN
82                DO 60 J = 1,N
83 -                  IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
84 +c                 IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
85                        TEMP1 = ALPHA*DCONJG(Y(J))
86                        TEMP2 = DCONJG(ALPHA*X(J))
87                        A(J,J) = DBLE(A(J,J)) +
88 @@ -218,13 +218,13 @@
89                        DO 50 I = J + 1,N
90                            A(I,J) = A(I,J) + X(I)*TEMP1 + Y(I)*TEMP2
91     50                 CONTINUE
92 -                  ELSE
93 -                      A(J,J) = DBLE(A(J,J))
94 -                  END IF
95 +c                 ELSE
96 +c                     A(J,J) = DBLE(A(J,J))
97 +c                 END IF
98     60         CONTINUE
99            ELSE
100                DO 80 J = 1,N
101 -                  IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
102 +c                 IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
103                        TEMP1 = ALPHA*DCONJG(Y(JY))
104                        TEMP2 = DCONJG(ALPHA*X(JX))
105                        A(J,J) = DBLE(A(J,J)) +
106 @@ -236,9 +236,9 @@
107                            IY = IY + INCY
108                            A(I,J) = A(I,J) + X(IX)*TEMP1 + Y(IY)*TEMP2
109     70                 CONTINUE
110 -                  ELSE
111 -                      A(J,J) = DBLE(A(J,J))
112 -                  END IF
113 +c                 ELSE
114 +c                     A(J,J) = DBLE(A(J,J))
115 +c                 END IF
116                    JX = JX + INCX
117                    JY = JY + INCY
118     80         CONTINUE
119 --- lapack-3.2.2/BLAS/SRC/zher2k.f.orig 2009-01-02 22:57:02.000000000 +0100
120 +++ lapack-3.2.2/BLAS/SRC/zher2k.f      2010-10-19 09:29:55.943741043 +0200
121 @@ -260,7 +260,7 @@
122                        C(J,J) = DBLE(C(J,J))
123                    END IF
124                    DO 120 L = 1,K
125 -                      IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
126 +c                     IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
127                            TEMP1 = ALPHA*DCONJG(B(J,L))
128                            TEMP2 = DCONJG(ALPHA*A(J,L))
129                            DO 110 I = 1,J - 1
130 @@ -269,7 +269,7 @@
131    110                     CONTINUE
132                            C(J,J) = DBLE(C(J,J)) +
133       +                             DBLE(A(J,L)*TEMP1+B(J,L)*TEMP2)
134 -                      END IF
135 +c                     END IF
136    120             CONTINUE
137    130         CONTINUE
138            ELSE
139 @@ -287,7 +287,7 @@
140                        C(J,J) = DBLE(C(J,J))
141                    END IF
142                    DO 170 L = 1,K
143 -                      IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
144 +c                     IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
145                            TEMP1 = ALPHA*DCONJG(B(J,L))
146                            TEMP2 = DCONJG(ALPHA*A(J,L))
147                            DO 160 I = J + 1,N
148 @@ -296,7 +296,7 @@
149    160                     CONTINUE
150                            C(J,J) = DBLE(C(J,J)) +
151       +                             DBLE(A(J,L)*TEMP1+B(J,L)*TEMP2)
152 -                      END IF
153 +c                     END IF
154    170             CONTINUE
155    180         CONTINUE
156            END IF
157 --- lapack-3.2.2/BLAS/SRC/ztrmm.f.orig  2009-01-02 22:57:02.000000000 +0100
158 +++ lapack-3.2.2/BLAS/SRC/ztrmm.f       2010-10-19 09:31:16.815739367 +0200
159 @@ -211,27 +211,27 @@
160                IF (UPPER) THEN
161                    DO 50 J = 1,N
162                        DO 40 K = 1,M
163 -                          IF (B(K,J).NE.ZERO) THEN
164 +c                         IF (B(K,J).NE.ZERO) THEN
165                                TEMP = ALPHA*B(K,J)
166                                DO 30 I = 1,K - 1
167                                    B(I,J) = B(I,J) + TEMP*A(I,K)
168     30                         CONTINUE
169                                IF (NOUNIT) TEMP = TEMP*A(K,K)
170                                B(K,J) = TEMP
171 -                          END IF
172 +c                         END IF
173     40                 CONTINUE
174     50             CONTINUE
175                ELSE
176                    DO 80 J = 1,N
177                        DO 70 K = M,1,-1
178 -                          IF (B(K,J).NE.ZERO) THEN
179 +c                         IF (B(K,J).NE.ZERO) THEN
180                                TEMP = ALPHA*B(K,J)
181                                B(K,J) = TEMP
182                                IF (NOUNIT) B(K,J) = B(K,J)*A(K,K)
183                                DO 60 I = K + 1,M
184                                    B(I,J) = B(I,J) + TEMP*A(I,K)
185     60                         CONTINUE
186 -                          END IF
187 +c                         END IF
188     70                 CONTINUE
189     80             CONTINUE
190                END IF
191 @@ -290,12 +290,12 @@
192                            B(I,J) = TEMP*B(I,J)
193    170                 CONTINUE
194                        DO 190 K = 1,J - 1
195 -                          IF (A(K,J).NE.ZERO) THEN
196 +c                         IF (A(K,J).NE.ZERO) THEN
197                                TEMP = ALPHA*A(K,J)
198                                DO 180 I = 1,M
199                                    B(I,J) = B(I,J) + TEMP*B(I,K)
200    180                         CONTINUE
201 -                          END IF
202 +c                         END IF
203    190                 CONTINUE
204    200             CONTINUE
205                ELSE
206 @@ -306,12 +306,12 @@
207                            B(I,J) = TEMP*B(I,J)
208    210                 CONTINUE
209                        DO 230 K = J + 1,N
210 -                          IF (A(K,J).NE.ZERO) THEN
211 +c                         IF (A(K,J).NE.ZERO) THEN
212                                TEMP = ALPHA*A(K,J)
213                                DO 220 I = 1,M
214                                    B(I,J) = B(I,J) + TEMP*B(I,K)
215    220                         CONTINUE
216 -                          END IF
217 +c                         END IF
218    230                 CONTINUE
219    240             CONTINUE
220                END IF
221 @@ -350,7 +350,7 @@
222                ELSE
223                    DO 320 K = N,1,-1
224                        DO 300 J = K + 1,N
225 -                          IF (A(J,K).NE.ZERO) THEN
226 +c                         IF (A(J,K).NE.ZERO) THEN
227                                IF (NOCONJ) THEN
228                                    TEMP = ALPHA*A(J,K)
229                                ELSE
230 @@ -359,7 +359,7 @@
231                                DO 290 I = 1,M
232                                    B(I,J) = B(I,J) + TEMP*B(I,K)
233    290                         CONTINUE
234 -                          END IF
235 +c                         END IF
236    300                 CONTINUE
237                        TEMP = ALPHA
238                        IF (NOUNIT) THEN
239 --- lapack-3.2.2/BLAS/SRC/ztrmv.f.orig  2009-01-02 22:57:02.000000000 +0100
240 +++ lapack-3.2.2/BLAS/SRC/ztrmv.f       2010-10-19 09:32:09.067739367 +0200
241 @@ -169,18 +169,18 @@
242            IF (LSAME(UPLO,'U')) THEN
243                IF (INCX.EQ.1) THEN
244                    DO 20 J = 1,N
245 -                      IF (X(J).NE.ZERO) THEN
246 +c                     IF (X(J).NE.ZERO) THEN
247                            TEMP = X(J)
248                            DO 10 I = 1,J - 1
249                                X(I) = X(I) + TEMP*A(I,J)
250     10                     CONTINUE
251                            IF (NOUNIT) X(J) = X(J)*A(J,J)
252 -                      END IF
253 +c                     END IF
254     20             CONTINUE
255                ELSE
256                    JX = KX
257                    DO 40 J = 1,N
258 -                      IF (X(JX).NE.ZERO) THEN
259 +c                     IF (X(JX).NE.ZERO) THEN
260                            TEMP = X(JX)
261                            IX = KX
262                            DO 30 I = 1,J - 1
263 @@ -188,26 +188,26 @@
264                                IX = IX + INCX
265     30                     CONTINUE
266                            IF (NOUNIT) X(JX) = X(JX)*A(J,J)
267 -                      END IF
268 +c                     END IF
269                        JX = JX + INCX
270     40             CONTINUE
271                END IF
272            ELSE
273                IF (INCX.EQ.1) THEN
274                    DO 60 J = N,1,-1
275 -                      IF (X(J).NE.ZERO) THEN
276 +c                     IF (X(J).NE.ZERO) THEN
277                            TEMP = X(J)
278                            DO 50 I = N,J + 1,-1
279                                X(I) = X(I) + TEMP*A(I,J)
280     50                     CONTINUE
281                            IF (NOUNIT) X(J) = X(J)*A(J,J)
282 -                      END IF
283 +c                     END IF
284     60             CONTINUE
285                ELSE
286                    KX = KX + (N-1)*INCX
287                    JX = KX
288                    DO 80 J = N,1,-1
289 -                      IF (X(JX).NE.ZERO) THEN
290 +c                     IF (X(JX).NE.ZERO) THEN
291                            TEMP = X(JX)
292                            IX = KX
293                            DO 70 I = N,J + 1,-1
294 @@ -215,7 +215,7 @@
295                                IX = IX - INCX
296     70                     CONTINUE
297                            IF (NOUNIT) X(JX) = X(JX)*A(J,J)
298 -                      END IF
299 +c                     END IF
300                        JX = JX - INCX
301     80             CONTINUE
302                END IF
303 --- lapack-3.2.2/BLAS/SRC/ztrsm.f.orig  2009-01-02 22:57:02.000000000 +0100
304 +++ lapack-3.2.2/BLAS/SRC/ztrsm.f       2010-10-19 09:37:56.767745234 +0200
305 @@ -218,12 +218,12 @@
306     30                     CONTINUE
307                        END IF
308                        DO 50 K = M,1,-1
309 -                          IF (B(K,J).NE.ZERO) THEN
310 +c                         IF (B(K,J).NE.ZERO) THEN
311                                IF (NOUNIT) B(K,J) = B(K,J)/A(K,K)
312                                DO 40 I = 1,K - 1
313                                    B(I,J) = B(I,J) - B(K,J)*A(I,K)
314     40                         CONTINUE
315 -                          END IF
316 +c                         END IF
317     50                 CONTINUE
318     60             CONTINUE
319                ELSE
320 @@ -234,12 +234,12 @@
321     70                     CONTINUE
322                        END IF
323                        DO 90 K = 1,M
324 -                          IF (B(K,J).NE.ZERO) THEN
325 +c                         IF (B(K,J).NE.ZERO) THEN
326                                IF (NOUNIT) B(K,J) = B(K,J)/A(K,K)
327                                DO 80 I = K + 1,M
328                                    B(I,J) = B(I,J) - B(K,J)*A(I,K)
329     80                         CONTINUE
330 -                          END IF
331 +c                         END IF
332     90                 CONTINUE
333    100             CONTINUE
334                END IF
335 @@ -299,11 +299,11 @@
336    190                     CONTINUE
337                        END IF
338                        DO 210 K = 1,J - 1
339 -                          IF (A(K,J).NE.ZERO) THEN
340 +c                         IF (A(K,J).NE.ZERO) THEN
341                                DO 200 I = 1,M
342                                    B(I,J) = B(I,J) - A(K,J)*B(I,K)
343    200                         CONTINUE
344 -                          END IF
345 +c                         END IF
346    210                 CONTINUE
347                        IF (NOUNIT) THEN
348                            TEMP = ONE/A(J,J)
349 @@ -320,11 +320,11 @@
350    240                     CONTINUE
351                        END IF
352                        DO 260 K = J + 1,N
353 -                          IF (A(K,J).NE.ZERO) THEN
354 +c                         IF (A(K,J).NE.ZERO) THEN
355                                DO 250 I = 1,M
356                                    B(I,J) = B(I,J) - A(K,J)*B(I,K)
357    250                         CONTINUE
358 -                          END IF
359 +c                         END IF
360    260                 CONTINUE
361                        IF (NOUNIT) THEN
362                            TEMP = ONE/A(J,J)
363 @@ -352,7 +352,7 @@
364    290                     CONTINUE
365                        END IF
366                        DO 310 J = 1,K - 1
367 -                          IF (A(J,K).NE.ZERO) THEN
368 +c                         IF (A(J,K).NE.ZERO) THEN
369                                IF (NOCONJ) THEN
370                                    TEMP = A(J,K)
371                                ELSE
372 @@ -361,7 +361,7 @@
373                                DO 300 I = 1,M
374                                    B(I,J) = B(I,J) - TEMP*B(I,K)
375    300                         CONTINUE
376 -                          END IF
377 +c                         END IF
378    310                 CONTINUE
379                        IF (ALPHA.NE.ONE) THEN
380                            DO 320 I = 1,M
381 @@ -382,7 +382,7 @@
382    340                     CONTINUE
383                        END IF
384                        DO 360 J = K + 1,N
385 -                          IF (A(J,K).NE.ZERO) THEN
386 +c                         IF (A(J,K).NE.ZERO) THEN
387                                IF (NOCONJ) THEN
388                                    TEMP = A(J,K)
389                                ELSE
390 @@ -391,7 +391,7 @@
391                                DO 350 I = 1,M
392                                    B(I,J) = B(I,J) - TEMP*B(I,K)
393    350                         CONTINUE
394 -                          END IF
395 +c                         END IF
396    360                 CONTINUE
397                        IF (ALPHA.NE.ONE) THEN
398                            DO 370 I = 1,M
399 --- lapack-3.2.2/BLAS/SRC/ztrsv.f.orig  2009-01-02 22:57:02.000000000 +0100
400 +++ lapack-3.2.2/BLAS/SRC/ztrsv.f       2010-10-19 09:40:07.839740205 +0200
401 @@ -172,18 +172,18 @@
402            IF (LSAME(UPLO,'U')) THEN
403                IF (INCX.EQ.1) THEN
404                    DO 20 J = N,1,-1
405 -                      IF (X(J).NE.ZERO) THEN
406 +c                     IF (X(J).NE.ZERO) THEN
407                            IF (NOUNIT) X(J) = X(J)/A(J,J)
408                            TEMP = X(J)
409                            DO 10 I = J - 1,1,-1
410                                X(I) = X(I) - TEMP*A(I,J)
411     10                     CONTINUE
412 -                      END IF
413 +c                     END IF
414     20             CONTINUE
415                ELSE
416                    JX = KX + (N-1)*INCX
417                    DO 40 J = N,1,-1
418 -                      IF (X(JX).NE.ZERO) THEN
419 +c                     IF (X(JX).NE.ZERO) THEN
420                            IF (NOUNIT) X(JX) = X(JX)/A(J,J)
421                            TEMP = X(JX)
422                            IX = JX
423 @@ -191,25 +191,25 @@
424                                IX = IX - INCX
425                                X(IX) = X(IX) - TEMP*A(I,J)
426     30                     CONTINUE
427 -                      END IF
428 +c                     END IF
429                        JX = JX - INCX
430     40             CONTINUE
431                END IF
432            ELSE
433                IF (INCX.EQ.1) THEN
434                    DO 60 J = 1,N
435 -                      IF (X(J).NE.ZERO) THEN
436 +c                     IF (X(J).NE.ZERO) THEN
437                            IF (NOUNIT) X(J) = X(J)/A(J,J)
438                            TEMP = X(J)
439                            DO 50 I = J + 1,N
440                                X(I) = X(I) - TEMP*A(I,J)
441     50                     CONTINUE
442 -                      END IF
443 +c                     END IF
444     60             CONTINUE
445                ELSE
446                    JX = KX
447                    DO 80 J = 1,N
448 -                      IF (X(JX).NE.ZERO) THEN
449 +c                     IF (X(JX).NE.ZERO) THEN
450                            IF (NOUNIT) X(JX) = X(JX)/A(J,J)
451                            TEMP = X(JX)
452                            IX = JX
453 @@ -217,7 +217,7 @@
454                                IX = IX + INCX
455                                X(IX) = X(IX) - TEMP*A(I,J)
456     70                     CONTINUE
457 -                      END IF
458 +c                     END IF
459                        JX = JX + INCX
460     80             CONTINUE
461                END IF
462 --- lapack-3.2.2/BLAS/SRC/zgeru.f.orig  2009-01-02 22:57:02.000000000 +0100
463 +++ lapack-3.2.2/BLAS/SRC/zgeru.f       2010-10-19 09:41:25.835741043 +0200
464 @@ -128,12 +128,12 @@
465        END IF
466        IF (INCX.EQ.1) THEN
467            DO 20 J = 1,N
468 -              IF (Y(JY).NE.ZERO) THEN
469 +c             IF (Y(JY).NE.ZERO) THEN
470                    TEMP = ALPHA*Y(JY)
471                    DO 10 I = 1,M
472                        A(I,J) = A(I,J) + X(I)*TEMP
473     10             CONTINUE
474 -              END IF
475 +c             END IF
476                JY = JY + INCY
477     20     CONTINUE
478        ELSE
479 @@ -143,14 +143,14 @@
480                KX = 1 - (M-1)*INCX
481            END IF
482            DO 40 J = 1,N
483 -              IF (Y(JY).NE.ZERO) THEN
484 +c             IF (Y(JY).NE.ZERO) THEN
485                    TEMP = ALPHA*Y(JY)
486                    IX = KX
487                    DO 30 I = 1,M
488                        A(I,J) = A(I,J) + X(IX)*TEMP
489                        IX = IX + INCX
490     30             CONTINUE
491 -              END IF
492 +c             END IF
493                JY = JY + INCY
494     40     CONTINUE
495        END IF
496 --- lapack-3.2.2/BLAS/SRC/zher.f.orig   2009-01-02 22:57:02.000000000 +0100
497 +++ lapack-3.2.2/BLAS/SRC/zher.f        2010-10-19 09:43:12.851741882 +0200
498 @@ -148,20 +148,20 @@
499  *
500            IF (INCX.EQ.1) THEN
501                DO 20 J = 1,N
502 -                  IF (X(J).NE.ZERO) THEN
503 +c                 IF (X(J).NE.ZERO) THEN
504                        TEMP = ALPHA*DCONJG(X(J))
505                        DO 10 I = 1,J - 1
506                            A(I,J) = A(I,J) + X(I)*TEMP
507     10                 CONTINUE
508                        A(J,J) = DBLE(A(J,J)) + DBLE(X(J)*TEMP)
509 -                  ELSE
510 -                      A(J,J) = DBLE(A(J,J))
511 -                  END IF
512 +c                 ELSE
513 +c                     A(J,J) = DBLE(A(J,J))
514 +c                 END IF
515     20         CONTINUE
516            ELSE
517                JX = KX
518                DO 40 J = 1,N
519 -                  IF (X(JX).NE.ZERO) THEN
520 +c                 IF (X(JX).NE.ZERO) THEN
521                        TEMP = ALPHA*DCONJG(X(JX))
522                        IX = KX
523                        DO 30 I = 1,J - 1
524 @@ -169,9 +169,9 @@
525                            IX = IX + INCX
526     30                 CONTINUE
527                        A(J,J) = DBLE(A(J,J)) + DBLE(X(JX)*TEMP)
528 -                  ELSE
529 -                      A(J,J) = DBLE(A(J,J))
530 -                  END IF
531 +c                 ELSE
532 +c                     A(J,J) = DBLE(A(J,J))
533 +c                 END IF
534                    JX = JX + INCX
535     40         CONTINUE
536            END IF
537 @@ -181,20 +181,20 @@
538  *
539            IF (INCX.EQ.1) THEN
540                DO 60 J = 1,N
541 -                  IF (X(J).NE.ZERO) THEN
542 +c                 IF (X(J).NE.ZERO) THEN
543                        TEMP = ALPHA*DCONJG(X(J))
544                        A(J,J) = DBLE(A(J,J)) + DBLE(TEMP*X(J))
545                        DO 50 I = J + 1,N
546                            A(I,J) = A(I,J) + X(I)*TEMP
547     50                 CONTINUE
548 -                  ELSE
549 -                      A(J,J) = DBLE(A(J,J))
550 -                  END IF
551 +c                 ELSE
552 +c                     A(J,J) = DBLE(A(J,J))
553 +c                 END IF
554     60         CONTINUE
555            ELSE
556                JX = KX
557                DO 80 J = 1,N
558 -                  IF (X(JX).NE.ZERO) THEN
559 +c                 IF (X(JX).NE.ZERO) THEN
560                        TEMP = ALPHA*DCONJG(X(JX))
561                        A(J,J) = DBLE(A(J,J)) + DBLE(TEMP*X(JX))
562                        IX = JX
563 @@ -202,9 +202,9 @@
564                            IX = IX + INCX
565                            A(I,J) = A(I,J) + X(IX)*TEMP
566     70                 CONTINUE
567 -                  ELSE
568 -                      A(J,J) = DBLE(A(J,J))
569 -                  END IF
570 +c                 ELSE
571 +c                     A(J,J) = DBLE(A(J,J))
572 +c                 END IF
573                    JX = JX + INCX
574     80         CONTINUE
575            END IF
576 --- lapack-3.2.2/BLAS/SRC/zhpr.f.orig   2009-01-02 22:57:02.000000000 +0100
577 +++ lapack-3.2.2/BLAS/SRC/zhpr.f        2010-10-19 09:44:30.431739367 +0200
578 @@ -143,7 +143,7 @@
579  *
580            IF (INCX.EQ.1) THEN
581                DO 20 J = 1,N
582 -                  IF (X(J).NE.ZERO) THEN
583 +c                 IF (X(J).NE.ZERO) THEN
584                        TEMP = ALPHA*DCONJG(X(J))
585                        K = KK
586                        DO 10 I = 1,J - 1
587 @@ -151,15 +151,15 @@
588                            K = K + 1
589     10                 CONTINUE
590                        AP(KK+J-1) = DBLE(AP(KK+J-1)) + DBLE(X(J)*TEMP)
591 -                  ELSE
592 -                      AP(KK+J-1) = DBLE(AP(KK+J-1))
593 -                  END IF
594 +c                 ELSE
595 +c                     AP(KK+J-1) = DBLE(AP(KK+J-1))
596 +c                 END IF
597                    KK = KK + J
598     20         CONTINUE
599            ELSE
600                JX = KX
601                DO 40 J = 1,N
602 -                  IF (X(JX).NE.ZERO) THEN
603 +c                 IF (X(JX).NE.ZERO) THEN
604                        TEMP = ALPHA*DCONJG(X(JX))
605                        IX = KX
606                        DO 30 K = KK,KK + J - 2
607 @@ -167,9 +167,9 @@
608                            IX = IX + INCX
609     30                 CONTINUE
610                        AP(KK+J-1) = DBLE(AP(KK+J-1)) + DBLE(X(JX)*TEMP)
611 -                  ELSE
612 -                      AP(KK+J-1) = DBLE(AP(KK+J-1))
613 -                  END IF
614 +c                 ELSE
615 +c                     AP(KK+J-1) = DBLE(AP(KK+J-1))
616 +c                 END IF
617                    JX = JX + INCX
618                    KK = KK + J
619     40         CONTINUE
620 @@ -180,7 +180,7 @@
621  *
622            IF (INCX.EQ.1) THEN
623                DO 60 J = 1,N
624 -                  IF (X(J).NE.ZERO) THEN
625 +c                 IF (X(J).NE.ZERO) THEN
626                        TEMP = ALPHA*DCONJG(X(J))
627                        AP(KK) = DBLE(AP(KK)) + DBLE(TEMP*X(J))
628                        K = KK + 1
629 @@ -188,15 +188,15 @@
630                            AP(K) = AP(K) + X(I)*TEMP
631                            K = K + 1
632     50                 CONTINUE
633 -                  ELSE
634 -                      AP(KK) = DBLE(AP(KK))
635 -                  END IF
636 +c                 ELSE
637 +c                     AP(KK) = DBLE(AP(KK))
638 +c                 END IF
639                    KK = KK + N - J + 1
640     60         CONTINUE
641            ELSE
642                JX = KX
643                DO 80 J = 1,N
644 -                  IF (X(JX).NE.ZERO) THEN
645 +c                 IF (X(JX).NE.ZERO) THEN
646                        TEMP = ALPHA*DCONJG(X(JX))
647                        AP(KK) = DBLE(AP(KK)) + DBLE(TEMP*X(JX))
648                        IX = JX
649 @@ -204,9 +204,9 @@
650                            IX = IX + INCX
651                            AP(K) = AP(K) + X(IX)*TEMP
652     70                 CONTINUE
653 -                  ELSE
654 -                      AP(KK) = DBLE(AP(KK))
655 -                  END IF
656 +c                 ELSE
657 +c                     AP(KK) = DBLE(AP(KK))
658 +c                 END IF
659                    JX = JX + INCX
660                    KK = KK + N - J + 1
661     80         CONTINUE
662 --- lapack-3.2.2/BLAS/SRC/zhpr2.f.orig  2009-01-02 22:57:02.000000000 +0100
663 +++ lapack-3.2.2/BLAS/SRC/zhpr2.f       2010-10-19 09:51:54.631741882 +0200
664 @@ -166,7 +166,7 @@
665  *
666            IF ((INCX.EQ.1) .AND. (INCY.EQ.1)) THEN
667                DO 20 J = 1,N
668 -                  IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
669 +c                 IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
670                        TEMP1 = ALPHA*DCONJG(Y(J))
671                        TEMP2 = DCONJG(ALPHA*X(J))
672                        K = KK
673 @@ -176,14 +176,14 @@
674     10                 CONTINUE
675                        AP(KK+J-1) = DBLE(AP(KK+J-1)) +
676       +                             DBLE(X(J)*TEMP1+Y(J)*TEMP2)
677 -                  ELSE
678 -                      AP(KK+J-1) = DBLE(AP(KK+J-1))
679 -                  END IF
680 +c                 ELSE
681 +c                     AP(KK+J-1) = DBLE(AP(KK+J-1))
682 +c                 END IF
683                    KK = KK + J
684     20         CONTINUE
685            ELSE
686                DO 40 J = 1,N
687 -                  IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
688 +c                 IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
689                        TEMP1 = ALPHA*DCONJG(Y(JY))
690                        TEMP2 = DCONJG(ALPHA*X(JX))
691                        IX = KX
692 @@ -195,9 +195,9 @@
693     30                 CONTINUE
694                        AP(KK+J-1) = DBLE(AP(KK+J-1)) +
695       +                             DBLE(X(JX)*TEMP1+Y(JY)*TEMP2)
696 -                  ELSE
697 -                      AP(KK+J-1) = DBLE(AP(KK+J-1))
698 -                  END IF
699 +c                 ELSE
700 +c                     AP(KK+J-1) = DBLE(AP(KK+J-1))
701 +c                 END IF
702                    JX = JX + INCX
703                    JY = JY + INCY
704                    KK = KK + J
705 @@ -209,7 +209,7 @@
706  *
707            IF ((INCX.EQ.1) .AND. (INCY.EQ.1)) THEN
708                DO 60 J = 1,N
709 -                  IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
710 +c                 IF ((X(J).NE.ZERO) .OR. (Y(J).NE.ZERO)) THEN
711                        TEMP1 = ALPHA*DCONJG(Y(J))
712                        TEMP2 = DCONJG(ALPHA*X(J))
713                        AP(KK) = DBLE(AP(KK)) +
714 @@ -219,14 +219,14 @@
715                            AP(K) = AP(K) + X(I)*TEMP1 + Y(I)*TEMP2
716                            K = K + 1
717     50                 CONTINUE
718 -                  ELSE
719 -                      AP(KK) = DBLE(AP(KK))
720 -                  END IF
721 +c                 ELSE
722 +c                     AP(KK) = DBLE(AP(KK))
723 +c                 END IF
724                    KK = KK + N - J + 1
725     60         CONTINUE
726            ELSE
727                DO 80 J = 1,N
728 -                  IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
729 +c                 IF ((X(JX).NE.ZERO) .OR. (Y(JY).NE.ZERO)) THEN
730                        TEMP1 = ALPHA*DCONJG(Y(JY))
731                        TEMP2 = DCONJG(ALPHA*X(JX))
732                        AP(KK) = DBLE(AP(KK)) +
733 @@ -238,9 +238,9 @@
734                            IY = IY + INCY
735                            AP(K) = AP(K) + X(IX)*TEMP1 + Y(IY)*TEMP2
736     70                 CONTINUE
737 -                  ELSE
738 -                      AP(KK) = DBLE(AP(KK))
739 -                  END IF
740 +c                 ELSE
741 +c                     AP(KK) = DBLE(AP(KK))
742 +c                 END IF
743                    JX = JX + INCX
744                    JY = JY + INCY
745                    KK = KK + N - J + 1
746 --- lapack-3.2.2/BLAS/SRC/zsyr2k.f.orig 2009-01-02 22:57:02.000000000 +0100
747 +++ lapack-3.2.2/BLAS/SRC/zsyr2k.f      2010-10-19 21:48:39.731741882 +0200
748 @@ -245,14 +245,14 @@
749    100                 CONTINUE
750                    END IF
751                    DO 120 L = 1,K
752 -                      IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
753 +c                     IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
754                            TEMP1 = ALPHA*B(J,L)
755                            TEMP2 = ALPHA*A(J,L)
756                            DO 110 I = 1,J
757                                C(I,J) = C(I,J) + A(I,L)*TEMP1 +
758       +                                 B(I,L)*TEMP2
759    110                     CONTINUE
760 -                      END IF
761 +c                     END IF
762    120             CONTINUE
763    130         CONTINUE
764            ELSE
765 @@ -267,14 +267,14 @@
766    150                 CONTINUE
767                    END IF
768                    DO 170 L = 1,K
769 -                      IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
770 +c                     IF ((A(J,L).NE.ZERO) .OR. (B(J,L).NE.ZERO)) THEN
771                            TEMP1 = ALPHA*B(J,L)
772                            TEMP2 = ALPHA*A(J,L)
773                            DO 160 I = J,N
774                                C(I,J) = C(I,J) + A(I,L)*TEMP1 +
775       +                                 B(I,L)*TEMP2
776    160                     CONTINUE
777 -                      END IF
778 +c                     END IF
779    170             CONTINUE
780    180         CONTINUE
781            END IF
782 --- lapack-3.2.2/BLAS/SRC/zsyrk.f.orig  2009-01-02 22:57:02.000000000 +0100
783 +++ lapack-3.2.2/BLAS/SRC/zsyrk.f       2010-10-19 21:49:12.923740205 +0200
784 @@ -226,12 +226,12 @@
785    100                 CONTINUE
786                    END IF
787                    DO 120 L = 1,K
788 -                      IF (A(J,L).NE.ZERO) THEN
789 +c                     IF (A(J,L).NE.ZERO) THEN
790                            TEMP = ALPHA*A(J,L)
791                            DO 110 I = 1,J
792                                C(I,J) = C(I,J) + TEMP*A(I,L)
793    110                     CONTINUE
794 -                      END IF
795 +c                     END IF
796    120             CONTINUE
797    130         CONTINUE
798            ELSE
799 @@ -246,12 +246,12 @@
800    150                 CONTINUE
801                    END IF
802                    DO 170 L = 1,K
803 -                      IF (A(J,L).NE.ZERO) THEN
804 +c                     IF (A(J,L).NE.ZERO) THEN
805                            TEMP = ALPHA*A(J,L)
806                            DO 160 I = J,N
807                                C(I,J) = C(I,J) + TEMP*A(I,L)
808    160                     CONTINUE
809 -                      END IF
810 +c                     END IF
811    170             CONTINUE
812    180         CONTINUE
813            END IF
814 --- lapack-3.2.2/BLAS/SRC/ztbmv.f.orig  2009-01-02 22:57:02.000000000 +0100
815 +++ lapack-3.2.2/BLAS/SRC/ztbmv.f       2010-10-19 21:50:19.351741882 +0200
816 @@ -209,19 +209,19 @@
817                KPLUS1 = K + 1
818                IF (INCX.EQ.1) THEN
819                    DO 20 J = 1,N
820 -                      IF (X(J).NE.ZERO) THEN
821 +c                     IF (X(J).NE.ZERO) THEN
822                            TEMP = X(J)
823                            L = KPLUS1 - J
824                            DO 10 I = MAX(1,J-K),J - 1
825                                X(I) = X(I) + TEMP*A(L+I,J)
826     10                     CONTINUE
827                            IF (NOUNIT) X(J) = X(J)*A(KPLUS1,J)
828 -                      END IF
829 +c                     END IF
830     20             CONTINUE
831                ELSE
832                    JX = KX
833                    DO 40 J = 1,N
834 -                      IF (X(JX).NE.ZERO) THEN
835 +c                     IF (X(JX).NE.ZERO) THEN
836                            TEMP = X(JX)
837                            IX = KX
838                            L = KPLUS1 - J
839 @@ -230,7 +230,7 @@
840                                IX = IX + INCX
841     30                     CONTINUE
842                            IF (NOUNIT) X(JX) = X(JX)*A(KPLUS1,J)
843 -                      END IF
844 +c                     END IF
845                        JX = JX + INCX
846                        IF (J.GT.K) KX = KX + INCX
847     40             CONTINUE
848 @@ -238,20 +238,20 @@
849            ELSE
850                IF (INCX.EQ.1) THEN
851                    DO 60 J = N,1,-1
852 -                      IF (X(J).NE.ZERO) THEN
853 +c                     IF (X(J).NE.ZERO) THEN
854                            TEMP = X(J)
855                            L = 1 - J
856                            DO 50 I = MIN(N,J+K),J + 1,-1
857                                X(I) = X(I) + TEMP*A(L+I,J)
858     50                     CONTINUE
859                            IF (NOUNIT) X(J) = X(J)*A(1,J)
860 -                      END IF
861 +c                     END IF
862     60             CONTINUE
863                ELSE
864                    KX = KX + (N-1)*INCX
865                    JX = KX
866                    DO 80 J = N,1,-1
867 -                      IF (X(JX).NE.ZERO) THEN
868 +c                     IF (X(JX).NE.ZERO) THEN
869                            TEMP = X(JX)
870                            IX = KX
871                            L = 1 - J
872 @@ -260,7 +260,7 @@
873                                IX = IX - INCX
874     70                     CONTINUE
875                            IF (NOUNIT) X(JX) = X(JX)*A(1,J)
876 -                      END IF
877 +c                     END IF
878                        JX = JX - INCX
879                        IF ((N-J).GE.K) KX = KX - INCX
880     80             CONTINUE
881 --- lapack-3.2.2/BLAS/SRC/ztbsv.f.orig  2009-01-02 22:57:02.000000000 +0100
882 +++ lapack-3.2.2/BLAS/SRC/ztbsv.f       2010-10-19 21:51:36.671745234 +0200
883 @@ -213,21 +213,21 @@
884                KPLUS1 = K + 1
885                IF (INCX.EQ.1) THEN
886                    DO 20 J = N,1,-1
887 -                      IF (X(J).NE.ZERO) THEN
888 +c                     IF (X(J).NE.ZERO) THEN
889                            L = KPLUS1 - J
890                            IF (NOUNIT) X(J) = X(J)/A(KPLUS1,J)
891                            TEMP = X(J)
892                            DO 10 I = J - 1,MAX(1,J-K),-1
893                                X(I) = X(I) - TEMP*A(L+I,J)
894     10                     CONTINUE
895 -                      END IF
896 +c                     END IF
897     20             CONTINUE
898                ELSE
899                    KX = KX + (N-1)*INCX
900                    JX = KX
901                    DO 40 J = N,1,-1
902                        KX = KX - INCX
903 -                      IF (X(JX).NE.ZERO) THEN
904 +c                     IF (X(JX).NE.ZERO) THEN
905                            IX = KX
906                            L = KPLUS1 - J
907                            IF (NOUNIT) X(JX) = X(JX)/A(KPLUS1,J)
908 @@ -236,27 +236,27 @@
909                                X(IX) = X(IX) - TEMP*A(L+I,J)
910                                IX = IX - INCX
911     30                     CONTINUE
912 -                      END IF
913 +c                     END IF
914                        JX = JX - INCX
915     40             CONTINUE
916                END IF
917            ELSE
918                IF (INCX.EQ.1) THEN
919                    DO 60 J = 1,N
920 -                      IF (X(J).NE.ZERO) THEN
921 +c                     IF (X(J).NE.ZERO) THEN
922                            L = 1 - J
923                            IF (NOUNIT) X(J) = X(J)/A(1,J)
924                            TEMP = X(J)
925                            DO 50 I = J + 1,MIN(N,J+K)
926                                X(I) = X(I) - TEMP*A(L+I,J)
927     50                     CONTINUE
928 -                      END IF
929 +c                     END IF
930     60             CONTINUE
931                ELSE
932                    JX = KX
933                    DO 80 J = 1,N
934                        KX = KX + INCX
935 -                      IF (X(JX).NE.ZERO) THEN
936 +c                     IF (X(JX).NE.ZERO) THEN
937                            IX = KX
938                            L = 1 - J
939                            IF (NOUNIT) X(JX) = X(JX)/A(1,J)
940 @@ -265,7 +265,7 @@
941                                X(IX) = X(IX) - TEMP*A(L+I,J)
942                                IX = IX + INCX
943     70                     CONTINUE
944 -                      END IF
945 +c                     END IF
946                        JX = JX + INCX
947     80             CONTINUE
948                END IF
949 --- lapack-3.2.2/BLAS/SRC/ztpmv.f.orig  2009-01-02 22:57:02.000000000 +0100
950 +++ lapack-3.2.2/BLAS/SRC/ztpmv.f       2010-10-19 22:55:50.851739367 +0200
951 @@ -165,7 +165,7 @@
952                KK = 1
953                IF (INCX.EQ.1) THEN
954                    DO 20 J = 1,N
955 -                      IF (X(J).NE.ZERO) THEN
956 +c                     IF (X(J).NE.ZERO) THEN
957                            TEMP = X(J)
958                            K = KK
959                            DO 10 I = 1,J - 1
960 @@ -173,13 +173,13 @@
961                                K = K + 1
962     10                     CONTINUE
963                            IF (NOUNIT) X(J) = X(J)*AP(KK+J-1)
964 -                      END IF
965 +c                     END IF
966                        KK = KK + J
967     20             CONTINUE
968                ELSE
969                    JX = KX
970                    DO 40 J = 1,N
971 -                      IF (X(JX).NE.ZERO) THEN
972 +c                     IF (X(JX).NE.ZERO) THEN
973                            TEMP = X(JX)
974                            IX = KX
975                            DO 30 K = KK,KK + J - 2
976 @@ -187,7 +187,7 @@
977                                IX = IX + INCX
978     30                     CONTINUE
979                            IF (NOUNIT) X(JX) = X(JX)*AP(KK+J-1)
980 -                      END IF
981 +c                     END IF
982                        JX = JX + INCX
983                        KK = KK + J
984     40             CONTINUE
985 @@ -196,7 +196,7 @@
986                KK = (N* (N+1))/2
987                IF (INCX.EQ.1) THEN
988                    DO 60 J = N,1,-1
989 -                      IF (X(J).NE.ZERO) THEN
990 +c                     IF (X(J).NE.ZERO) THEN
991                            TEMP = X(J)
992                            K = KK
993                            DO 50 I = N,J + 1,-1
994 @@ -204,14 +204,14 @@
995                                K = K - 1
996     50                     CONTINUE
997                            IF (NOUNIT) X(J) = X(J)*AP(KK-N+J)
998 -                      END IF
999 +c                     END IF
1000                        KK = KK - (N-J+1)
1001     60             CONTINUE
1002                ELSE
1003                    KX = KX + (N-1)*INCX
1004                    JX = KX
1005                    DO 80 J = N,1,-1
1006 -                      IF (X(JX).NE.ZERO) THEN
1007 +c                     IF (X(JX).NE.ZERO) THEN
1008                            TEMP = X(JX)
1009                            IX = KX
1010                            DO 70 K = KK,KK - (N- (J+1)),-1
1011 @@ -219,7 +219,7 @@
1012                                IX = IX - INCX
1013     70                     CONTINUE
1014                            IF (NOUNIT) X(JX) = X(JX)*AP(KK-N+J)
1015 -                      END IF
1016 +c                     END IF
1017                        JX = JX - INCX
1018                        KK = KK - (N-J+1)
1019     80             CONTINUE
1020 --- lapack-3.2.2/BLAS/SRC/ztpsv.f.orig  2009-01-02 22:57:02.000000000 +0100
1021 +++ lapack-3.2.2/BLAS/SRC/ztpsv.f       2010-10-19 22:57:19.063744396 +0200
1022 @@ -168,7 +168,7 @@
1023                KK = (N* (N+1))/2
1024                IF (INCX.EQ.1) THEN
1025                    DO 20 J = N,1,-1
1026 -                      IF (X(J).NE.ZERO) THEN
1027 +c                     IF (X(J).NE.ZERO) THEN
1028                            IF (NOUNIT) X(J) = X(J)/AP(KK)
1029                            TEMP = X(J)
1030                            K = KK - 1
1031 @@ -176,13 +176,13 @@
1032                                X(I) = X(I) - TEMP*AP(K)
1033                                K = K - 1
1034     10                     CONTINUE
1035 -                      END IF
1036 +c                     END IF
1037                        KK = KK - J
1038     20             CONTINUE
1039                ELSE
1040                    JX = KX + (N-1)*INCX
1041                    DO 40 J = N,1,-1
1042 -                      IF (X(JX).NE.ZERO) THEN
1043 +c                     IF (X(JX).NE.ZERO) THEN
1044                            IF (NOUNIT) X(JX) = X(JX)/AP(KK)
1045                            TEMP = X(JX)
1046                            IX = JX
1047 @@ -190,7 +190,7 @@
1048                                IX = IX - INCX
1049                                X(IX) = X(IX) - TEMP*AP(K)
1050     30                     CONTINUE
1051 -                      END IF
1052 +c                     END IF
1053                        JX = JX - INCX
1054                        KK = KK - J
1055     40             CONTINUE
1056 @@ -199,7 +199,7 @@
1057                KK = 1
1058                IF (INCX.EQ.1) THEN
1059                    DO 60 J = 1,N
1060 -                      IF (X(J).NE.ZERO) THEN
1061 +c                     IF (X(J).NE.ZERO) THEN
1062                            IF (NOUNIT) X(J) = X(J)/AP(KK)
1063                            TEMP = X(J)
1064                            K = KK + 1
1065 @@ -207,13 +207,13 @@
1066                                X(I) = X(I) - TEMP*AP(K)
1067                                K = K + 1
1068     50                     CONTINUE
1069 -                      END IF
1070 +c                     END IF
1071                        KK = KK + (N-J+1)
1072     60             CONTINUE
1073                ELSE
1074                    JX = KX
1075                    DO 80 J = 1,N
1076 -                      IF (X(JX).NE.ZERO) THEN
1077 +c                     IF (X(JX).NE.ZERO) THEN
1078                            IF (NOUNIT) X(JX) = X(JX)/AP(KK)
1079                            TEMP = X(JX)
1080                            IX = JX
1081 @@ -221,7 +221,7 @@
1082                                IX = IX + INCX
1083                                X(IX) = X(IX) - TEMP*AP(K)
1084     70                     CONTINUE
1085 -                      END IF
1086 +c                     END IF
1087                        JX = JX + INCX
1088                        KK = KK + (N-J+1)
1089     80             CONTINUE
This page took 0.162396 seconds and 3 git commands to generate.