summaryrefslogtreecommitdiff
path: root/scipy/base/src
diff options
context:
space:
mode:
authorTravis Oliphant <oliphant@enthought.com>2005-09-20 08:19:08 +0000
committerTravis Oliphant <oliphant@enthought.com>2005-09-20 08:19:08 +0000
commit0746db19c3cc198c95b632bd1285978050f355d6 (patch)
tree7bbc6d05df76ab4fa2959a1cb94e3f4c54a3e74d /scipy/base/src
parentb560ed0a06160b012ea6023be0fc219717f761c4 (diff)
downloadnumpy-0746db19c3cc198c95b632bd1285978050f355d6.tar.gz
problematic MIN removed.
Diffstat (limited to 'scipy/base/src')
-rw-r--r--scipy/base/src/_compiled_base.c6
-rw-r--r--scipy/base/src/arraymethods.c7
-rw-r--r--scipy/base/src/arrayobject.c2
-rw-r--r--scipy/base/src/multiarraymodule.c13
4 files changed, 17 insertions, 11 deletions
diff --git a/scipy/base/src/_compiled_base.c b/scipy/base/src/_compiled_base.c
index 1fcc93b2b..427e941f2 100644
--- a/scipy/base/src/_compiled_base.c
+++ b/scipy/base/src/_compiled_base.c
@@ -284,7 +284,7 @@ arr_insert(PyObject *self, PyObject *args, PyObject *kwdict)
Py_DECREF(amask);
Py_DECREF(avalscast);
Py_INCREF(Py_None);
- PyDataMem_XFREE(zero);
+ PyDataMem_FREE(zero);
return Py_None;
}
@@ -322,11 +322,11 @@ arr_insert(PyObject *self, PyObject *args, PyObject *kwdict)
Py_DECREF(amask);
Py_DECREF(avalscast);
Py_INCREF(Py_None);
- PyDataMem_XFREE(zero);
+ PyDataMem_FREE(zero);
return Py_None;
fail:
- PyDataMem_XFREE(zero);
+ PyDataMem_FREE(zero);
Py_XDECREF(amask);
Py_XDECREF(avals);
Py_XDECREF(avalscast);
diff --git a/scipy/base/src/arraymethods.c b/scipy/base/src/arraymethods.c
index 5b47f145c..4c04e5596 100644
--- a/scipy/base/src/arraymethods.c
+++ b/scipy/base/src/arraymethods.c
@@ -74,8 +74,10 @@ array_reshape(PyArrayObject *self, PyObject *args)
goto fail;
}
}
-
- if (newshape.len == 0 || PyArray_ISONESEGMENT(self)) {
+
+ fprintf(stderr, "&newshape = %p, len = %d, ptr=%p\n", &newshape,
+ newshape.len, newshape.ptr);
+ if ((newshape.len == 0) || PyArray_ISONESEGMENT(self)) {
ret = PyArray_Newshape(self, &newshape);
}
else {
@@ -762,6 +764,7 @@ array_setstate(PyArrayObject *self, PyObject *args)
if (self->dimensions != NULL) {
PyDimMem_FREE(self->dimensions);
+ self->dimensions = NULL;
}
self->flags = DEFAULT_FLAGS;
diff --git a/scipy/base/src/arrayobject.c b/scipy/base/src/arrayobject.c
index 368c04f62..08c0cb7bf 100644
--- a/scipy/base/src/arrayobject.c
+++ b/scipy/base/src/arrayobject.c
@@ -3020,7 +3020,7 @@ PyArray_New(PyTypeObject *subtype, int nd, intp *dims, int type_num,
{
PyArrayObject *self;
PyArray_Descr *descr;
- int i;
+ register int i;
intp sd, temp;
descr = PyArray_DescrFromType(type_num);
diff --git a/scipy/base/src/multiarraymodule.c b/scipy/base/src/multiarraymodule.c
index 19e3f0a61..435b33c2b 100644
--- a/scipy/base/src/multiarraymodule.c
+++ b/scipy/base/src/multiarraymodule.c
@@ -220,6 +220,7 @@ PyArray_Newshape(PyArrayObject *self, PyArray_Dims *newdims)
s_known = 1;
i_unknown = -1;
+
for(i=0; i<n; i++) {
if (dimensions[i] < 0) {
if (i_unknown == -1) {
@@ -2685,11 +2686,13 @@ PyArray_IntpConverter(PyObject *obj, PyArray_Dims *seq)
"must be smaller than %d", MAX_DIMS);
return PY_FAIL;
}
- seq->ptr = PyDimMem_NEW(MIN(1,len));
- if (seq->ptr == NULL) {
- PyErr_NoMemory();
- return PY_FAIL;
- }
+ if (len > 0) {
+ seq->ptr = PyDimMem_NEW(len);
+ if (seq->ptr == NULL) {
+ PyErr_NoMemory();
+ return PY_FAIL;
+ }
+ }
seq->len = len;
nd = PyArray_IntpFromSequence(obj, (intp *)seq->ptr, len);
if (nd == -1 || nd != len) goto fail;