[33242] trunk/dports/python/py-numeric
jmpp at macports.org
jmpp at macports.org
Mon Jan 21 23:13:35 PST 2008
Revision: 33242
http://trac.macosforge.org/projects/macports/changeset/33242
Author: jmpp at macports.org
Date: 2008-01-21 23:13:34 -0800 (Mon, 21 Jan 2008)
Log Message:
-----------
Incorporate bug fixes for memory leaks, with the renaming of the submitted patch files to match our naming recommendations (port lint).
Closes #13666 (thanks for the submission!).
Modified Paths:
--------------
trunk/dports/python/py-numeric/Portfile
Added Paths:
-----------
trunk/dports/python/py-numeric/files/patch-Packages-dotblas-_dotblas.c.diff
trunk/dports/python/py-numeric/files/patch-Src-arrayobject.c.diff
trunk/dports/python/py-numeric/files/patch-changes.txt.diff
trunk/dports/python/py-numeric/files/patch-ranf.c.diff
Removed Paths:
-------------
trunk/dports/python/py-numeric/files/patch-ranf.c
Modified: trunk/dports/python/py-numeric/Portfile
===================================================================
--- trunk/dports/python/py-numeric/Portfile 2008-01-22 06:16:13 UTC (rev 33241)
+++ trunk/dports/python/py-numeric/Portfile 2008-01-22 07:13:34 UTC (rev 33242)
@@ -5,9 +5,9 @@
name py-numeric
version 24.2
-revision 1
+revision 2
categories python devel math
-maintainers nomaintainer
+maintainers trashmail.net:macports_dharland
platforms darwin
description fast numerical array language for python
long_description Numerical Python adds a fast, compact, \
@@ -18,8 +18,11 @@
distname Numeric-${version}
checksums md5 2ae672656e06716a149acb048cca3093
-patchfiles patch-ranf.c
-
+patchfiles patch-ranf.c.diff \
+ patch-Src-arrayobject.c.diff \
+ patch-Packages-dotblas-_dotblas.c.diff \
+ patch-changes.txt.diff
+
platform darwin 8 {
build.env CC=/usr/bin/gcc-4.0
}
Added: trunk/dports/python/py-numeric/files/patch-Packages-dotblas-_dotblas.c.diff
===================================================================
--- trunk/dports/python/py-numeric/files/patch-Packages-dotblas-_dotblas.c.diff (rev 0)
+++ trunk/dports/python/py-numeric/files/patch-Packages-dotblas-_dotblas.c.diff 2008-01-22 07:13:34 UTC (rev 33242)
@@ -0,0 +1,106 @@
+--- ./Packages/dotblas/dotblas/_dotblas.c.orig 2005-04-07 17:15:47.000000000 +1200
++++ ./Packages/dotblas/dotblas/_dotblas.c 2005-11-30 07:54:12.000000000 +1300
+@@ -52,7 +52,7 @@
+ static PyObject *dotblas_matrixproduct(PyObject *dummy, PyObject *args) {
+ PyObject *op1, *op2;
+ PyArrayObject *ap1, *ap2, *ret;
+- int i, j, l, lda, ldb, matchDim = -1, otherDim = -1;
++ int i, j, l, lda, ldb, ldc, matchDim = -1, otherDim = -1;
+ int typenum;
+ int dimensions[MAX_DIMS], nd;
+ static const float oneF[2] = {1.0, 0.0};
+@@ -248,33 +248,34 @@
+ /* Matrix matrix multiplication -- Level 3 BLAS */
+ lda = (ap1->dimensions[1] > 1 ? ap1->dimensions[1] : 1);
+ ldb = (ap2->dimensions[1] > 1 ? ap2->dimensions[1] : 1);
++ ldc = (ret->dimensions[1] > 1 ? ret->dimensions[1] : 1);
+ if (typenum == PyArray_DOUBLE) {
+ cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans,
+ ap1->dimensions[0], ap2->dimensions[1], ap2->dimensions[0],
+ 1.0, (double *)ap1->data, lda,
+ (double *)ap2->data, ldb,
+- 0.0, (double *)ret->data, ldb);
++ 0.0, (double *)ret->data, ldc);
+ }
+ else if (typenum == PyArray_FLOAT) {
+ cblas_sgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans,
+ ap1->dimensions[0], ap2->dimensions[1], ap2->dimensions[0],
+ 1.0, (float *)ap1->data, lda,
+ (float *)ap2->data, ldb,
+- 0.0, (float *)ret->data, ldb);
++ 0.0, (float *)ret->data, ldc);
+ }
+ else if (typenum == PyArray_CDOUBLE) {
+ cblas_zgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans,
+ ap1->dimensions[0], ap2->dimensions[1], ap2->dimensions[0],
+ oneD, (double *)ap1->data, lda,
+ (double *)ap2->data, ldb,
+- zeroD, (double *)ret->data, ldb);
++ zeroD, (double *)ret->data, ldc);
+ }
+ else if (typenum == PyArray_CFLOAT) {
+ cblas_cgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans,
+ ap1->dimensions[0], ap2->dimensions[1], ap2->dimensions[0],
+ oneF, (float *)ap1->data, lda,
+ (float *)ap2->data, ldb,
+- zeroF, (float *)ret->data, ldb);
++ zeroF, (float *)ret->data, ldc);
+ }
+ }
+ else {
+@@ -334,7 +335,7 @@
+ static PyObject *dotblas_innerproduct(PyObject *dummy, PyObject *args) {
+ PyObject *op1, *op2;
+ PyArrayObject *ap1, *ap2, *ret;
+- int i, j, l, lda, ldb;
++ int i, j, l, lda, ldb, ldc;
+ int typenum;
+ int dimensions[MAX_DIMS], nd;
+ static const float oneF[2] = {1.0, 0.0};
+@@ -525,33 +526,34 @@
+ /* Matrix matrix multiplication -- Level 3 BLAS */
+ lda = (ap1->dimensions[1] > 1 ? ap1->dimensions[1] : 1);
+ ldb = (ap2->dimensions[1] > 1 ? ap2->dimensions[1] : 1);
++ ldc = (ret->dimensions[1] > 1 ? ret->dimensions[1] : 1);
+ if (typenum == PyArray_DOUBLE) {
+ cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasTrans,
+ ap1->dimensions[0], ap2->dimensions[0], ap1->dimensions[1],
+ 1.0, (double *)ap1->data, lda,
+ (double *)ap2->data, ldb,
+- 0.0, (double *)ret->data, ldb);
++ 0.0, (double *)ret->data, ldc);
+ }
+ else if (typenum == PyArray_FLOAT) {
+ cblas_sgemm(CblasRowMajor, CblasNoTrans, CblasTrans,
+ ap1->dimensions[0], ap2->dimensions[0], ap1->dimensions[1],
+ 1.0, (float *)ap1->data, lda,
+ (float *)ap2->data, ldb,
+- 0.0, (float *)ret->data, ldb);
++ 0.0, (float *)ret->data, ldc);
+ }
+ else if (typenum == PyArray_CDOUBLE) {
+ cblas_zgemm(CblasRowMajor, CblasNoTrans, CblasTrans,
+ ap1->dimensions[0], ap2->dimensions[0], ap1->dimensions[1],
+ oneD, (double *)ap1->data, lda,
+ (double *)ap2->data, ldb,
+- zeroD, (double *)ret->data, ldb);
++ zeroD, (double *)ret->data, ldc);
+ }
+ else if (typenum == PyArray_CFLOAT) {
+ cblas_cgemm(CblasRowMajor, CblasNoTrans, CblasTrans,
+ ap1->dimensions[0], ap2->dimensions[0], ap1->dimensions[1],
+ oneF, (float *)ap1->data, lda,
+ (float *)ap2->data, ldb,
+- zeroF, (float *)ret->data, ldb);
++ zeroF, (float *)ret->data, ldc);
+ }
+ }
+ else {
+@@ -703,7 +705,7 @@
+ /* Add some symbolic constants to the module */
+ d = PyModule_GetDict(m);
+
+- s = PyString_FromString("$Id: _dotblas.c,v 1.3 2005/04/06 22:40:23 dmcooke Exp $");
++ s = PyString_FromString("$Id: _dotblas.c,v 1.4 2005/11/29 18:54:12 teoliphant Exp $");
+ PyDict_SetItemString(d, "__version__", s);
+ Py_DECREF(s);
Added: trunk/dports/python/py-numeric/files/patch-Src-arrayobject.c.diff
===================================================================
--- trunk/dports/python/py-numeric/files/patch-Src-arrayobject.c.diff (rev 0)
+++ trunk/dports/python/py-numeric/files/patch-Src-arrayobject.c.diff 2008-01-22 07:13:34 UTC (rev 33242)
@@ -0,0 +1,20 @@
+--- ./Src/arrayobject.c.orig 2005-11-11 20:30:18.000000000 +1300
++++ ./Src/arrayobject.c 2006-03-10 17:55:59.000000000 +1300
+@@ -12,7 +12,7 @@
+ performance for heterogeneity.
+ */
+
+-/* $Id: arrayobject.c,v 1.107 2005/11/09 19:43:39 teoliphant Exp $ */
++/* $Id: arrayobject.c,v 1.108 2006/03/10 04:55:59 teoliphant Exp $ */
+
+ #include "Python.h"
+ #include <stddef.h>
+@@ -1866,9 +1866,7 @@
+ for (i=0; i<sz; i++) {
+ v=array_item((PyArrayObject *)self, i);
+ PyList_SetItem(lp, i, PyArray_ToList(v));
+- if (((PyArrayObject *)self)->nd>1){
+- Py_DECREF(v);
+- }
++ Py_DECREF(v);
+ }
Added: trunk/dports/python/py-numeric/files/patch-changes.txt.diff
===================================================================
--- trunk/dports/python/py-numeric/files/patch-changes.txt.diff (rev 0)
+++ trunk/dports/python/py-numeric/files/patch-changes.txt.diff 2008-01-22 07:13:34 UTC (rev 33242)
@@ -0,0 +1,8 @@
+--- ./changes.txt.orig 2005-11-11 21:56:59.000000000 +1300
++++ ./changes.txt 2005-11-30 07:54:10.000000000 +1300
+@@ -1,3 +1,5 @@
++[1369004] Problem with innerproduct in _dotblas.c
++
+ Version 24.2
+ Support array interface in objecttype function.
+ Handle case where __array__ does not return a Numeric array.
Deleted: trunk/dports/python/py-numeric/files/patch-ranf.c
===================================================================
--- trunk/dports/python/py-numeric/files/patch-ranf.c 2008-01-22 06:16:13 UTC (rev 33241)
+++ trunk/dports/python/py-numeric/files/patch-ranf.c 2008-01-22 07:13:34 UTC (rev 33242)
@@ -1,11 +0,0 @@
---- ./Packages/RNG/Src/ranf.c.orig 2005-04-03 14:23:06.000000000 +0200
-+++ ./Packages/RNG/Src/ranf.c 2007-10-31 12:59:50.000000000 +0100
-@@ -149,7 +149,7 @@ void Mixranf(int *s,u32 s48[2])
- #else
- struct timeval tv;
- struct timezone tz;
--#if !defined(__sgi)
-+#if !defined(__sgi) && !defined(__APPLE__)
- int gettimeofday(struct timeval *, struct timezone *);
- #endif
-
Copied: trunk/dports/python/py-numeric/files/patch-ranf.c.diff (from rev 33240, trunk/dports/python/py-numeric/files/patch-ranf.c)
===================================================================
--- trunk/dports/python/py-numeric/files/patch-ranf.c.diff (rev 0)
+++ trunk/dports/python/py-numeric/files/patch-ranf.c.diff 2008-01-22 07:13:34 UTC (rev 33242)
@@ -0,0 +1,11 @@
+--- ./Packages/RNG/Src/ranf.c.orig 2005-04-03 14:23:06.000000000 +0200
++++ ./Packages/RNG/Src/ranf.c 2007-10-31 12:59:50.000000000 +0100
+@@ -149,7 +149,7 @@ void Mixranf(int *s,u32 s48[2])
+ #else
+ struct timeval tv;
+ struct timezone tz;
+-#if !defined(__sgi)
++#if !defined(__sgi) && !defined(__APPLE__)
+ int gettimeofday(struct timeval *, struct timezone *);
+ #endif
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080121/37a8069d/attachment-0001.html
More information about the macports-changes
mailing list