[SciPy-user] newcore-1209: PyArray_New() returns fortran arrays when flags == CARRAY_FLAGS

Travis Oliphant oliphant at ee.byu.edu
Sat Oct 8 14:31:45 CDT 2005


Gerard Vermeulen wrote:

>--- newcore/scipy/base/src/arrayobject.c.gv     2005-10-08 08:16:28.000000000 +0200
>+++ newcore/scipy/base/src/arrayobject.c        2005-10-08 13:35:27.000000000 +0200
>@@ -29,7 +29,7 @@
> #include "structmember.h"
>
> #define _MULTIARRAYMODULE
>-#include "Numeric3/arrayobject.h"
>+#include "scipy/base/arrayobject.h"
> */
>
> /* Helper functions */
>@@ -3177,7 +3177,18 @@
>        self->dimensions = NULL;
>        if (data == NULL) {  /* strides is NULL too */
>                self->flags = DEFAULT_FLAGS;
>+#ifdef GOTCHA
>+               /* The following test results in returning a fortran array,
>+                  if the user (me) or eg PyArray_FromDims() passes in
>+                  flags = CARRAY_FLAGS.
>+                */
>  
>
The problem is that when data is NULL, flags should only be used to 
indicate a fortran-style array.  Thus, the bug is in PyArray_FromDims 
(it should not be using CARRAY_FLAGS).

Thanks for finding this.

-Travis




More information about the SciPy-user mailing list