diff options
Diffstat (limited to 'sci-libs/scipy/files/scipy-0.6.0-python-2.6-c_abs.patch')
-rw-r--r-- | sci-libs/scipy/files/scipy-0.6.0-python-2.6-c_abs.patch | 309 |
1 files changed, 309 insertions, 0 deletions
diff --git a/sci-libs/scipy/files/scipy-0.6.0-python-2.6-c_abs.patch b/sci-libs/scipy/files/scipy-0.6.0-python-2.6-c_abs.patch new file mode 100644 index 000000000000..569c108a5128 --- /dev/null +++ b/sci-libs/scipy/files/scipy-0.6.0-python-2.6-c_abs.patch @@ -0,0 +1,309 @@ +diff -ur scipy-0.6.0/scipy/linsolve/SuperLU/SRC/cgsequ.c scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/cgsequ.c +--- scipy-0.6.0/scipy/linsolve/SuperLU/SRC/cgsequ.c 2007-09-22 09:55:18.000000000 +0200 ++++ scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/cgsequ.c 2008-11-11 17:32:10.000000000 +0100 +@@ -118,7 +118,7 @@ + for (j = 0; j < A->ncol; ++j) + for (i = Astore->colptr[j]; i < Astore->colptr[j+1]; ++i) { + irow = Astore->rowind[i]; +- r[irow] = SUPERLU_MAX( r[irow], c_abs1(&Aval[i]) ); ++ r[irow] = SUPERLU_MAX( r[irow], slu_c_abs1(&Aval[i]) ); + } + + /* Find the maximum and minimum scale factors. */ +@@ -153,7 +153,7 @@ + for (j = 0; j < A->ncol; ++j) + for (i = Astore->colptr[j]; i < Astore->colptr[j+1]; ++i) { + irow = Astore->rowind[i]; +- c[j] = SUPERLU_MAX( c[j], c_abs1(&Aval[i]) * r[irow] ); ++ c[j] = SUPERLU_MAX( c[j], slu_c_abs1(&Aval[i]) * r[irow] ); + } + + /* Find the maximum and minimum scale factors. */ +diff -ur scipy-0.6.0/scipy/linsolve/SuperLU/SRC/cgsrfs.c scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/cgsrfs.c +--- scipy-0.6.0/scipy/linsolve/SuperLU/SRC/cgsrfs.c 2007-09-22 09:55:18.000000000 +0200 ++++ scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/cgsrfs.c 2008-11-11 17:32:10.000000000 +0100 +@@ -276,21 +276,21 @@ + than SAFE2, then SAFE1 is added to the i-th component of the + numerator and denominator before dividing. */ + +- for (i = 0; i < A->nrow; ++i) rwork[i] = c_abs1( &Bptr[i] ); ++ for (i = 0; i < A->nrow; ++i) rwork[i] = slu_c_abs1( &Bptr[i] ); + + /* Compute abs(op(A))*abs(X) + abs(B). */ + if (notran) { + for (k = 0; k < A->ncol; ++k) { +- xk = c_abs1( &Xptr[k] ); ++ xk = slu_c_abs1( &Xptr[k] ); + for (i = Astore->colptr[k]; i < Astore->colptr[k+1]; ++i) +- rwork[Astore->rowind[i]] += c_abs1(&Aval[i]) * xk; ++ rwork[Astore->rowind[i]] += slu_c_abs1(&Aval[i]) * xk; + } + } else { + for (k = 0; k < A->ncol; ++k) { + s = 0.; + for (i = Astore->colptr[k]; i < Astore->colptr[k+1]; ++i) { + irow = Astore->rowind[i]; +- s += c_abs1(&Aval[i]) * c_abs1(&Xptr[irow]); ++ s += slu_c_abs1(&Aval[i]) * slu_c_abs1(&Xptr[irow]); + } + rwork[k] += s; + } +@@ -298,9 +298,9 @@ + s = 0.; + for (i = 0; i < A->nrow; ++i) { + if (rwork[i] > safe2) +- s = SUPERLU_MAX( s, c_abs1(&work[i]) / rwork[i] ); ++ s = SUPERLU_MAX( s, slu_c_abs1(&work[i]) / rwork[i] ); + else +- s = SUPERLU_MAX( s, (c_abs1(&work[i]) + safe1) / ++ s = SUPERLU_MAX( s, (slu_c_abs1(&work[i]) + safe1) / + (rwork[i] + safe1) ); + } + berr[j] = s; +@@ -351,22 +351,22 @@ + inv(op(A)) * diag(W), + where W = abs(R) + NZ*EPS*( abs(op(A))*abs(X)+abs(B) ))) */ + +- for (i = 0; i < A->nrow; ++i) rwork[i] = c_abs1( &Bptr[i] ); ++ for (i = 0; i < A->nrow; ++i) rwork[i] = slu_c_abs1( &Bptr[i] ); + + /* Compute abs(op(A))*abs(X) + abs(B). */ + if ( notran ) { + for (k = 0; k < A->ncol; ++k) { +- xk = c_abs1( &Xptr[k] ); ++ xk = slu_c_abs1( &Xptr[k] ); + for (i = Astore->colptr[k]; i < Astore->colptr[k+1]; ++i) +- rwork[Astore->rowind[i]] += c_abs1(&Aval[i]) * xk; ++ rwork[Astore->rowind[i]] += slu_c_abs1(&Aval[i]) * xk; + } + } else { + for (k = 0; k < A->ncol; ++k) { + s = 0.; + for (i = Astore->colptr[k]; i < Astore->colptr[k+1]; ++i) { + irow = Astore->rowind[i]; +- xk = c_abs1( &Xptr[irow] ); +- s += c_abs1(&Aval[i]) * xk; ++ xk = slu_c_abs1( &Xptr[irow] ); ++ s += slu_c_abs1(&Aval[i]) * xk; + } + rwork[k] += s; + } +@@ -374,9 +374,9 @@ + + for (i = 0; i < A->nrow; ++i) + if (rwork[i] > safe2) +- rwork[i] = c_abs(&work[i]) + (iwork[i]+1)*eps*rwork[i]; ++ rwork[i] = slu_c_abs(&work[i]) + (iwork[i]+1)*eps*rwork[i]; + else +- rwork[i] = c_abs(&work[i])+(iwork[i]+1)*eps*rwork[i]+safe1; ++ rwork[i] = slu_c_abs(&work[i])+(iwork[i]+1)*eps*rwork[i]+safe1; + kase = 0; + + do { +@@ -424,13 +424,13 @@ + lstres = 0.; + if ( notran && colequ ) { + for (i = 0; i < A->nrow; ++i) +- lstres = SUPERLU_MAX( lstres, C[i] * c_abs1( &Xptr[i]) ); ++ lstres = SUPERLU_MAX( lstres, C[i] * slu_c_abs1( &Xptr[i]) ); + } else if ( !notran && rowequ ) { + for (i = 0; i < A->nrow; ++i) +- lstres = SUPERLU_MAX( lstres, R[i] * c_abs1( &Xptr[i]) ); ++ lstres = SUPERLU_MAX( lstres, R[i] * slu_c_abs1( &Xptr[i]) ); + } else { + for (i = 0; i < A->nrow; ++i) +- lstres = SUPERLU_MAX( lstres, c_abs1( &Xptr[i]) ); ++ lstres = SUPERLU_MAX( lstres, slu_c_abs1( &Xptr[i]) ); + } + if ( lstres != 0. ) + ferr[j] /= lstres; +diff -ur scipy-0.6.0/scipy/linsolve/SuperLU/SRC/clacon.c scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/clacon.c +--- scipy-0.6.0/scipy/linsolve/SuperLU/SRC/clacon.c 2007-09-22 09:55:18.000000000 +0200 ++++ scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/clacon.c 2008-11-11 17:32:10.000000000 +0100 +@@ -106,14 +106,14 @@ + L20: + if (*n == 1) { + v[0] = x[0]; +- *est = c_abs(&v[0]); ++ *est = slu_c_abs(&v[0]); + /* ... QUIT */ + goto L150; + } + *est = scsum1_(n, x, &c__1); + + for (i = 0; i < *n; ++i) { +- d__1 = c_abs(&x[i]); ++ d__1 = slu_c_abs(&x[i]); + if (d__1 > safmin) { + d__1 = 1 / d__1; + x[i].r *= d__1; +@@ -158,7 +158,7 @@ + if (*est <= estold) goto L120; + + for (i = 0; i < *n; ++i) { +- d__1 = c_abs(&x[i]); ++ d__1 = slu_c_abs(&x[i]); + if (d__1 > safmin) { + d__1 = 1 / d__1; + x[i].r *= d__1; +diff -ur scipy-0.6.0/scipy/linsolve/SuperLU/SRC/clangs.c scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/clangs.c +--- scipy-0.6.0/scipy/linsolve/SuperLU/SRC/clangs.c 2007-09-22 09:55:18.000000000 +0200 ++++ scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/clangs.c 2008-11-11 17:32:10.000000000 +0100 +@@ -72,7 +72,7 @@ + value = 0.; + for (j = 0; j < A->ncol; ++j) + for (i = Astore->colptr[j]; i < Astore->colptr[j+1]; i++) +- value = SUPERLU_MAX( value, c_abs( &Aval[i]) ); ++ value = SUPERLU_MAX( value, slu_c_abs( &Aval[i]) ); + + } else if (lsame_(norm, "O") || *(unsigned char *)norm == '1') { + /* Find norm1(A). */ +@@ -80,7 +80,7 @@ + for (j = 0; j < A->ncol; ++j) { + sum = 0.; + for (i = Astore->colptr[j]; i < Astore->colptr[j+1]; i++) +- sum += c_abs( &Aval[i] ); ++ sum += slu_c_abs( &Aval[i] ); + value = SUPERLU_MAX(value,sum); + } + +@@ -92,7 +92,7 @@ + for (j = 0; j < A->ncol; ++j) + for (i = Astore->colptr[j]; i < Astore->colptr[j+1]; i++) { + irow = Astore->rowind[i]; +- rwork[irow] += c_abs( &Aval[i] ); ++ rwork[irow] += slu_c_abs( &Aval[i] ); + } + value = 0.; + for (i = 0; i < A->nrow; ++i) +diff -ur scipy-0.6.0/scipy/linsolve/SuperLU/SRC/cpivotgrowth.c scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/cpivotgrowth.c +--- scipy-0.6.0/scipy/linsolve/SuperLU/SRC/cpivotgrowth.c 2007-09-22 09:55:18.000000000 +0200 ++++ scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/cpivotgrowth.c 2008-11-11 17:32:10.000000000 +0100 +@@ -83,15 +83,15 @@ + maxaj = 0.; + oldcol = inv_perm_c[j]; + for (i = Astore->colptr[oldcol]; i < Astore->colptr[oldcol+1]; ++i) +- maxaj = SUPERLU_MAX( maxaj, c_abs1( &Aval[i]) ); ++ maxaj = SUPERLU_MAX( maxaj, slu_c_abs1( &Aval[i]) ); + + maxuj = 0.; + for (i = Ustore->colptr[j]; i < Ustore->colptr[j+1]; i++) +- maxuj = SUPERLU_MAX( maxuj, c_abs1( &Uval[i]) ); ++ maxuj = SUPERLU_MAX( maxuj, slu_c_abs1( &Uval[i]) ); + + /* Supernode */ + for (i = 0; i < nz_in_U; ++i) +- maxuj = SUPERLU_MAX( maxuj, c_abs1( &luval[i]) ); ++ maxuj = SUPERLU_MAX( maxuj, slu_c_abs1( &luval[i]) ); + + ++nz_in_U; + luval += nsupr; +diff -ur scipy-0.6.0/scipy/linsolve/SuperLU/SRC/cpivotL.c scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/cpivotL.c +--- scipy-0.6.0/scipy/linsolve/SuperLU/SRC/cpivotL.c 2007-09-22 09:55:18.000000000 +0200 ++++ scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/cpivotL.c 2008-11-11 17:32:10.000000000 +0100 +@@ -106,7 +106,7 @@ + diag = EMPTY; + old_pivptr = nsupc; + for (isub = nsupc; isub < nsupr; ++isub) { +- rtemp = c_abs1 (&lu_col_ptr[isub]); ++ rtemp = slu_c_abs1 (&lu_col_ptr[isub]); + if ( rtemp > pivmax ) { + pivmax = rtemp; + pivptr = isub; +@@ -127,7 +127,7 @@ + + /* Choose appropriate pivotal element by our policy. */ + if ( *usepr ) { +- rtemp = c_abs1 (&lu_col_ptr[old_pivptr]); ++ rtemp = slu_c_abs1 (&lu_col_ptr[old_pivptr]); + if ( rtemp != 0.0 && rtemp >= thresh ) + pivptr = old_pivptr; + else +@@ -136,7 +136,7 @@ + if ( *usepr == 0 ) { + /* Use diagonal pivot? */ + if ( diag >= 0 ) { /* diagonal exists */ +- rtemp = c_abs1 (&lu_col_ptr[diag]); ++ rtemp = slu_c_abs1 (&lu_col_ptr[diag]); + if ( rtemp != 0.0 && rtemp >= thresh ) pivptr = diag; + } + *pivrow = lsub_ptr[pivptr]; +diff -ur scipy-0.6.0/scipy/linsolve/SuperLU/SRC/cutil.c scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/cutil.c +--- scipy-0.6.0/scipy/linsolve/SuperLU/SRC/cutil.c 2007-09-22 09:55:18.000000000 +0200 ++++ scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/cutil.c 2008-11-11 17:32:10.000000000 +0100 +@@ -414,8 +414,8 @@ + err = xnorm = 0.0; + for (i = 0; i < X->nrow; i++) { + c_sub(&temp, &soln_work[i], &xtrue[i]); +- err = SUPERLU_MAX(err, c_abs(&temp)); +- xnorm = SUPERLU_MAX(xnorm, c_abs(&soln_work[i])); ++ err = SUPERLU_MAX(err, slu_c_abs(&temp)); ++ xnorm = SUPERLU_MAX(xnorm, slu_c_abs(&soln_work[i])); + } + err = err / xnorm; + printf("||X - Xtrue||/||X|| = %e\n", err); +diff -ur scipy-0.6.0/scipy/linsolve/SuperLU/SRC/scomplex.c scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/scomplex.c +--- scipy-0.6.0/scipy/linsolve/SuperLU/SRC/scomplex.c 2007-09-22 09:55:18.000000000 +0200 ++++ scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/scomplex.c 2008-11-11 17:32:10.000000000 +0100 +@@ -45,7 +45,7 @@ + + + /* Returns sqrt(z.r^2 + z.i^2) */ +-double c_abs(complex *z) ++double slu_c_abs(complex *z) + { + float temp; + float real = z->r; +@@ -68,7 +68,7 @@ + + /* Approximates the abs */ + /* Returns abs(z.r) + abs(z.i) */ +-double c_abs1(complex *z) ++double slu_c_abs1(complex *z) + { + float real = z->r; + float imag = z->i; +diff -ur scipy-0.6.0/scipy/linsolve/SuperLU/SRC/scomplex.h scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/scomplex.h +--- scipy-0.6.0/scipy/linsolve/SuperLU/SRC/scomplex.h 2007-09-22 09:55:18.000000000 +0200 ++++ scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/scomplex.h 2008-11-11 17:32:10.000000000 +0100 +@@ -57,8 +57,8 @@ + + /* Prototypes for functions in scomplex.c */ + void c_div(complex *, complex *, complex *); +-double c_abs(complex *); /* exact */ +-double c_abs1(complex *); /* approximate */ ++double slu_c_abs(complex *); /* exact */ ++double slu_c_abs1(complex *); /* approximate */ + void c_exp(complex *, complex *); + void r_cnjg(complex *, complex *); + double r_imag(complex *); +diff -ur scipy-0.6.0/scipy/linsolve/SuperLU/SRC/scsum1.c scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/scsum1.c +--- scipy-0.6.0/scipy/linsolve/SuperLU/SRC/scsum1.c 2007-09-22 09:55:18.000000000 +0200 ++++ scipy-svn/scipy/sparse/linalg/dsolve/SuperLU/SRC/scsum1.c 2008-11-11 17:32:10.000000000 +0100 +@@ -42,7 +42,7 @@ + int i__1, i__2; + float ret_val; + /* Builtin functions */ +- double c_abs(complex *); ++ double slu_c_abs(complex *); + /* Local variables */ + static int i, nincx; + static float stemp; +@@ -69,7 +69,7 @@ + + /* NEXT LINE MODIFIED. */ + +- stemp += c_abs(&CX(i)); ++ stemp += slu_c_abs(&CX(i)); + /* L10: */ + } + ret_val = stemp; +@@ -83,7 +83,7 @@ + + /* NEXT LINE MODIFIED. */ + +- stemp += c_abs(&CX(i)); ++ stemp += slu_c_abs(&CX(i)); + /* L30: */ + } + ret_val = stemp; |