diff options
author | Travis Oliphant <oliphant@enthought.com> | 2005-09-29 00:52:06 +0000 |
---|---|---|
committer | Travis Oliphant <oliphant@enthought.com> | 2005-09-29 00:52:06 +0000 |
commit | 4742ef06a5888264488fc250d40d7ad47b718cb2 (patch) | |
tree | e3134ef2977e4d191b8b0672757367235b5d0871 /scipy/base/src/arrayobject.c | |
parent | a8240d84ad9317a8c6e08e45c5cabdb7b562b6f5 (diff) | |
download | numpy-4742ef06a5888264488fc250d40d7ad47b718cb2.tar.gz |
a.flags returns fancy array-connected dictionary.
Diffstat (limited to 'scipy/base/src/arrayobject.c')
-rw-r--r-- | scipy/base/src/arrayobject.c | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/scipy/base/src/arrayobject.c b/scipy/base/src/arrayobject.c index e07f2f08c..17a9914a8 100644 --- a/scipy/base/src/arrayobject.c +++ b/scipy/base/src/arrayobject.c @@ -3530,26 +3530,17 @@ array_ndim_get(PyArrayObject *self) static PyObject * array_flags_get(PyArrayObject *self) { - PyObject *dict; - - dict = PyDict_New(); - -#define ADDFLAG(flag) \ - PyDict_SetItemString(dict, #flag, \ - self->flags & flag ? Py_True : Py_False) + static PyObject *module=NULL; - ADDFLAG(CONTIGUOUS); - ADDFLAG(OWNDATA); - ADDFLAG(FORTRAN); - ADDFLAG(ALIGNED); - ADDFLAG(NOTSWAPPED); - ADDFLAG(WRITEABLE); - ADDFLAG(UPDATEIFCOPY); - return dict; - /* return PyInt_FromLong(self->flags);*/ -#undef ADDFLAG + if (module==NULL) { + module = PyImport_ImportModule("scipy.base._internal"); + if (module == NULL) return NULL; + } + return PyObject_CallMethod(module, "flagsobj", "Oi", + self, self->flags); } +/* static int array_flags_set(PyArrayObject *self, PyObject *obj) { @@ -3616,6 +3607,7 @@ array_flags_set(PyArrayObject *self, PyObject *obj) "Object must be a dictionary"); return -1; } +*/ static PyObject * @@ -4173,8 +4165,8 @@ static PyGetSetDef array_getsetlist[] = { "number of array dimensions"}, {"flags", (getter)array_flags_get, - (setter)array_flags_set, - "integer value of flags"}, + NULL, + "special dictionary of flags"}, {"shape", (getter)array_shape_get, (setter)array_shape_set, |