Revision: 4265
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4265&view=rev
Author: jswhit
Date: 2007-11-14 05:05:06 -0800 (Wed, 14 Nov 2007)
Log Message:
-----------
fix one last memory leak
Modified Paths:
--------------
trunk/toolkits/basemap-testing/src/_geos.c
trunk/toolkits/basemap-testing/src/_geos.pyx
Modified: trunk/toolkits/basemap-testing/src/_geos.c
===================================================================
--- trunk/toolkits/basemap-testing/src/_geos.c 2007-11-14 07:45:12 UTC (rev
4264)
+++ trunk/toolkits/basemap-testing/src/_geos.c 2007-11-14 13:05:06 UTC (rev
4265)
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.9.6.7 on Tue Nov 13 21:03:25 2007 */
+/* Generated by Cython 0.9.6.7 on Wed Nov 14 06:04:45 2007 */
#define PY_SSIZE_T_CLEAN
#include "Python.h"
@@ -1010,7 +1010,7 @@
* else:
* type = PyString_FromString(GEOSGeomType(g3)) #
<<<<<<<<<<<<<<
* raise NotImplementedError("intersections of type '%s' not yet
implemented" % (type))
- * return pout
+ * GEOSGeom_destroy(g3)
*/
__pyx_2 = PyString_FromString(GEOSGeomType(__pyx_v_g3)); if
(unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; goto
__pyx_L1;}
Py_DECREF(__pyx_v_type);
@@ -1021,8 +1021,8 @@
* else:
* type = PyString_FromString(GEOSGeomType(g3))
* raise NotImplementedError("intersections of type '%s' not yet
implemented" % (type)) # <<<<<<<<<<<<<<
+ * GEOSGeom_destroy(g3)
* return pout
- *
*/
__pyx_4 = PyNumber_Remainder(__pyx_k6p, __pyx_v_type); if
(unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; goto
__pyx_L1;}
__pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 192; goto __pyx_L1;}
@@ -1039,6 +1039,15 @@
/* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":193
* type = PyString_FromString(GEOSGeomType(g3))
* raise NotImplementedError("intersections of type '%s' not yet
implemented" % (type))
+ * GEOSGeom_destroy(g3) # <<<<<<<<<<<<<<
+ * return pout
+ *
+ */
+ GEOSGeom_destroy(__pyx_v_g3);
+
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":194
+ * raise NotImplementedError("intersections of type '%s' not yet
implemented" % (type))
+ * GEOSGeom_destroy(g3)
* return pout # <<<<<<<<<<<<<<
*
* def get_coords(self):
@@ -1071,14 +1080,14 @@
PyObject *__pyx_1 = 0;
Py_INCREF(__pyx_v_self);
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":196
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":197
*
* def get_coords(self):
* return _get_coords(self._geom) # <<<<<<<<<<<<<<
*
* def __dealloc__(self):
*/
- __pyx_1 = __pyx_f_5_geos__get_coords(((struct __pyx_obj_5_geos_BaseGeometry
*)__pyx_v_self)->_geom); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0];
__pyx_lineno = 196; goto __pyx_L1;}
+ __pyx_1 = __pyx_f_5_geos__get_coords(((struct __pyx_obj_5_geos_BaseGeometry
*)__pyx_v_self)->_geom); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0];
__pyx_lineno = 197; goto __pyx_L1;}
__pyx_r = __pyx_1;
__pyx_1 = 0;
goto __pyx_L0;
@@ -1099,7 +1108,7 @@
static void __pyx_f_py_5_geos_12BaseGeometry___dealloc__(PyObject
*__pyx_v_self) {
Py_INCREF(__pyx_v_self);
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":200
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":201
* def __dealloc__(self):
* """destroy GEOS geometry"""
* GEOSGeom_destroy(self._geom) # <<<<<<<<<<<<<<
@@ -1122,18 +1131,18 @@
PyObject *__pyx_3 = 0;
Py_INCREF(__pyx_v_self);
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":204
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":205
* def __reduce__(self):
* """special method that allows geos instance to be pickled"""
* return (self.__class__,(self.boundary,)) #
<<<<<<<<<<<<<<
*
* cdef class Polygon(BaseGeometry):
*/
- __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n___class__); if
(unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; goto
__pyx_L1;}
- __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 204; goto __pyx_L1;}
+ __pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n___class__); if
(unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; goto
__pyx_L1;}
+ __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 205; goto __pyx_L1;}
Py_INCREF(((struct __pyx_obj_5_geos_BaseGeometry *)__pyx_v_self)->boundary);
PyTuple_SET_ITEM(__pyx_2, 0, ((struct __pyx_obj_5_geos_BaseGeometry
*)__pyx_v_self)->boundary);
- __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 204; goto __pyx_L1;}
+ __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 205; goto __pyx_L1;}
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1);
PyTuple_SET_ITEM(__pyx_3, 1, __pyx_2);
__pyx_1 = 0;
@@ -1184,9 +1193,9 @@
if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O",
__pyx_argnames, &__pyx_v_b))) return -1;
Py_INCREF((PyObject *)__pyx_v_self);
Py_INCREF(__pyx_v_b);
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b),
__pyx_ptype_5_geos_ndarray, 1, "b"))) {__pyx_filename = __pyx_f[0];
__pyx_lineno = 208; goto __pyx_L1;}
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b),
__pyx_ptype_5_geos_ndarray, 1, "b"))) {__pyx_filename = __pyx_f[0];
__pyx_lineno = 209; goto __pyx_L1;}
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":217
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":218
* # make sure data is contiguous.
* # if not, make a local copy.
* if not PyArray_ISCONTIGUOUS(b): # <<<<<<<<<<<<<<
@@ -1196,17 +1205,17 @@
__pyx_1 = (!PyArray_ISCONTIGUOUS(__pyx_v_b));
if (__pyx_1) {
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":218
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":219
* # if not, make a local copy.
* if not PyArray_ISCONTIGUOUS(b):
* b = b.copy() # <<<<<<<<<<<<<<
*
* m = b.shape[0]
*/
- __pyx_2 = PyObject_GetAttr(((PyObject *)__pyx_v_b), __pyx_n_copy); if
(unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; goto
__pyx_L1;}
- __pyx_3 = PyObject_CallObject(__pyx_2, 0); if (unlikely(!__pyx_3))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; goto __pyx_L1;}
+ __pyx_2 = PyObject_GetAttr(((PyObject *)__pyx_v_b), __pyx_n_copy); if
(unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; goto
__pyx_L1;}
+ __pyx_3 = PyObject_CallObject(__pyx_2, 0); if (unlikely(!__pyx_3))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
- if (!__Pyx_TypeTest(__pyx_3, __pyx_ptype_5_geos_ndarray)) {__pyx_filename
= __pyx_f[0]; __pyx_lineno = 218; goto __pyx_L1;}
+ if (!__Pyx_TypeTest(__pyx_3, __pyx_ptype_5_geos_ndarray)) {__pyx_filename
= __pyx_f[0]; __pyx_lineno = 219; goto __pyx_L1;}
Py_DECREF(((PyObject *)__pyx_v_b));
__pyx_v_b = ((PyArrayObject *)__pyx_3);
__pyx_3 = 0;
@@ -1214,78 +1223,78 @@
}
__pyx_L2:;
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":220
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":221
* b = b.copy()
*
* m = b.shape[0] # <<<<<<<<<<<<<<
*
* # Add closing coordinates to sequence?
*/
- __pyx_2 = PyObject_GetAttr(((PyObject *)__pyx_v_b), __pyx_n_shape); if
(unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto
__pyx_L1;}
+ __pyx_2 = PyObject_GetAttr(((PyObject *)__pyx_v_b), __pyx_n_shape); if
(unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; goto
__pyx_L1;}
if (PyList_CheckExact(__pyx_2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_2)) {
__pyx_4 = PyList_GET_ITEM(__pyx_2, 0); Py_INCREF(__pyx_4);
} else if (PyTuple_CheckExact(__pyx_2) && 0 <= 0 && 0 <
PyTuple_GET_SIZE(__pyx_2)) {
__pyx_4 = PyTuple_GET_ITEM(__pyx_2, 0); Py_INCREF(__pyx_4);
} else {
- __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
- __pyx_4 = PyObject_GetItem(__pyx_2, __pyx_3); if (unlikely(!__pyx_4))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
+ __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 221; goto __pyx_L1;}
+ __pyx_4 = PyObject_GetItem(__pyx_2, __pyx_3); if (unlikely(!__pyx_4))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
}
Py_DECREF(__pyx_2); __pyx_2 = 0;
- __pyx_5 = PyInt_AsUnsignedLongMask(__pyx_4); if (unlikely(PyErr_Occurred()))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
+ __pyx_5 = PyInt_AsUnsignedLongMask(__pyx_4); if (unlikely(PyErr_Occurred()))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; goto __pyx_L1;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
__pyx_v_m = __pyx_5;
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":223
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":224
*
* # Add closing coordinates to sequence?
* if b[-1,0] != b[0,0] or b[-1,1] != b[0,1]: #
<<<<<<<<<<<<<<
* M = m + 1
* else:
*/
- __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
+ __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
Py_INCREF(__pyx_num_neg_1);
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_num_neg_1);
Py_INCREF(__pyx_num_0);
PyTuple_SET_ITEM(__pyx_3, 1, __pyx_num_0);
- __pyx_4 = PyObject_GetItem(((PyObject *)__pyx_v_b), __pyx_3); if
(unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto
__pyx_L1;}
+ __pyx_4 = PyObject_GetItem(((PyObject *)__pyx_v_b), __pyx_3); if
(unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto
__pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
- __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
+ __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
Py_INCREF(__pyx_num_0);
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_num_0);
Py_INCREF(__pyx_num_0);
PyTuple_SET_ITEM(__pyx_3, 1, __pyx_num_0);
- __pyx_6 = PyObject_GetItem(((PyObject *)__pyx_v_b), __pyx_3); if
(unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto
__pyx_L1;}
+ __pyx_6 = PyObject_GetItem(((PyObject *)__pyx_v_b), __pyx_3); if
(unlikely(!__pyx_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto
__pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
- __pyx_2 = PyObject_RichCompare(__pyx_4, __pyx_6, Py_NE); if
(unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto
__pyx_L1;}
+ __pyx_2 = PyObject_RichCompare(__pyx_4, __pyx_6, Py_NE); if
(unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto
__pyx_L1;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_6); __pyx_6 = 0;
- __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
+ __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
if (!__pyx_1) {
Py_DECREF(__pyx_2); __pyx_2 = 0;
- __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
+ __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
Py_INCREF(__pyx_num_neg_1);
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_num_neg_1);
Py_INCREF(__pyx_num_1);
PyTuple_SET_ITEM(__pyx_3, 1, __pyx_num_1);
- __pyx_4 = PyObject_GetItem(((PyObject *)__pyx_v_b), __pyx_3); if
(unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto
__pyx_L1;}
+ __pyx_4 = PyObject_GetItem(((PyObject *)__pyx_v_b), __pyx_3); if
(unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto
__pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
- __pyx_6 = PyTuple_New(2); if (unlikely(!__pyx_6)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
+ __pyx_6 = PyTuple_New(2); if (unlikely(!__pyx_6)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
Py_INCREF(__pyx_num_0);
PyTuple_SET_ITEM(__pyx_6, 0, __pyx_num_0);
Py_INCREF(__pyx_num_1);
PyTuple_SET_ITEM(__pyx_6, 1, __pyx_num_1);
- __pyx_3 = PyObject_GetItem(((PyObject *)__pyx_v_b), __pyx_6); if
(unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto
__pyx_L1;}
+ __pyx_3 = PyObject_GetItem(((PyObject *)__pyx_v_b), __pyx_6); if
(unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto
__pyx_L1;}
Py_DECREF(__pyx_6); __pyx_6 = 0;
- __pyx_2 = PyObject_RichCompare(__pyx_4, __pyx_3, Py_NE); if
(unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto
__pyx_L1;}
+ __pyx_2 = PyObject_RichCompare(__pyx_4, __pyx_3, Py_NE); if
(unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto
__pyx_L1;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
}
- __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; goto __pyx_L1;}
+ __pyx_1 = __Pyx_PyObject_IsTrue(__pyx_2); if (unlikely(__pyx_1 < 0))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
if (__pyx_1) {
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":224
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":225
* # Add closing coordinates to sequence?
* if b[-1,0] != b[0,0] or b[-1,1] != b[0,1]:
* M = m + 1 # <<<<<<<<<<<<<<
@@ -1297,7 +1306,7 @@
}
/*else*/ {
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":226
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":227
* M = m + 1
* else:
* M = m # <<<<<<<<<<<<<<
@@ -1308,7 +1317,7 @@
}
__pyx_L3:;
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":227
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":228
* else:
* M = m
* self._npts = M # <<<<<<<<<<<<<<
@@ -1317,7 +1326,7 @@
*/
((struct __pyx_obj_5_geos_Polygon *)__pyx_v_self)->__pyx_base._npts =
__pyx_v_M;
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":230
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":231
*
* # Create a coordinate sequence
* cs = GEOSCoordSeq_create(M, 2) # <<<<<<<<<<<<<<
@@ -1326,7 +1335,7 @@
*/
__pyx_v_cs = GEOSCoordSeq_create(__pyx_v_M,2);
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":233
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":234
*
* # add to coordinate sequence
* bbuffer = <double *>b.data # <<<<<<<<<<<<<<
@@ -1335,7 +1344,7 @@
*/
__pyx_v_bbuffer = ((double (*))__pyx_v_b->data);
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":234
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":235
* # add to coordinate sequence
* bbuffer = <double *>b.data
* for i from 0 <= i < m: # <<<<<<<<<<<<<<
@@ -1344,7 +1353,7 @@
*/
for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_m; __pyx_v_i++) {
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":235
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":236
* bbuffer = <double *>b.data
* for i from 0 <= i < m:
* dx = bbuffer[2*i] # <<<<<<<<<<<<<<
@@ -1353,7 +1362,7 @@
*/
__pyx_v_dx = (__pyx_v_bbuffer[(2 * __pyx_v_i)]);
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":236
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":237
* for i from 0 <= i < m:
* dx = bbuffer[2*i]
* dy = bbuffer[2*i+1] # <<<<<<<<<<<<<<
@@ -1362,7 +1371,7 @@
*/
__pyx_v_dy = (__pyx_v_bbuffer[((2 * __pyx_v_i) + 1)]);
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":239
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":240
* # Because of a bug in the GEOS C API,
* # always set X before Y
* GEOSCoordSeq_setX(cs, i, dx) # <<<<<<<<<<<<<<
@@ -1371,7 +1380,7 @@
*/
GEOSCoordSeq_setX(__pyx_v_cs,__pyx_v_i,__pyx_v_dx);
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":240
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":241
* # always set X before Y
* GEOSCoordSeq_setX(cs, i, dx)
* GEOSCoordSeq_setY(cs, i, dy) # <<<<<<<<<<<<<<
@@ -1381,7 +1390,7 @@
GEOSCoordSeq_setY(__pyx_v_cs,__pyx_v_i,__pyx_v_dy);
}
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":243
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":244
*
* # Add closing coordinates to sequence?
* if M > m: # <<<<<<<<<<<<<<
@@ -1391,7 +1400,7 @@
__pyx_1 = (__pyx_v_M > __pyx_v_m);
if (__pyx_1) {
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":244
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":245
* # Add closing coordinates to sequence?
* if M > m:
* dx = bbuffer[0] # <<<<<<<<<<<<<<
@@ -1400,7 +1409,7 @@
*/
__pyx_v_dx = (__pyx_v_bbuffer[0]);
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":245
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":246
* if M > m:
* dx = bbuffer[0]
* dy = bbuffer[1] # <<<<<<<<<<<<<<
@@ -1409,7 +1418,7 @@
*/
__pyx_v_dy = (__pyx_v_bbuffer[1]);
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":246
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":247
* dx = bbuffer[0]
* dy = bbuffer[1]
* GEOSCoordSeq_setX(cs, M-1, dx) # <<<<<<<<<<<<<<
@@ -1418,7 +1427,7 @@
*/
GEOSCoordSeq_setX(__pyx_v_cs,(__pyx_v_M - 1),__pyx_v_dx);
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":247
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":248
* dy = bbuffer[1]
* GEOSCoordSeq_setX(cs, M-1, dx)
* GEOSCoordSeq_setY(cs, M-1, dy) # <<<<<<<<<<<<<<
@@ -1430,7 +1439,7 @@
}
__pyx_L6:;
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":250
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":251
*
* # create LinearRing
* lr = GEOSGeom_createLinearRing(cs) # <<<<<<<<<<<<<<
@@ -1439,7 +1448,7 @@
*/
__pyx_v_lr = GEOSGeom_createLinearRing(__pyx_v_cs);
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":253
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":254
*
* # create Polygon from LinearRing (assuming no holes)
* self._geom = GEOSGeom_createPolygon(lr,NULL,0) #
<<<<<<<<<<<<<<
@@ -1448,7 +1457,7 @@
*/
((struct __pyx_obj_5_geos_Polygon *)__pyx_v_self)->__pyx_base._geom =
GEOSGeom_createPolygon(__pyx_v_lr,NULL,0);
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":254
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":255
* # create Polygon from LinearRing (assuming no holes)
* self._geom = GEOSGeom_createPolygon(lr,NULL,0)
* self.boundary = b # <<<<<<<<<<<<<<
@@ -1481,7 +1490,7 @@
PyObject *__pyx_1 = 0;
Py_INCREF((PyObject *)__pyx_v_self);
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":259
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":260
* def area(self):
* cdef double area
* GEOSArea(self._geom, &area) # <<<<<<<<<<<<<<
@@ -1490,14 +1499,14 @@
*/
GEOSArea(((struct __pyx_obj_5_geos_Polygon
*)__pyx_v_self)->__pyx_base._geom,(&__pyx_v_area));
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":260
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":261
* cdef double area
* GEOSArea(self._geom, &area)
* return area # <<<<<<<<<<<<<<
*
* cdef _get_coords(GEOSGeom *geom):
*/
- __pyx_1 = PyFloat_FromDouble(__pyx_v_area); if (unlikely(!__pyx_1))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; goto __pyx_L1;}
+ __pyx_1 = PyFloat_FromDouble(__pyx_v_area); if (unlikely(!__pyx_1))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; goto __pyx_L1;}
__pyx_r = __pyx_1;
__pyx_1 = 0;
goto __pyx_L0;
@@ -1535,7 +1544,7 @@
PyObject *__pyx_5 = 0;
__pyx_v_b = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":269
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":270
* cdef ndarray b
* cdef double *bbuffer
* if GEOSGeomTypeId(geom) == GEOS_POLYGON: # <<<<<<<<<<<<<<
@@ -1545,7 +1554,7 @@
__pyx_1 = (GEOSGeomTypeId(__pyx_v_geom) == GEOS_POLYGON);
if (__pyx_1) {
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":270
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":271
* cdef double *bbuffer
* if GEOSGeomTypeId(geom) == GEOS_POLYGON:
* lr = GEOSGetExteriorRing(geom) # <<<<<<<<<<<<<<
@@ -1554,7 +1563,7 @@
*/
__pyx_v_lr = GEOSGetExteriorRing(__pyx_v_geom);
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":271
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":272
* if GEOSGeomTypeId(geom) == GEOS_POLYGON:
* lr = GEOSGetExteriorRing(geom)
* cs = GEOSGeom_getCoordSeq(lr) # <<<<<<<<<<<<<<
@@ -1566,7 +1575,7 @@
}
/*else*/ {
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":273
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":274
* cs = GEOSGeom_getCoordSeq(lr)
* else:
* cs = GEOSGeom_getCoordSeq(geom) # <<<<<<<<<<<<<<
@@ -1577,7 +1586,7 @@
}
__pyx_L2:;
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":274
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":275
* else:
* cs = GEOSGeom_getCoordSeq(geom)
* GEOSCoordSeq_getSize(cs, &M) # <<<<<<<<<<<<<<
@@ -1586,39 +1595,39 @@
*/
GEOSCoordSeq_getSize(__pyx_v_cs,(&__pyx_v_M));
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":275
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":276
* cs = GEOSGeom_getCoordSeq(geom)
* GEOSCoordSeq_getSize(cs, &M)
* b = numpy.empty((M,2), numpy.float64) # <<<<<<<<<<<<<<
* bbuffer = <double *>b.data
* for i from 0 <= i < M:
*/
- __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numpy); if (unlikely(!__pyx_2))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; goto __pyx_L1;}
- __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_empty); if (unlikely(!__pyx_3))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; goto __pyx_L1;}
+ __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numpy); if (unlikely(!__pyx_2))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; goto __pyx_L1;}
+ __pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_empty); if (unlikely(!__pyx_3))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
- __pyx_2 = PyLong_FromUnsignedLong(__pyx_v_M); if (unlikely(!__pyx_2))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; goto __pyx_L1;}
- __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 275; goto __pyx_L1;}
+ __pyx_2 = PyLong_FromUnsignedLong(__pyx_v_M); if (unlikely(!__pyx_2))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; goto __pyx_L1;}
+ __pyx_4 = PyTuple_New(2); if (unlikely(!__pyx_4)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 276; goto __pyx_L1;}
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_2);
Py_INCREF(__pyx_num_2);
PyTuple_SET_ITEM(__pyx_4, 1, __pyx_num_2);
__pyx_2 = 0;
- __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numpy); if (unlikely(!__pyx_2))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; goto __pyx_L1;}
- __pyx_5 = PyObject_GetAttr(__pyx_2, __pyx_n_float64); if
(unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; goto
__pyx_L1;}
+ __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_numpy); if (unlikely(!__pyx_2))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; goto __pyx_L1;}
+ __pyx_5 = PyObject_GetAttr(__pyx_2, __pyx_n_float64); if
(unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; goto
__pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
- __pyx_2 = PyTuple_New(2); if (unlikely(!__pyx_2)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 275; goto __pyx_L1;}
+ __pyx_2 = PyTuple_New(2); if (unlikely(!__pyx_2)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 276; goto __pyx_L1;}
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4);
PyTuple_SET_ITEM(__pyx_2, 1, __pyx_5);
__pyx_4 = 0;
__pyx_5 = 0;
- __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_2); if (unlikely(!__pyx_4))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; goto __pyx_L1;}
+ __pyx_4 = PyObject_CallObject(__pyx_3, __pyx_2); if (unlikely(!__pyx_4))
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
- if (!__Pyx_TypeTest(__pyx_4, __pyx_ptype_5_geos_ndarray)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 275; goto __pyx_L1;}
+ if (!__Pyx_TypeTest(__pyx_4, __pyx_ptype_5_geos_ndarray)) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 276; goto __pyx_L1;}
Py_DECREF(((PyObject *)__pyx_v_b));
__pyx_v_b = ((PyArrayObject *)__pyx_4);
__pyx_4 = 0;
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":276
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":277
* GEOSCoordSeq_getSize(cs, &M)
* b = numpy.empty((M,2), numpy.float64)
* bbuffer = <double *>b.data # <<<<<<<<<<<<<<
@@ -1627,7 +1636,7 @@
*/
__pyx_v_bbuffer = ((double (*))__pyx_v_b->data);
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":277
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":278
* b = numpy.empty((M,2), numpy.float64)
* bbuffer = <double *>b.data
* for i from 0 <= i < M: # <<<<<<<<<<<<<<
@@ -1636,7 +1645,7 @@
*/
for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_M; __pyx_v_i++) {
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":278
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":279
* bbuffer = <double *>b.data
* for i from 0 <= i < M:
* GEOSCoordSeq_getX(cs, i, &dx) # <<<<<<<<<<<<<<
@@ -1645,7 +1654,7 @@
*/
GEOSCoordSeq_getX(__pyx_v_cs,__pyx_v_i,(&__pyx_v_dx));
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":279
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":280
* for i from 0 <= i < M:
* GEOSCoordSeq_getX(cs, i, &dx)
* GEOSCoordSeq_getY(cs, i, &dy) # <<<<<<<<<<<<<<
@@ -1654,37 +1663,28 @@
*/
GEOSCoordSeq_getY(__pyx_v_cs,__pyx_v_i,(&__pyx_v_dy));
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":280
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":281
* GEOSCoordSeq_getX(cs, i, &dx)
* GEOSCoordSeq_getY(cs, i, &dy)
* bbuffer[2*i] = dx # <<<<<<<<<<<<<<
* bbuffer[2*i+1] = dy
- * GEOSCoordSeq_destroy(cs)
+ * return b
*/
(__pyx_v_bbuffer[(2 * __pyx_v_i)]) = __pyx_v_dx;
- /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":281
+ /*
"/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":282
* GEOSCoordSeq_getY(cs, i, &dy)
* bbuffer[2*i] = dx
* bbuffer[2*i+1] = dy # <<<<<<<<<<<<<<
- * GEOSCoordSeq_destroy(cs)
* return b
+ *
*/
(__pyx_v_bbuffer[((2 * __pyx_v_i) + 1)]) = __pyx_v_dy;
}
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":282
+ /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":283
* bbuffer[2*i] = dx
* bbuffer[2*i+1] = dy
- * GEOSCoordSeq_destroy(cs) # <<<<<<<<<<<<<<
- * return b
- *
- */
- GEOSCoordSeq_destroy(__pyx_v_cs);
-
- /* "/Users/jsw/python/matplotlib/toolkits/basemap-testing/src/_geos.pyx":283
- * bbuffer[2*i+1] = dy
- * GEOSCoordSeq_destroy(cs)
* return b # <<<<<<<<<<<<<<
*
* cdef class LineString(BaseGeometry):
@@ -2696,8 +2696,8 @@
if (PyObject_SetAttrString(__pyx_m, "BaseGeometry", (PyObject
*)&__pyx_type_5_geos_BaseGeometry) < 0) {__pyx_filename = __pyx_f[0];
__pyx_lineno = 120; goto __pyx_L1;}
__pyx_ptype_5_geos_BaseGeometry = &__pyx_type_5_geos_BaseGeometry;
__pyx_type_5_geos_Polygon.tp_base = __pyx_ptype_5_geos_BaseGeometry;
- if (PyType_Ready(&__pyx_type_5_geos_Polygon) < 0) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 206; goto __pyx_L1;}
- if (PyObject_SetAttrString(__pyx_m, "Polygon", (PyObject
*)&__pyx_type_5_geos_Polygon) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno =
206; goto __pyx_L1;}
+ if (PyType_Ready(&__pyx_type_5_geos_Polygon) < 0) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 207; goto __pyx_L1;}
+ if (PyObject_SetAttrString(__pyx_m, "Polygon", (PyObject
*)&__pyx_type_5_geos_Polygon) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno =
207; goto __pyx_L1;}
__pyx_ptype_5_geos_Polygon = &__pyx_type_5_geos_Polygon;
__pyx_type_5_geos_LineString.tp_base = __pyx_ptype_5_geos_BaseGeometry;
if (PyType_Ready(&__pyx_type_5_geos_LineString) < 0) {__pyx_filename =
__pyx_f[0]; __pyx_lineno = 285; goto __pyx_L1;}
Modified: trunk/toolkits/basemap-testing/src/_geos.pyx
===================================================================
--- trunk/toolkits/basemap-testing/src/_geos.pyx 2007-11-14 07:45:12 UTC
(rev 4264)
+++ trunk/toolkits/basemap-testing/src/_geos.pyx 2007-11-14 13:05:06 UTC
(rev 4265)
@@ -190,6 +190,7 @@
else:
type = PyString_FromString(GEOSGeomType(g3))
raise NotImplementedError("intersections of type '%s' not yet
implemented" % (type))
+ GEOSGeom_destroy(g3)
return pout
def get_coords(self):
@@ -206,7 +207,7 @@
cdef class Polygon(BaseGeometry):
def __init__(self, ndarray b):
- cdef unsigned int M, m, n, i
+ cdef unsigned int M, m, i
cdef double dx, dy
cdef double *bbuffer
cdef GEOSCoordSeq *cs
@@ -279,7 +280,6 @@
GEOSCoordSeq_getY(cs, i, &dy)
bbuffer[2*i] = dx
bbuffer[2*i+1] = dy
- GEOSCoordSeq_destroy(cs)
return b
cdef class LineString(BaseGeometry):
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins