shapely 1.5.2__tar.gz → 1.5.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. {Shapely-1.5.2 → Shapely-1.5.4}/CHANGES.txt +9 -0
  2. {Shapely-1.5.2/Shapely.egg-info → Shapely-1.5.4}/PKG-INFO +10 -1
  3. {Shapely-1.5.2 → Shapely-1.5.4/Shapely.egg-info}/PKG-INFO +10 -1
  4. {Shapely-1.5.2 → Shapely-1.5.4}/Shapely.egg-info/SOURCES.txt +0 -1
  5. Shapely-1.5.4/VERSION.txt +1 -0
  6. Shapely-1.5.4/shapely/__init__.py +1 -0
  7. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geos.py +18 -11
  8. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/ops.py +1 -1
  9. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/speedups/_speedups.c +31 -36
  10. Shapely-1.5.2/VERSION.txt +0 -1
  11. Shapely-1.5.2/shapely/__init__.py +0 -1
  12. Shapely-1.5.2/shapely/_geos.pxi +0 -58
  13. {Shapely-1.5.2 → Shapely-1.5.4}/CREDITS.txt +0 -0
  14. {Shapely-1.5.2 → Shapely-1.5.4}/LICENSE.txt +0 -0
  15. {Shapely-1.5.2 → Shapely-1.5.4}/README.rst +0 -0
  16. {Shapely-1.5.2 → Shapely-1.5.4}/Shapely.egg-info/dependency_links.txt +0 -0
  17. {Shapely-1.5.2 → Shapely-1.5.4}/Shapely.egg-info/top_level.txt +0 -0
  18. {Shapely-1.5.2 → Shapely-1.5.4}/docs/design.rst +0 -0
  19. {Shapely-1.5.2 → Shapely-1.5.4}/docs/index.rst +0 -0
  20. {Shapely-1.5.2 → Shapely-1.5.4}/docs/manual.rst +0 -0
  21. {Shapely-1.5.2 → Shapely-1.5.4}/docs/project.rst +0 -0
  22. {Shapely-1.5.2 → Shapely-1.5.4}/setup.cfg +1 -1
  23. {Shapely-1.5.2 → Shapely-1.5.4}/setup.py +0 -0
  24. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/affinity.py +0 -0
  25. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/algorithms/__init__.py +0 -0
  26. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/algorithms/cga.py +0 -0
  27. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/coords.py +0 -0
  28. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/ctypes_declarations.py +0 -0
  29. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/examples/__init__.py +0 -0
  30. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/examples/dissolve.py +0 -0
  31. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/examples/geoms.py +0 -0
  32. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/examples/intersect.py +0 -0
  33. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/ftools.py +0 -0
  34. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geometry/__init__.py +0 -0
  35. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geometry/base.py +0 -0
  36. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geometry/collection.py +0 -0
  37. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geometry/geo.py +0 -0
  38. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geometry/linestring.py +0 -0
  39. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geometry/multilinestring.py +0 -0
  40. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geometry/multipoint.py +0 -0
  41. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geometry/multipolygon.py +0 -0
  42. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geometry/point.py +0 -0
  43. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geometry/polygon.py +0 -0
  44. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/geometry/proxy.py +0 -0
  45. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/impl.py +0 -0
  46. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/iterops.py +0 -0
  47. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/linref.py +0 -0
  48. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/predicates.py +0 -0
  49. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/prepared.py +0 -0
  50. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/speedups/__init__.py +0 -0
  51. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/strtree.py +0 -0
  52. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/topology.py +0 -0
  53. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/validation.py +0 -0
  54. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/vectorized/__init__.py +0 -0
  55. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/vectorized/_vectorized.pyx +0 -0
  56. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/wkb.py +0 -0
  57. {Shapely-1.5.2 → Shapely-1.5.4}/shapely/wkt.py +0 -0
  58. {Shapely-1.5.2 → Shapely-1.5.4}/tests/__init__.py +0 -0
  59. {Shapely-1.5.2 → Shapely-1.5.4}/tests/binascii_hex.txt +0 -0
  60. {Shapely-1.5.2 → Shapely-1.5.4}/tests/conftest.py +0 -0
  61. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_affinity.py +0 -0
  62. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_box.py +0 -0
  63. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_cga.py +0 -0
  64. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_collection.py +0 -0
  65. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_coords.py +0 -0
  66. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_delaunay.py +0 -0
  67. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_delegated.py +0 -0
  68. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_dlls.py +0 -0
  69. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_doctests.py +0 -0
  70. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_emptiness.py +0 -0
  71. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_equality.py +0 -0
  72. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_geointerface.py +0 -0
  73. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_geomseq.py +0 -0
  74. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_getitem.py +0 -0
  75. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_hash.py +0 -0
  76. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_invalid_geometries.py +0 -0
  77. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_iterops.py +0 -0
  78. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_linear_referencing.py +0 -0
  79. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_linemerge.py +0 -0
  80. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_linestring.py +0 -0
  81. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_locale.py +0 -0
  82. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_mapping.py +0 -0
  83. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_multilinestring.py +0 -0
  84. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_multipoint.py +0 -0
  85. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_multipolygon.py +0 -0
  86. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_ndarrays.py +0 -0
  87. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_nearest.py +0 -0
  88. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_operations.py +0 -0
  89. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_operators.py +0 -0
  90. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_persist.py +0 -0
  91. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_pickle.py +0 -0
  92. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_point.py +0 -0
  93. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_polygon.py +0 -0
  94. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_polygonize.py +0 -0
  95. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_predicates.py +0 -0
  96. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_prepared.py +0 -0
  97. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_products_z.py +0 -0
  98. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_singularity.py +0 -0
  99. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_snap.py +0 -0
  100. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_strtree.py +0 -0
  101. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_styles.py +0 -0
  102. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_transform.py +0 -0
  103. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_union.py +0 -0
  104. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_validation.py +0 -0
  105. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_vectorized.py +0 -0
  106. {Shapely-1.5.2 → Shapely-1.5.4}/tests/test_xy.py +0 -0
  107. {Shapely-1.5.2 → Shapely-1.5.4}/tests/threading_test.py +0 -0
@@ -1,6 +1,15 @@
1
1
  Changes
2
2
  =======
3
3
 
4
+ 1.5.4 (2015-01-19)
5
+ ------------------
6
+ - Fixed OS X binary wheel library load path (#224).
7
+
8
+ 1.5.3 (2015-01-12)
9
+ ------------------
10
+ - Fixed ownership and potential memory leak in polygonize (#223).
11
+ - Wider release of binary wheels for OS X.
12
+
4
13
  1.5.2 (2015-01-04)
5
14
  ------------------
6
15
  - Fail installation if GEOS dependency is not met, preventing update breakage
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.5.2
3
+ Version: 1.5.4
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -215,6 +215,15 @@ Description: =======
215
215
  Changes
216
216
  =======
217
217
 
218
+ 1.5.4 (2015-01-19)
219
+ ------------------
220
+ - Fixed OS X binary wheel library load path (#224).
221
+
222
+ 1.5.3 (2015-01-12)
223
+ ------------------
224
+ - Fixed ownership and potential memory leak in polygonize (#223).
225
+ - Wider release of binary wheels for OS X.
226
+
218
227
  1.5.2 (2015-01-04)
219
228
  ------------------
220
229
  - Fail installation if GEOS dependency is not met, preventing update breakage
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.5.2
3
+ Version: 1.5.4
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -215,6 +215,15 @@ Description: =======
215
215
  Changes
216
216
  =======
217
217
 
218
+ 1.5.4 (2015-01-19)
219
+ ------------------
220
+ - Fixed OS X binary wheel library load path (#224).
221
+
222
+ 1.5.3 (2015-01-12)
223
+ ------------------
224
+ - Fixed ownership and potential memory leak in polygonize (#223).
225
+ - Wider release of binary wheels for OS X.
226
+
218
227
  1.5.2 (2015-01-04)
219
228
  ------------------
220
229
  - Fail installation if GEOS dependency is not met, preventing update breakage
@@ -13,7 +13,6 @@ docs/index.rst
13
13
  docs/manual.rst
14
14
  docs/project.rst
15
15
  shapely/__init__.py
16
- shapely/_geos.pxi
17
16
  shapely/affinity.py
18
17
  shapely/coords.py
19
18
  shapely/ctypes_declarations.py
@@ -0,0 +1 @@
1
+ 1.5.4
@@ -0,0 +1 @@
1
+ __version__ = "1.5.4"
@@ -60,18 +60,25 @@ if sys.platform.startswith('linux'):
60
60
  free.restype = None
61
61
 
62
62
  elif sys.platform == 'darwin':
63
- if hasattr(sys, 'frozen'):
64
- # .app file from py2app
65
- alt_paths = [os.path.join(os.environ['RESOURCEPATH'],
66
- '..', 'Frameworks', 'libgeos_c.dylib')]
63
+ # First test to see if this is a delocated wheel with a GEOS dylib.
64
+ geos_whl_dylib = os.path.abspath(
65
+ os.path.join(os.path.dirname(__file__), '.dylibs/libgeos_c.1.dylib'))
66
+ if os.path.exists(geos_whl_dylib):
67
+ _lgeos = CDLL(geos_whl_dylib)
67
68
  else:
68
- alt_paths = [
69
- # The Framework build from Kyng Chaos:
70
- "/Library/Frameworks/GEOS.framework/Versions/Current/GEOS",
71
- # macports
72
- '/opt/local/lib/libgeos_c.dylib',
73
- ]
74
- _lgeos = load_dll('geos_c', fallbacks=alt_paths)
69
+ if hasattr(sys, 'frozen'):
70
+ # .app file from py2app
71
+ alt_paths = [os.path.join(os.environ['RESOURCEPATH'],
72
+ '..', 'Frameworks', 'libgeos_c.dylib')]
73
+ else:
74
+ alt_paths = [
75
+ # The Framework build from Kyng Chaos
76
+ "/Library/Frameworks/GEOS.framework/Versions/Current/GEOS",
77
+ # macports
78
+ '/opt/local/lib/libgeos_c.dylib',
79
+ ]
80
+ _lgeos = load_dll('geos_c', fallbacks=alt_paths)
81
+
75
82
  free = load_dll('c').free
76
83
  free.argtypes = [c_void_p]
77
84
  free.restype = None
@@ -51,7 +51,7 @@ class CollectionOperator(object):
51
51
  for g in collection.geoms:
52
52
  clone = lgeos.GEOSGeom_clone(g._geom)
53
53
  g = geom_factory(clone)
54
- g._owned = False
54
+ g._other_owned = False
55
55
  yield g
56
56
 
57
57
  def polygonize_full(self, lines):
@@ -1,4 +1,4 @@
1
- /* Generated by Cython 0.21 */
1
+ /* Generated by Cython 0.21.2 */
2
2
 
3
3
  #define PY_SSIZE_T_CLEAN
4
4
  #ifndef CYTHON_USE_PYLONG_INTERNALS
@@ -19,7 +19,7 @@
19
19
  #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000)
20
20
  #error Cython requires Python 2.6+ or Python 3.2+.
21
21
  #else
22
- #define CYTHON_ABI "0_21"
22
+ #define CYTHON_ABI "0_21_2"
23
23
  #include <stddef.h>
24
24
  #ifndef offsetof
25
25
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
@@ -73,8 +73,6 @@
73
73
  #if PY_MAJOR_VERSION >= 3
74
74
  #define Py_TPFLAGS_CHECKTYPES 0
75
75
  #define Py_TPFLAGS_HAVE_INDEX 0
76
- #endif
77
- #if PY_MAJOR_VERSION >= 3
78
76
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
79
77
  #endif
80
78
  #if PY_VERSION_HEX < 0x030400a1 && !defined(Py_TPFLAGS_HAVE_FINALIZE)
@@ -101,10 +99,12 @@
101
99
  #if CYTHON_COMPILING_IN_PYPY
102
100
  #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)
103
101
  #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)
102
+ #define __Pyx_PyFrozenSet_Size(s) PyObject_Size(s)
104
103
  #else
105
104
  #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)
106
105
  #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ? \
107
106
  PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
107
+ #define __Pyx_PyFrozenSet_Size(s) PySet_Size(s)
108
108
  #endif
109
109
  #define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
110
110
  #define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
@@ -151,6 +151,11 @@
151
151
  #if PY_MAJOR_VERSION >= 3
152
152
  #define PyBoolObject PyLongObject
153
153
  #endif
154
+ #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
155
+ #ifndef PyUnicode_InternFromString
156
+ #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
157
+ #endif
158
+ #endif
154
159
  #if PY_VERSION_HEX < 0x030200A4
155
160
  typedef long Py_hash_t;
156
161
  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
@@ -160,7 +165,9 @@
160
165
  #define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t
161
166
  #endif
162
167
  #if PY_MAJOR_VERSION >= 3
163
- #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
168
+ #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
169
+ #else
170
+ #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
164
171
  #endif
165
172
  #ifndef CYTHON_INLINE
166
173
  #if defined(__GNUC__)
@@ -863,7 +870,7 @@ static char __pyx_k_geos_linestring_from_py[] = "geos_linestring_from_py";
863
870
  static char __pyx_k_shapely_speedups__speedups[] = "shapely.speedups._speedups";
864
871
  static char __pyx_k_geos_linestring_from_py_locals[] = "geos_linestring_from_py.<locals>._coords";
865
872
  static char __pyx_k_A_LinearRing_must_have_at_least[] = "A LinearRing must have at least 3 coordinate tuples";
866
- static char __pyx_k_Users_seang_code_Shapely_shapel[] = "/Users/seang/code/Shapely/shapely/speedups/_speedups.pyx";
873
+ static char __pyx_k_Users_sean_code_frs_wheel_build[] = "/Users/sean/code/frs-wheel-builds/src/Shapely/shapely/speedups/_speedups.pyx";
867
874
  static char __pyx_k_matrix_expects_either_6_or_12_c[] = "'matrix' expects either 6 or 12 coefficients";
868
875
  static char __pyx_k_Inconsistent_coordinate_dimensio[] = "Inconsistent coordinate dimensionality";
869
876
  static char __pyx_k_Input_s_is_the_wrong_shape_for_a[] = "Input %s is the wrong shape for a LineString";
@@ -885,7 +892,7 @@ static PyObject *__pyx_n_s_Point;
885
892
  static PyObject *__pyx_n_s_Polygon;
886
893
  static PyObject *__pyx_n_s_TypeError;
887
894
  static PyObject *__pyx_kp_s_Type_r_not_recognized;
888
- static PyObject *__pyx_kp_s_Users_seang_code_Shapely_shapel;
895
+ static PyObject *__pyx_kp_s_Users_sean_code_frs_wheel_build;
889
896
  static PyObject *__pyx_n_s_ValueError;
890
897
  static PyObject *__pyx_kp_s_Wrong_coordinate_dimensions_this;
891
898
  static PyObject *__pyx_n_s_addressof;
@@ -3206,12 +3213,10 @@ static PyObject *__pyx_pf_7shapely_8speedups_9_speedups_4geos_linearring_from_py
3206
3213
  */
3207
3214
  __pyx_t_4 = (GEOSisClosed_r(__pyx_v_handle, __pyx_v_g) != 0);
3208
3215
  if (__pyx_t_4) {
3209
- goto __pyx_L8_next_and;
3210
3216
  } else {
3211
3217
  __pyx_t_5 = __pyx_t_4;
3212
3218
  goto __pyx_L7_bool_binop_done;
3213
3219
  }
3214
- __pyx_L8_next_and:;
3215
3220
  __pyx_t_4 = ((__pyx_v_m >= 4) != 0);
3216
3221
  __pyx_t_5 = __pyx_t_4;
3217
3222
  __pyx_L7_bool_binop_done:;
@@ -3605,20 +3610,16 @@ static PyObject *__pyx_pf_7shapely_8speedups_9_speedups_4geos_linearring_from_py
3605
3610
  */
3606
3611
  __pyx_t_5 = (((__pyx_v_cp[0]) != (__pyx_v_cp[(__pyx_v_sm * (__pyx_v_m - 1))])) != 0);
3607
3612
  if (!__pyx_t_5) {
3608
- goto __pyx_L22_next_or;
3609
3613
  } else {
3610
3614
  __pyx_t_4 = __pyx_t_5;
3611
3615
  goto __pyx_L21_bool_binop_done;
3612
3616
  }
3613
- __pyx_L22_next_or:;
3614
3617
  __pyx_t_5 = (((__pyx_v_cp[__pyx_v_sn]) != (__pyx_v_cp[((__pyx_v_sm * (__pyx_v_m - 1)) + __pyx_v_sn)])) != 0);
3615
3618
  if (!__pyx_t_5) {
3616
- goto __pyx_L23_next_or;
3617
3619
  } else {
3618
3620
  __pyx_t_4 = __pyx_t_5;
3619
3621
  goto __pyx_L21_bool_binop_done;
3620
3622
  }
3621
- __pyx_L23_next_or:;
3622
3623
 
3623
3624
  /* "shapely/speedups/_speedups.pyx":236
3624
3625
  * # If not, we'll have to close the ring later
@@ -3629,12 +3630,10 @@ static PyObject *__pyx_pf_7shapely_8speedups_9_speedups_4geos_linearring_from_py
3629
3630
  */
3630
3631
  __pyx_t_5 = ((__pyx_v_n == 3) != 0);
3631
3632
  if (__pyx_t_5) {
3632
- goto __pyx_L24_next_and;
3633
3633
  } else {
3634
3634
  __pyx_t_4 = __pyx_t_5;
3635
3635
  goto __pyx_L21_bool_binop_done;
3636
3636
  }
3637
- __pyx_L24_next_and:;
3638
3637
  __pyx_t_5 = (((__pyx_v_cp[(2 * __pyx_v_sn)]) != (__pyx_v_cp[((__pyx_v_sm * (__pyx_v_m - 1)) + (2 * __pyx_v_sn))])) != 0);
3639
3638
  __pyx_t_4 = __pyx_t_5;
3640
3639
  __pyx_L21_bool_binop_done:;
@@ -4137,12 +4136,10 @@ static PyObject *__pyx_pf_7shapely_8speedups_9_speedups_4geos_linearring_from_py
4137
4136
  */
4138
4137
  __pyx_t_4 = ((__pyx_v_m == 3) != 0);
4139
4138
  if (!__pyx_t_4) {
4140
- goto __pyx_L49_next_or;
4141
4139
  } else {
4142
4140
  __pyx_t_5 = __pyx_t_4;
4143
4141
  goto __pyx_L48_bool_binop_done;
4144
4142
  }
4145
- __pyx_L49_next_or:;
4146
4143
  __pyx_t_18 = __Pyx_GetItemInt(__pyx_v_ob, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_18 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;};
4147
4144
  __Pyx_GOTREF(__pyx_t_18);
4148
4145
  __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_18, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;};
@@ -4159,12 +4156,10 @@ static PyObject *__pyx_pf_7shapely_8speedups_9_speedups_4geos_linearring_from_py
4159
4156
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
4160
4157
  __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
4161
4158
  if (!__pyx_t_4) {
4162
- goto __pyx_L50_next_or;
4163
4159
  } else {
4164
4160
  __pyx_t_5 = __pyx_t_4;
4165
4161
  goto __pyx_L48_bool_binop_done;
4166
4162
  }
4167
- __pyx_L50_next_or:;
4168
4163
  __pyx_t_18 = __Pyx_GetItemInt(__pyx_v_ob, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_18 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;};
4169
4164
  __Pyx_GOTREF(__pyx_t_18);
4170
4165
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_18, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;};
@@ -6136,20 +6131,16 @@ static PyObject *__pyx_f_7shapely_8speedups_9_speedups_affine_transform(PyObject
6136
6131
  __Pyx_GOTREF(__pyx_t_9);
6137
6132
  __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_9, __pyx_n_s_Point, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6138
6133
  if (!__pyx_t_2) {
6139
- goto __pyx_L14_next_or;
6140
6134
  } else {
6141
6135
  __pyx_t_29 = __pyx_t_2;
6142
6136
  goto __pyx_L12_bool_binop_done;
6143
6137
  }
6144
- __pyx_L14_next_or:;
6145
6138
  __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_9, __pyx_n_s_LineString, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6146
6139
  if (!__pyx_t_2) {
6147
- goto __pyx_L13_next_or;
6148
6140
  } else {
6149
6141
  __pyx_t_29 = __pyx_t_2;
6150
6142
  goto __pyx_L12_bool_binop_done;
6151
6143
  }
6152
- __pyx_L13_next_or:;
6153
6144
  __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_9, __pyx_n_s_LinearRing, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6154
6145
  __pyx_t_29 = __pyx_t_2;
6155
6146
  __pyx_L12_bool_binop_done:;
@@ -6470,12 +6461,10 @@ static PyObject *__pyx_f_7shapely_8speedups_9_speedups_affine_transform(PyObject
6470
6461
  __pyx_t_29 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_29 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6471
6462
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
6472
6463
  if (!__pyx_t_29) {
6473
- goto __pyx_L19_next_or;
6474
6464
  } else {
6475
6465
  __pyx_t_2 = __pyx_t_29;
6476
6466
  goto __pyx_L18_bool_binop_done;
6477
6467
  }
6478
- __pyx_L19_next_or:;
6479
6468
  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_geom, __pyx_n_s_type); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6480
6469
  __Pyx_GOTREF(__pyx_t_9);
6481
6470
  __pyx_t_29 = (__Pyx_PyString_Equals(__pyx_t_9, __pyx_n_s_GeometryCollection, Py_EQ)); if (unlikely(__pyx_t_29 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -6865,7 +6854,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
6865
6854
  {&__pyx_n_s_Polygon, __pyx_k_Polygon, sizeof(__pyx_k_Polygon), 0, 0, 1, 1},
6866
6855
  {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
6867
6856
  {&__pyx_kp_s_Type_r_not_recognized, __pyx_k_Type_r_not_recognized, sizeof(__pyx_k_Type_r_not_recognized), 0, 0, 1, 0},
6868
- {&__pyx_kp_s_Users_seang_code_Shapely_shapel, __pyx_k_Users_seang_code_Shapely_shapel, sizeof(__pyx_k_Users_seang_code_Shapely_shapel), 0, 0, 1, 0},
6857
+ {&__pyx_kp_s_Users_sean_code_frs_wheel_build, __pyx_k_Users_sean_code_frs_wheel_build, sizeof(__pyx_k_Users_sean_code_frs_wheel_build), 0, 0, 1, 0},
6869
6858
  {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
6870
6859
  {&__pyx_kp_s_Wrong_coordinate_dimensions_this, __pyx_k_Wrong_coordinate_dimensions_this, sizeof(__pyx_k_Wrong_coordinate_dimensions_this), 0, 0, 1, 0},
6871
6860
  {&__pyx_n_s_addressof, __pyx_k_addressof, sizeof(__pyx_k_addressof), 0, 0, 1, 1},
@@ -7005,7 +6994,7 @@ static int __Pyx_InitCachedConstants(void) {
7005
6994
  __pyx_tuple__4 = PyTuple_Pack(1, __pyx_n_s_o); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7006
6995
  __Pyx_GOTREF(__pyx_tuple__4);
7007
6996
  __Pyx_GIVEREF(__pyx_tuple__4);
7008
- __pyx_codeobj__5 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__4, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_seang_code_Shapely_shapel, __pyx_n_s_coords_2, 129, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6997
+ __pyx_codeobj__5 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__4, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_sean_code_frs_wheel_build, __pyx_n_s_coords_2, 129, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7009
6998
 
7010
6999
  /* "shapely/speedups/_speedups.pyx":160
7011
7000
  * if n == 3:
@@ -7083,7 +7072,7 @@ static int __Pyx_InitCachedConstants(void) {
7083
7072
  __pyx_tuple__12 = PyTuple_Pack(1, __pyx_n_s_geom_2); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7084
7073
  __Pyx_GOTREF(__pyx_tuple__12);
7085
7074
  __Pyx_GIVEREF(__pyx_tuple__12);
7086
- __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_seang_code_Shapely_shapel, __pyx_n_s_destroy, 30, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7075
+ __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_sean_code_frs_wheel_build, __pyx_n_s_destroy, 30, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7087
7076
 
7088
7077
  /* "shapely/speedups/_speedups.pyx":34
7089
7078
  *
@@ -7095,7 +7084,7 @@ static int __Pyx_InitCachedConstants(void) {
7095
7084
  __pyx_tuple__14 = PyTuple_Pack(19, __pyx_n_s_ob, __pyx_n_s_update_geom, __pyx_n_s_update_ndim, __pyx_n_s_cp, __pyx_n_s_handle, __pyx_n_s_cs, __pyx_n_s_g, __pyx_n_s_dx, __pyx_n_s_dy, __pyx_n_s_dz, __pyx_n_s_i, __pyx_n_s_n, __pyx_n_s_m, __pyx_n_s_sm, __pyx_n_s_sn, __pyx_n_s_array, __pyx_n_s_coords_2, __pyx_n_s_coords_2, __pyx_n_s_coords); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7096
7085
  __Pyx_GOTREF(__pyx_tuple__14);
7097
7086
  __Pyx_GIVEREF(__pyx_tuple__14);
7098
- __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(3, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_seang_code_Shapely_shapel, __pyx_n_s_geos_linestring_from_py, 34, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7087
+ __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(3, 0, 19, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_sean_code_frs_wheel_build, __pyx_n_s_geos_linestring_from_py, 34, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7099
7088
 
7100
7089
  /* "shapely/speedups/_speedups.pyx":176
7101
7090
  *
@@ -7107,7 +7096,7 @@ static int __Pyx_InitCachedConstants(void) {
7107
7096
  __pyx_tuple__16 = PyTuple_Pack(18, __pyx_n_s_ob, __pyx_n_s_update_geom, __pyx_n_s_update_ndim, __pyx_n_s_cp, __pyx_n_s_handle, __pyx_n_s_g, __pyx_n_s_cs, __pyx_n_s_dx, __pyx_n_s_dy, __pyx_n_s_dz, __pyx_n_s_i, __pyx_n_s_n, __pyx_n_s_m, __pyx_n_s_M, __pyx_n_s_sm, __pyx_n_s_sn, __pyx_n_s_array, __pyx_n_s_coords); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7108
7097
  __Pyx_GOTREF(__pyx_tuple__16);
7109
7098
  __Pyx_GIVEREF(__pyx_tuple__16);
7110
- __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_seang_code_Shapely_shapel, __pyx_n_s_geos_linearring_from_py, 176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7099
+ __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_sean_code_frs_wheel_build, __pyx_n_s_geos_linearring_from_py, 176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7111
7100
 
7112
7101
  /* "shapely/speedups/_speedups.pyx":348
7113
7102
  *
@@ -7119,7 +7108,7 @@ static int __Pyx_InitCachedConstants(void) {
7119
7108
  __pyx_tuple__18 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_i, __pyx_n_s_n, __pyx_n_s_m, __pyx_n_s_temp, __pyx_n_s_handle, __pyx_n_s_cs, __pyx_n_s_data_p, __pyx_n_s_array_type, __pyx_n_s_data); if (unlikely(!__pyx_tuple__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7120
7109
  __Pyx_GOTREF(__pyx_tuple__18);
7121
7110
  __Pyx_GIVEREF(__pyx_tuple__18);
7122
- __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_seang_code_Shapely_shapel, __pyx_n_s_coordseq_ctypes, 348, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7111
+ __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_sean_code_frs_wheel_build, __pyx_n_s_coordseq_ctypes, 348, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7123
7112
 
7124
7113
  /* "shapely/speedups/_speedups.pyx":373
7125
7114
  * return data
@@ -7131,7 +7120,7 @@ static int __Pyx_InitCachedConstants(void) {
7131
7120
  __pyx_tuple__20 = PyTuple_Pack(8, __pyx_n_s_self, __pyx_n_s_i, __pyx_n_s_dx, __pyx_n_s_dy, __pyx_n_s_dz, __pyx_n_s_has_z, __pyx_n_s_handle, __pyx_n_s_cs); if (unlikely(!__pyx_tuple__20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7132
7121
  __Pyx_GOTREF(__pyx_tuple__20);
7133
7122
  __Pyx_GIVEREF(__pyx_tuple__20);
7134
- __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_seang_code_Shapely_shapel, __pyx_n_s_coordseq_iter, 373, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7123
+ __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_Users_sean_code_frs_wheel_build, __pyx_n_s_coordseq_iter, 373, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
7135
7124
  __Pyx_RefNannyFinishContext();
7136
7125
  return 0;
7137
7126
  __pyx_L1_error:;
@@ -7427,7 +7416,6 @@ PyMODINIT_FUNC PyInit__speedups(void)
7427
7416
  if (__pyx_m) {
7428
7417
  if (__pyx_d) {
7429
7418
  __Pyx_AddTraceback("init shapely.speedups._speedups", __pyx_clineno, __pyx_lineno, __pyx_filename);
7430
- Py_DECREF(__pyx_d); __pyx_d = 0;
7431
7419
  }
7432
7420
  Py_DECREF(__pyx_m); __pyx_m = 0;
7433
7421
  } else if (!PyErr_Occurred()) {
@@ -7980,6 +7968,13 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
7980
7968
  }
7981
7969
  PyErr_SetObject(type, value);
7982
7970
  if (tb) {
7971
+ #if CYTHON_COMPILING_IN_PYPY
7972
+ PyObject *tmp_type, *tmp_value, *tmp_tb;
7973
+ PyErr_Fetch(tmp_type, tmp_value, tmp_tb);
7974
+ Py_INCREF(tb);
7975
+ PyErr_Restore(tmp_type, tmp_value, tb);
7976
+ Py_XDECREF(tmp_tb);
7977
+ #else
7983
7978
  PyThreadState *tstate = PyThreadState_GET();
7984
7979
  PyObject* tmp_tb = tstate->curexc_traceback;
7985
7980
  if (tb != tmp_tb) {
@@ -7987,6 +7982,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
7987
7982
  tstate->curexc_traceback = tb;
7988
7983
  Py_XDECREF(tmp_tb);
7989
7984
  }
7985
+ #endif
7990
7986
  }
7991
7987
  bad:
7992
7988
  Py_XDECREF(owned_instance);
@@ -8512,12 +8508,11 @@ static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObj
8512
8508
  if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) {
8513
8509
  if (type == NULL)
8514
8510
  type = (PyObject *)(Py_TYPE(obj));
8515
- return PyMethod_New(func,
8516
- type, (PyObject *)(Py_TYPE(type)));
8511
+ return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type)));
8517
8512
  }
8518
8513
  if (obj == Py_None)
8519
8514
  obj = NULL;
8520
- return PyMethod_New(func, obj, type);
8515
+ return __Pyx_PyMethod_New(func, obj, type);
8521
8516
  }
8522
8517
  static PyObject*
8523
8518
  __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
Shapely-1.5.2/VERSION.txt DELETED
@@ -1 +0,0 @@
1
- 1.5.2
@@ -1 +0,0 @@
1
- __version__ = "1.5.2"
@@ -1,58 +0,0 @@
1
- # The beginnings of a Cython definition of GEOS. In the future much of this
2
- # could be auto-generated.
3
-
4
- ctypedef long ptr
5
-
6
-
7
- cdef extern from "geos_c.h":
8
- ctypedef void *GEOSContextHandle_t
9
- ctypedef struct GEOSGeometry
10
- ctypedef struct GEOSCoordSequence
11
- ctypedef struct GEOSPreparedGeometry
12
-
13
- GEOSCoordSequence *GEOSCoordSeq_create_r(GEOSContextHandle_t, unsigned int, unsigned int) nogil
14
- GEOSCoordSequence *GEOSGeom_getCoordSeq_r(GEOSContextHandle_t, GEOSGeometry *) nogil
15
-
16
- int GEOSCoordSeq_getSize_r(GEOSContextHandle_t, GEOSCoordSequence *, int *) nogil
17
- int GEOSCoordSeq_setX_r(GEOSContextHandle_t, GEOSCoordSequence *, int, double) nogil
18
- int GEOSCoordSeq_setY_r(GEOSContextHandle_t, GEOSCoordSequence *, int, double) nogil
19
- int GEOSCoordSeq_setZ_r(GEOSContextHandle_t, GEOSCoordSequence *, int, double) nogil
20
- int GEOSCoordSeq_getX_r(GEOSContextHandle_t, GEOSCoordSequence *, int, double *) nogil
21
- int GEOSCoordSeq_getY_r(GEOSContextHandle_t, GEOSCoordSequence *, int, double *) nogil
22
- int GEOSCoordSeq_getZ_r(GEOSContextHandle_t, GEOSCoordSequence *, int, double *) nogil
23
-
24
- GEOSGeometry *GEOSGeom_createPoint_r(GEOSContextHandle_t, GEOSCoordSequence *) nogil
25
- GEOSGeometry *GEOSGeom_createLineString_r(GEOSContextHandle_t, GEOSCoordSequence *) nogil
26
- GEOSGeometry *GEOSGeom_createLinearRing_r(GEOSContextHandle_t, GEOSCoordSequence *) nogil
27
- GEOSGeometry *GEOSGeom_clone_r(GEOSContextHandle_t, GEOSGeometry *) nogil
28
- GEOSCoordSequence *GEOSCoordSeq_clone_r(GEOSContextHandle_t, GEOSCoordSequence *) nogil
29
-
30
- void GEOSGeom_destroy_r(GEOSContextHandle_t, GEOSGeometry *) nogil
31
-
32
- char GEOSPreparedContains_r(GEOSContextHandle_t, const GEOSPreparedGeometry*, const GEOSGeometry*) nogil
33
- char GEOSPreparedContainsProperly_r(GEOSContextHandle_t, const GEOSPreparedGeometry*, const GEOSGeometry*) nogil
34
- char GEOSPreparedCoveredBy_r(GEOSContextHandle_t, const GEOSPreparedGeometry*, const GEOSGeometry*) nogil
35
- char GEOSPreparedCovers_r(GEOSContextHandle_t, const GEOSPreparedGeometry*, const GEOSGeometry*) nogil
36
- char GEOSPreparedCrosses_r(GEOSContextHandle_t, const GEOSPreparedGeometry*, const GEOSGeometry*) nogil
37
- char GEOSPreparedDisjoint_r(GEOSContextHandle_t, const GEOSPreparedGeometry*, const GEOSGeometry*) nogil
38
- char GEOSPreparedIntersects_r(GEOSContextHandle_t, const GEOSPreparedGeometry*, const GEOSGeometry*) nogil
39
- char GEOSPreparedOverlaps_r(GEOSContextHandle_t, const GEOSPreparedGeometry*, const GEOSGeometry*) nogil
40
- char GEOSPreparedTouches_r(GEOSContextHandle_t, const GEOSPreparedGeometry*, const GEOSGeometry*) nogil
41
- char GEOSPreparedWithin_r(GEOSContextHandle_t, const GEOSPreparedGeometry*, const GEOSGeometry*) nogil
42
-
43
- char GEOSHasZ_r(GEOSContextHandle_t, GEOSGeometry *) nogil
44
- char GEOSisRing_r(GEOSContextHandle_t, GEOSGeometry *) nogil
45
- char GEOSisClosed_r(GEOSContextHandle_t, GEOSGeometry *) nogil
46
-
47
-
48
- cdef GEOSContextHandle_t get_geos_context_handle():
49
- # Note: This requires that lgeos is defined, so needs to be imported as:
50
- from shapely.geos import lgeos
51
- cdef ptr handle = lgeos.geos_handle
52
- return <GEOSContextHandle_t>handle
53
-
54
-
55
- cdef GEOSPreparedGeometry *geos_from_prepared(shapely_geom) except *:
56
- """Get the Prepared GEOS geometry pointer from the given shapely geometry."""
57
- cdef ptr geos_geom = shapely_geom._geom
58
- return <GEOSPreparedGeometry *>geos_geom
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,5 +1,5 @@
1
1
  [egg_info]
2
- tag_build =
3
2
  tag_date = 0
4
3
  tag_svn_revision = 0
4
+ tag_build =
5
5
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes