/* Generated by Pyrex 0.9.3 on Tue Oct 18 09:57:28 2005 */
#include "Python.h"
#include "structmember.h"
#ifndef PY_LONG_LONG
#define PY_LONG_LONG LONG_LONG
#endif
#include "proj_api.h"
typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/
typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
static PyObject *__Pyx_UnpackItem(PyObject *, int); /*proto*/
static int __Pyx_EndUnpack(PyObject *, int); /*proto*/
static int __Pyx_PrintItem(PyObject *); /*proto*/
static int __Pyx_PrintNewline(void); /*proto*/
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
static void __Pyx_ReRaise(void); /*proto*/
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
static PyObject *__Pyx_GetExcValue(void); /*proto*/
static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, char *name); /*proto*/
static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
static int __Pyx_GetStarArgs(PyObject **args, PyObject **kwds, char *kwd_list[], int nargs, PyObject **args2, PyObject **kwds2); /*proto*/
static void __Pyx_WriteUnraisable(char *name); /*proto*/
static void __Pyx_AddTraceback(char *funcname); /*proto*/
static PyTypeObject *__Pyx_ImportType(char *module_name, char *class_name, long size); /*proto*/
static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
static int __Pyx_GetVtable(PyObject *dict, void *vtabptr); /*proto*/
static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, char *modname); /*proto*/
static int __Pyx_InternStrings(__Pyx_InternTabEntry *t); /*proto*/
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
static PyObject *__pyx_m;
static PyObject *__pyx_b;
static int __pyx_lineno;
static char *__pyx_filename;
staticforward char **__pyx_f;
static char __pyx_mdoc[] = "\nPyrex wrapper to provide python interfaces to \nPROJ.4 (http://proj.maptools.org) functions.\n\nPerforms cartographic transformations (converts from longitude,latitude\nto native map projection x,y coordinates and vice versa).\n\nExample usage:\n\n>>> from pyproj import Proj\n>>> params = {}\n>>> params[\'proj\'] = \'utm\'\n>>> params[\'zone\'] = 10\n>>> p = Proj(params)\n>>> x,y = p(-120.108, 34.36116666)\n>>> print x,y\n>>> print p(x,y,inverse=True)\n765975.641091.4805993.13406\n(-120.10799999995851, 34.361166659972767)\n\nInput coordinates can be given as python arrays, sequences, scalars\nor Numeric/numarray arrays. Optimized for objects that support\nthe Python buffer protocol (regular python, Numeric and numarray arrays).\n\nDownload http://www.cdc.noaa.gov/people/jeffrey.s.whitaker/python/pyproj-1.6.tar.gz\n\nSee pyproj.Proj.__doc__ for more documentation.\n\nContact: Jeffrey Whitaker <jeffrey.s.whitaker@noaa.gov\n\ncopyright (c) 2004 by Jeffrey Whitaker.\n\nPermission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose and without fee is hereby granted,\nprovided that the above copyright notices appear in all copies and that\nboth the copyright notices and this permission notice appear in\nsupporting documentation.\nTHE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,\nINCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO\nEVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR\nCONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF\nUSE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n";
/* Declarations from proj4 */
staticforward PyTypeObject __pyx_type_5proj4_Proj;
struct __pyx_obj_5proj4_Proj {
PyObject_HEAD
double (*projpj);
PyObject *projparams;
char (*pjinitstring);
};
static PyTypeObject *__pyx_ptype_5proj4_Proj = 0;
static double __pyx_v_5proj4__rad2dg;
static double __pyx_v_5proj4__dg2rad;
static int __pyx_v_5proj4__doublesize;
static PyObject *__pyx_k3;
static PyObject *__pyx_k4;
static PyObject *__pyx_k5;
static PyObject *__pyx_k6;
/* Implementation of proj4 */
static PyObject *__pyx_n_math;
static PyObject *__pyx_n_array;
static PyObject *__pyx_n___version__;
static PyObject *__pyx_n_radians;
static PyObject *__pyx_n_degrees;
static PyObject *__pyx_n_False;
static PyObject *__pyx_n_has_key;
static PyObject *__pyx_n_units;
static PyObject *__pyx_n_m;
static PyObject *__pyx_n_keys;
static PyObject *__pyx_n_proj;
static PyObject *__pyx_n_KeyError;
static PyObject *__pyx_n_iteritems;
static PyObject *__pyx_n_append;
static PyObject *__pyx_n_str;
static PyObject *__pyx_n_join;
static PyObject *__pyx_k12p;
static PyObject *__pyx_k16p;
static PyObject *__pyx_k17p;
static PyObject *__pyx_k18p;
static PyObject *__pyx_k19p;
static PyObject *__pyx_k20p;
static char (__pyx_k12[]) = "resetting units to meters ...";
static char (__pyx_k16[]) = "need to specify proj parameter";
static char (__pyx_k17[]) = "+";
static char (__pyx_k18[]) = "=";
static char (__pyx_k19[]) = " ";
static char (__pyx_k20[]) = "";
static int __pyx_f_5proj4_4Proj___new__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_5proj4_4Proj___new__[] = "\n initialize a Proj class instance.\n\n Input \'projparams\' is a dictionary containing proj map\n projection control parameter key/value pairs.\n See the proj documentation (http://proj.maptools.org) for details.\n ";
static int __pyx_f_5proj4_4Proj___new__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_projparams = 0;
PyObject *__pyx_v_pjargs;
PyObject *__pyx_v_key;
PyObject *__pyx_v_value;
PyObject *__pyx_v_pjinitstring;
int __pyx_r;
PyObject *__pyx_1 = 0;
PyObject *__pyx_2 = 0;
PyObject *__pyx_3 = 0;
int __pyx_4;
int __pyx_5;
PyObject *__pyx_6 = 0;
PyObject *__pyx_7 = 0;
PyObject *__pyx_8 = 0;
char (*__pyx_9);
static char *__pyx_argnames[] = {"projparams",0};
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_projparams)) return -1;
Py_INCREF(__pyx_v_self);
Py_INCREF(__pyx_v_projparams);
__pyx_v_pjargs = Py_None; Py_INCREF(__pyx_v_pjargs);
__pyx_v_key = Py_None; Py_INCREF(__pyx_v_key);
__pyx_v_value = Py_None; Py_INCREF(__pyx_v_value);
__pyx_v_pjinitstring = Py_None; Py_INCREF(__pyx_v_pjinitstring);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":106 */
__pyx_1 = PyObject_GetAttr(__pyx_v_projparams, __pyx_n_has_key); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; goto __pyx_L1;}
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; goto __pyx_L1;}
Py_INCREF(__pyx_n_units);
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_n_units);
__pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; goto __pyx_L1;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_4 = PyObject_IsTrue(__pyx_3); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_5 = (!__pyx_4);
if (__pyx_5) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":107 */
if (PyObject_SetItem(__pyx_v_projparams, __pyx_n_units, __pyx_n_m) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; goto __pyx_L1;}
goto __pyx_L2;
}
__pyx_1 = PyObject_GetItem(__pyx_v_projparams, __pyx_n_units); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; goto __pyx_L1;}
if (PyObject_Cmp(__pyx_1, __pyx_n_m, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; goto __pyx_L1;}
__pyx_4 = __pyx_4 != 0;
Py_DECREF(__pyx_1); __pyx_1 = 0;
if (__pyx_4) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":109 */
if (__Pyx_PrintItem(__pyx_k12p) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; goto __pyx_L1;}
if (__Pyx_PrintNewline() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; goto __pyx_L1;}
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":110 */
if (PyObject_SetItem(__pyx_v_projparams, __pyx_n_units, __pyx_n_m) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; goto __pyx_L1;}
goto __pyx_L2;
}
__pyx_L2:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":113 */
__pyx_2 = PyObject_GetAttr(__pyx_v_projparams, __pyx_n_keys); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;}
__pyx_3 = PyTuple_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;}
__pyx_1 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_5 = PySequence_Contains(__pyx_1, __pyx_n_proj); if (__pyx_5 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;}
__pyx_5 = !__pyx_5;
Py_DECREF(__pyx_1); __pyx_1 = 0;
if (__pyx_5) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":114 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_KeyError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; goto __pyx_L1;}
__Pyx_Raise(__pyx_2, __pyx_k16p, 0);
Py_DECREF(__pyx_2); __pyx_2 = 0;
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; goto __pyx_L1;}
goto __pyx_L3;
}
__pyx_L3:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":115 */
__pyx_3 = PyList_New(0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; goto __pyx_L1;}
Py_DECREF(__pyx_v_pjargs);
__pyx_v_pjargs = __pyx_3;
__pyx_3 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":116 */
__pyx_1 = PyObject_GetAttr(__pyx_v_projparams, __pyx_n_iteritems); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
__pyx_2 = PyTuple_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
__pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_1 = PyObject_GetIter(__pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
for (;;) {
__pyx_L4:;
__pyx_2 = PyIter_Next(__pyx_1);
if (!__pyx_2) {
if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
break;
}
__pyx_3 = __Pyx_UnpackItem(__pyx_2, 0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
Py_DECREF(__pyx_v_key);
__pyx_v_key = __pyx_3;
__pyx_3 = 0;
__pyx_6 = __Pyx_UnpackItem(__pyx_2, 1); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
Py_DECREF(__pyx_v_value);
__pyx_v_value = __pyx_6;
__pyx_6 = 0;
if (__Pyx_EndUnpack(__pyx_2, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":117 */
__pyx_2 = PyObject_GetAttr(__pyx_v_pjargs, __pyx_n_append); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
__pyx_3 = PyNumber_Add(__pyx_k17p, __pyx_v_key); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
__pyx_6 = PyNumber_Add(__pyx_3, __pyx_k18p); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_str); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
__pyx_7 = PyTuple_New(1); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
Py_INCREF(__pyx_v_value);
PyTuple_SET_ITEM(__pyx_7, 0, __pyx_v_value);
__pyx_8 = PyObject_CallObject(__pyx_3, __pyx_7); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_7); __pyx_7 = 0;
__pyx_3 = PyNumber_Add(__pyx_6, __pyx_8); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
Py_DECREF(__pyx_6); __pyx_6 = 0;
Py_DECREF(__pyx_8); __pyx_8 = 0;
__pyx_7 = PyNumber_Add(__pyx_3, __pyx_k19p); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_6 = PyTuple_New(1); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
PyTuple_SET_ITEM(__pyx_6, 0, __pyx_7);
__pyx_7 = 0;
__pyx_8 = PyObject_CallObject(__pyx_2, __pyx_6); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_6); __pyx_6 = 0;
Py_DECREF(__pyx_8); __pyx_8 = 0;
}
__pyx_L5:;
Py_DECREF(__pyx_1); __pyx_1 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":118 */
Py_INCREF(__pyx_v_projparams);
Py_DECREF(((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projparams);
((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projparams = __pyx_v_projparams;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":119 */
__pyx_3 = PyObject_GetAttr(__pyx_k20p, __pyx_n_join); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;}
__pyx_7 = PyTuple_New(1); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;}
Py_INCREF(__pyx_v_pjargs);
PyTuple_SET_ITEM(__pyx_7, 0, __pyx_v_pjargs);
__pyx_2 = PyObject_CallObject(__pyx_3, __pyx_7); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_7); __pyx_7 = 0;
Py_DECREF(__pyx_v_pjinitstring);
__pyx_v_pjinitstring = __pyx_2;
__pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":120 */
__pyx_9 = PyString_AsString(__pyx_v_pjinitstring); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;}
((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj = pj_init_plus(__pyx_9);
__pyx_r = 0;
goto __pyx_L0;
__pyx_L1:;
Py_XDECREF(__pyx_1);
Py_XDECREF(__pyx_2);
Py_XDECREF(__pyx_3);
Py_XDECREF(__pyx_6);
Py_XDECREF(__pyx_7);
Py_XDECREF(__pyx_8);
__Pyx_AddTraceback("proj4.Proj.__new__");
__pyx_r = -1;
__pyx_L0:;
Py_DECREF(__pyx_v_pjargs);
Py_DECREF(__pyx_v_key);
Py_DECREF(__pyx_v_value);
Py_DECREF(__pyx_v_pjinitstring);
Py_DECREF(__pyx_v_self);
Py_DECREF(__pyx_v_projparams);
return __pyx_r;
}
static void __pyx_f_5proj4_4Proj___dealloc__(PyObject *__pyx_v_self); /*proto*/
static char __pyx_doc_5proj4_4Proj___dealloc__[] = "destroy projection definition";
static void __pyx_f_5proj4_4Proj___dealloc__(PyObject *__pyx_v_self) {
Py_INCREF(__pyx_v_self);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":124 */
pj_free(((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj);
goto __pyx_L0;
__pyx_L1:;
__Pyx_AddTraceback("proj4.Proj.__dealloc__");
__pyx_L0:;
Py_DECREF(__pyx_v_self);
}
static PyObject *__pyx_n___class__;
static PyObject *__pyx_f_5proj4_4Proj___reduce__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_5proj4_4Proj___reduce__[] = "special method that allows projlib.Proj instance to be pickled";
static PyObject *__pyx_f_5proj4_4Proj___reduce__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_r;
PyObject *__pyx_1 = 0;
PyObject *__pyx_2 = 0;
PyObject *__pyx_3 = 0;
static char *__pyx_argnames[] = {0};
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0;
Py_INCREF(__pyx_v_self);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":128 */
__pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n___class__); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; goto __pyx_L1;}
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; goto __pyx_L1;}
Py_INCREF(((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projparams);
PyTuple_SET_ITEM(__pyx_2, 0, ((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projparams);
__pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; goto __pyx_L1;}
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1);
PyTuple_SET_ITEM(__pyx_3, 1, __pyx_2);
__pyx_1 = 0;
__pyx_2 = 0;
__pyx_r = __pyx_3;
__pyx_3 = 0;
goto __pyx_L0;
__pyx_r = Py_None; Py_INCREF(__pyx_r);
goto __pyx_L0;
__pyx_L1:;
Py_XDECREF(__pyx_1);
Py_XDECREF(__pyx_2);
Py_XDECREF(__pyx_3);
__Pyx_AddTraceback("proj4.Proj.__reduce__");
__pyx_r = 0;
__pyx_L0:;
Py_DECREF(__pyx_v_self);
return __pyx_r;
}
static PyObject *__pyx_n_RuntimeError;
static PyObject *__pyx_n_True;
static PyObject *__pyx_n_len;
static PyObject *__pyx_k21p;
static PyObject *__pyx_k22p;
static char (__pyx_k21[]) = "Buffer lengths not the same";
static char (__pyx_k22[]) = "Sequences must have the same number of elements";
static PyObject *__pyx_f_5proj4_4Proj__fwd(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_5proj4_4Proj__fwd[] = "\n forward transformation - lons,lats to x,y.\n if radians=True, lons/lats are radians instead of degrees.\n ";
static PyObject *__pyx_f_5proj4_4Proj__fwd(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_lons = 0;
PyObject *__pyx_v_lats = 0;
PyObject *__pyx_v_radians = 0;
projUV __pyx_v_projxyout;
projUV __pyx_v_projlonlatin;
int __pyx_v_ndim;
int __pyx_v_i;
int __pyx_v_buflenx;
int __pyx_v_bufleny;
double __pyx_v_u;
double __pyx_v_v;
double (*__pyx_v_lonsdata);
double (*__pyx_v_latsdata);
void (*__pyx_v_londata);
void (*__pyx_v_latdata);
PyObject *__pyx_v_hasbufapi;
PyObject *__pyx_v_x;
PyObject *__pyx_v_y;
PyObject *__pyx_r;
int __pyx_1;
PyObject *__pyx_2 = 0;
PyObject *__pyx_3 = 0;
PyObject *__pyx_4 = 0;
double __pyx_5;
static char *__pyx_argnames[] = {"lons","lats","radians",0};
__pyx_v_radians = __pyx_k3;
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO|O", __pyx_argnames, &__pyx_v_lons, &__pyx_v_lats, &__pyx_v_radians)) return 0;
Py_INCREF(__pyx_v_self);
Py_INCREF(__pyx_v_lons);
Py_INCREF(__pyx_v_lats);
Py_INCREF(__pyx_v_radians);
__pyx_v_hasbufapi = Py_None; Py_INCREF(__pyx_v_hasbufapi);
__pyx_v_x = Py_None; Py_INCREF(__pyx_v_x);
__pyx_v_y = Py_None; Py_INCREF(__pyx_v_y);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":140 */
/*try:*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":142 */
__pyx_1 = (PyObject_AsWriteBuffer(__pyx_v_lons,(&__pyx_v_londata),(&__pyx_v_buflenx)) != 0);
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":143 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; goto __pyx_L2;}
__Pyx_Raise(__pyx_2, 0, 0);
Py_DECREF(__pyx_2); __pyx_2 = 0;
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; goto __pyx_L2;}
goto __pyx_L4;
}
__pyx_L4:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":144 */
__pyx_1 = (PyObject_AsWriteBuffer(__pyx_v_lats,(&__pyx_v_latdata),(&__pyx_v_bufleny)) != 0);
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":145 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; goto __pyx_L2;}
__Pyx_Raise(__pyx_2, 0, 0);
Py_DECREF(__pyx_2); __pyx_2 = 0;
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; goto __pyx_L2;}
goto __pyx_L5;
}
__pyx_L5:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":146 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; goto __pyx_L2;}
Py_DECREF(__pyx_v_hasbufapi);
__pyx_v_hasbufapi = __pyx_2;
__pyx_2 = 0;
}
goto __pyx_L3;
__pyx_L2:;
Py_XDECREF(__pyx_2); __pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":147 */
/*except:*/ {
__Pyx_AddTraceback("proj4._fwd");
__pyx_2 = __Pyx_GetExcValue(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":148 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; goto __pyx_L1;}
Py_DECREF(__pyx_v_hasbufapi);
__pyx_v_hasbufapi = __pyx_2;
__pyx_2 = 0;
goto __pyx_L3;
}
__pyx_L3:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":149 */
__pyx_1 = PyObject_IsTrue(__pyx_v_hasbufapi); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; goto __pyx_L1;}
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":151 */
__pyx_1 = (__pyx_v_buflenx != __pyx_v_bufleny);
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":152 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; goto __pyx_L1;}
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; goto __pyx_L1;}
Py_INCREF(__pyx_k21p);
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k21p);
__pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
__Pyx_Raise(__pyx_4, 0, 0);
Py_DECREF(__pyx_4); __pyx_4 = 0;
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; goto __pyx_L1;}
goto __pyx_L7;
}
__pyx_L7:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":153 */
__pyx_v_ndim = (__pyx_v_buflenx / __pyx_v_5proj4__doublesize);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":154 */
__pyx_v_lonsdata = ((double (*))__pyx_v_londata);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":155 */
__pyx_v_latsdata = ((double (*))__pyx_v_latdata);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":156 */
__pyx_1 = PyObject_IsTrue(__pyx_v_radians); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; goto __pyx_L1;}
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":157 */
for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_ndim; ++__pyx_v_i) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":158 */
__pyx_v_projlonlatin.u = (__pyx_v_lonsdata[__pyx_v_i]);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":159 */
__pyx_v_projlonlatin.v = (__pyx_v_latsdata[__pyx_v_i]);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":160 */
__pyx_v_projxyout = pj_fwd(__pyx_v_projlonlatin,((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":161 */
(__pyx_v_lonsdata[__pyx_v_i]) = __pyx_v_projxyout.u;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":162 */
(__pyx_v_latsdata[__pyx_v_i]) = __pyx_v_projxyout.v;
__pyx_L9:;
}
__pyx_L10:;
goto __pyx_L8;
}
/*else*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":164 */
for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_ndim; ++__pyx_v_i) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":165 */
__pyx_v_projlonlatin.u = (__pyx_v_5proj4__dg2rad * (__pyx_v_lonsdata[__pyx_v_i]));
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":166 */
__pyx_v_projlonlatin.v = (__pyx_v_5proj4__dg2rad * (__pyx_v_latsdata[__pyx_v_i]));
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":167 */
__pyx_v_projxyout = pj_fwd(__pyx_v_projlonlatin,((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":168 */
(__pyx_v_lonsdata[__pyx_v_i]) = __pyx_v_projxyout.u;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":169 */
(__pyx_v_latsdata[__pyx_v_i]) = __pyx_v_projxyout.v;
__pyx_L11:;
}
__pyx_L12:;
}
__pyx_L8:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":170 */
__pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; goto __pyx_L1;}
Py_INCREF(__pyx_v_lons);
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_lons);
Py_INCREF(__pyx_v_lats);
PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_lats);
__pyx_r = __pyx_2;
__pyx_2 = 0;
goto __pyx_L0;
goto __pyx_L6;
}
/*else*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":172 */
/*try:*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":173 */
__pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L13;}
__pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L13;}
Py_INCREF(__pyx_v_lons);
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_lons);
__pyx_2 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L13;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_4); __pyx_4 = 0;
__pyx_1 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; goto __pyx_L13;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_v_ndim = __pyx_1;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":174 */
__pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; goto __pyx_L13;}
__pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; goto __pyx_L13;}
Py_INCREF(__pyx_v_lats);
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_lats);
__pyx_2 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; goto __pyx_L13;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_4); __pyx_4 = 0;
__pyx_3 = PyInt_FromLong(__pyx_v_ndim); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; goto __pyx_L13;}
if (PyObject_Cmp(__pyx_2, __pyx_3, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; goto __pyx_L13;}
__pyx_1 = __pyx_1 != 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":175 */
__pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; goto __pyx_L13;}
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; goto __pyx_L13;}
Py_INCREF(__pyx_k22p);
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k22p);
__pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
__Pyx_Raise(__pyx_3, 0, 0);
Py_DECREF(__pyx_3); __pyx_3 = 0;
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; goto __pyx_L13;}
goto __pyx_L15;
}
__pyx_L15:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":176 */
__pyx_4 = PyList_New(0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; goto __pyx_L13;}
Py_DECREF(__pyx_v_x);
__pyx_v_x = __pyx_4;
__pyx_4 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":176 */
__pyx_2 = PyList_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; goto __pyx_L13;}
Py_DECREF(__pyx_v_y);
__pyx_v_y = __pyx_2;
__pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":177 */
__pyx_1 = PyObject_IsTrue(__pyx_v_radians); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; goto __pyx_L13;}
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":178 */
for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_ndim; ++__pyx_v_i) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":179 */
__pyx_3 = PyInt_FromLong(__pyx_v_i); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; goto __pyx_L13;}
__pyx_4 = PyObject_GetItem(__pyx_v_lons, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; goto __pyx_L13;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_5 = PyFloat_AsDouble(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
__pyx_v_projlonlatin.u = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":180 */
__pyx_2 = PyInt_FromLong(__pyx_v_i); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; goto __pyx_L13;}
__pyx_3 = PyObject_GetItem(__pyx_v_lats, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; goto __pyx_L13;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_5 = PyFloat_AsDouble(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; goto __pyx_L13;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_v_projlonlatin.v = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":181 */
__pyx_v_projxyout = pj_fwd(__pyx_v_projlonlatin,((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":182 */
__pyx_4 = PyObject_GetAttr(__pyx_v_x, __pyx_n_append); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; goto __pyx_L13;}
__pyx_2 = PyFloat_FromDouble(__pyx_v_projxyout.u); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; goto __pyx_L13;}
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; goto __pyx_L13;}
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
__pyx_2 = 0;
__pyx_2 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":183 */
__pyx_4 = PyObject_GetAttr(__pyx_v_y, __pyx_n_append); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; goto __pyx_L13;}
__pyx_3 = PyFloat_FromDouble(__pyx_v_projxyout.v); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; goto __pyx_L13;}
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; goto __pyx_L13;}
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
__pyx_3 = 0;
__pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_L17:;
}
__pyx_L18:;
goto __pyx_L16;
}
/*else*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":185 */
for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_ndim; ++__pyx_v_i) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":186 */
__pyx_4 = PyFloat_FromDouble(__pyx_v_5proj4__dg2rad); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; goto __pyx_L13;}
__pyx_2 = PyInt_FromLong(__pyx_v_i); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; goto __pyx_L13;}
__pyx_3 = PyObject_GetItem(__pyx_v_lons, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; goto __pyx_L13;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_2 = PyNumber_Multiply(__pyx_4, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_5 = PyFloat_AsDouble(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; goto __pyx_L13;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_v_projlonlatin.u = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":187 */
__pyx_4 = PyFloat_FromDouble(__pyx_v_5proj4__dg2rad); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; goto __pyx_L13;}
__pyx_3 = PyInt_FromLong(__pyx_v_i); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; goto __pyx_L13;}
__pyx_2 = PyObject_GetItem(__pyx_v_lats, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; goto __pyx_L13;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_3 = PyNumber_Multiply(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_5 = PyFloat_AsDouble(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; goto __pyx_L13;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_v_projlonlatin.v = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":188 */
__pyx_v_projxyout = pj_fwd(__pyx_v_projlonlatin,((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":189 */
__pyx_4 = PyObject_GetAttr(__pyx_v_x, __pyx_n_append); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; goto __pyx_L13;}
__pyx_2 = PyFloat_FromDouble(__pyx_v_projxyout.u); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; goto __pyx_L13;}
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; goto __pyx_L13;}
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
__pyx_2 = 0;
__pyx_2 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":190 */
__pyx_4 = PyObject_GetAttr(__pyx_v_y, __pyx_n_append); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; goto __pyx_L13;}
__pyx_3 = PyFloat_FromDouble(__pyx_v_projxyout.v); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; goto __pyx_L13;}
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; goto __pyx_L13;}
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
__pyx_3 = 0;
__pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_L19:;
}
__pyx_L20:;
}
__pyx_L16:;
}
goto __pyx_L14;
__pyx_L13:;
Py_XDECREF(__pyx_4); __pyx_4 = 0;
Py_XDECREF(__pyx_2); __pyx_2 = 0;
Py_XDECREF(__pyx_3); __pyx_3 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":191 */
/*except:*/ {
__Pyx_AddTraceback("proj4._fwd");
__pyx_4 = __Pyx_GetExcValue(); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; goto __pyx_L1;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":192 */
__pyx_1 = PyObject_IsTrue(__pyx_v_radians); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; goto __pyx_L1;}
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":193 */
__pyx_5 = PyFloat_AsDouble(__pyx_v_lons); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; goto __pyx_L1;}
__pyx_v_projlonlatin.u = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":194 */
__pyx_5 = PyFloat_AsDouble(__pyx_v_lats); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; goto __pyx_L1;}
__pyx_v_projlonlatin.v = __pyx_5;
goto __pyx_L21;
}
/*else*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":196 */
__pyx_2 = PyFloat_FromDouble(__pyx_v_5proj4__dg2rad); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; goto __pyx_L1;}
__pyx_3 = PyNumber_Multiply(__pyx_v_lons, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_5 = PyFloat_AsDouble(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_v_projlonlatin.u = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":197 */
__pyx_4 = PyFloat_FromDouble(__pyx_v_5proj4__dg2rad); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; goto __pyx_L1;}
__pyx_2 = PyNumber_Multiply(__pyx_v_lats, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; goto __pyx_L1;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
__pyx_5 = PyFloat_AsDouble(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_v_projlonlatin.v = __pyx_5;
}
__pyx_L21:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":198 */
__pyx_v_projxyout = pj_fwd(__pyx_v_projlonlatin,((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":199 */
__pyx_3 = PyFloat_FromDouble(__pyx_v_projxyout.u); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; goto __pyx_L1;}
Py_DECREF(__pyx_v_x);
__pyx_v_x = __pyx_3;
__pyx_3 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":200 */
__pyx_4 = PyFloat_FromDouble(__pyx_v_projxyout.v); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; goto __pyx_L1;}
Py_DECREF(__pyx_v_y);
__pyx_v_y = __pyx_4;
__pyx_4 = 0;
goto __pyx_L14;
}
__pyx_L14:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":201 */
__pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; goto __pyx_L1;}
Py_INCREF(__pyx_v_x);
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_x);
Py_INCREF(__pyx_v_y);
PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_y);
__pyx_r = __pyx_2;
__pyx_2 = 0;
goto __pyx_L0;
}
__pyx_L6:;
__pyx_r = Py_None; Py_INCREF(__pyx_r);
goto __pyx_L0;
__pyx_L1:;
Py_XDECREF(__pyx_2);
Py_XDECREF(__pyx_3);
Py_XDECREF(__pyx_4);
__Pyx_AddTraceback("proj4.Proj._fwd");
__pyx_r = 0;
__pyx_L0:;
Py_DECREF(__pyx_v_hasbufapi);
Py_DECREF(__pyx_v_x);
Py_DECREF(__pyx_v_y);
Py_DECREF(__pyx_v_self);
Py_DECREF(__pyx_v_lons);
Py_DECREF(__pyx_v_lats);
Py_DECREF(__pyx_v_radians);
return __pyx_r;
}
static PyObject *__pyx_k23p;
static PyObject *__pyx_k24p;
static char (__pyx_k23[]) = "Buffer lengths not the same";
static char (__pyx_k24[]) = "Sequences must have the same number of elements";
static PyObject *__pyx_f_5proj4_4Proj__inv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_5proj4_4Proj__inv[] = "\n inverse transformation - x,y to lons,lats.\n if radians=True, lons/lats are radians instead of degrees.\n ";
static PyObject *__pyx_f_5proj4_4Proj__inv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_x = 0;
PyObject *__pyx_v_y = 0;
PyObject *__pyx_v_radians = 0;
projUV __pyx_v_projxyin;
projUV __pyx_v_projlonlatout;
int __pyx_v_ndim;
int __pyx_v_i;
int __pyx_v_buflenx;
int __pyx_v_bufleny;
double __pyx_v_u;
double __pyx_v_v;
void (*__pyx_v_xdata);
void (*__pyx_v_ydata);
double (*__pyx_v_xdatab);
double (*__pyx_v_ydatab);
PyObject *__pyx_v_hasbufapi;
PyObject *__pyx_v_lons;
PyObject *__pyx_v_lats;
PyObject *__pyx_r;
int __pyx_1;
PyObject *__pyx_2 = 0;
PyObject *__pyx_3 = 0;
PyObject *__pyx_4 = 0;
double __pyx_5;
static char *__pyx_argnames[] = {"x","y","radians",0};
__pyx_v_radians = __pyx_k4;
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO|O", __pyx_argnames, &__pyx_v_x, &__pyx_v_y, &__pyx_v_radians)) return 0;
Py_INCREF(__pyx_v_self);
Py_INCREF(__pyx_v_x);
Py_INCREF(__pyx_v_y);
Py_INCREF(__pyx_v_radians);
__pyx_v_hasbufapi = Py_None; Py_INCREF(__pyx_v_hasbufapi);
__pyx_v_lons = Py_None; Py_INCREF(__pyx_v_lons);
__pyx_v_lats = Py_None; Py_INCREF(__pyx_v_lats);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":213 */
/*try:*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":215 */
__pyx_1 = (PyObject_AsWriteBuffer(__pyx_v_x,(&__pyx_v_xdata),(&__pyx_v_buflenx)) != 0);
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":216 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; goto __pyx_L2;}
__Pyx_Raise(__pyx_2, 0, 0);
Py_DECREF(__pyx_2); __pyx_2 = 0;
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; goto __pyx_L2;}
goto __pyx_L4;
}
__pyx_L4:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":217 */
__pyx_1 = (PyObject_AsWriteBuffer(__pyx_v_y,(&__pyx_v_ydata),(&__pyx_v_bufleny)) != 0);
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":218 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; goto __pyx_L2;}
__Pyx_Raise(__pyx_2, 0, 0);
Py_DECREF(__pyx_2); __pyx_2 = 0;
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; goto __pyx_L2;}
goto __pyx_L5;
}
__pyx_L5:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":219 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_True); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; goto __pyx_L2;}
Py_DECREF(__pyx_v_hasbufapi);
__pyx_v_hasbufapi = __pyx_2;
__pyx_2 = 0;
}
goto __pyx_L3;
__pyx_L2:;
Py_XDECREF(__pyx_2); __pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":220 */
/*except:*/ {
__Pyx_AddTraceback("proj4._inv");
__pyx_2 = __Pyx_GetExcValue(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":221 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; goto __pyx_L1;}
Py_DECREF(__pyx_v_hasbufapi);
__pyx_v_hasbufapi = __pyx_2;
__pyx_2 = 0;
goto __pyx_L3;
}
__pyx_L3:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":222 */
__pyx_1 = PyObject_IsTrue(__pyx_v_hasbufapi); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; goto __pyx_L1;}
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":224 */
__pyx_1 = (__pyx_v_buflenx != __pyx_v_bufleny);
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":225 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
Py_INCREF(__pyx_k23p);
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k23p);
__pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
__Pyx_Raise(__pyx_4, 0, 0);
Py_DECREF(__pyx_4); __pyx_4 = 0;
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; goto __pyx_L1;}
goto __pyx_L7;
}
__pyx_L7:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":226 */
__pyx_v_ndim = (__pyx_v_buflenx / __pyx_v_5proj4__doublesize);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":228 */
__pyx_v_xdatab = ((double (*))__pyx_v_xdata);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":229 */
__pyx_v_ydatab = ((double (*))__pyx_v_ydata);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":231 */
__pyx_1 = PyObject_IsTrue(__pyx_v_radians); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; goto __pyx_L1;}
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":232 */
for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_ndim; ++__pyx_v_i) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":233 */
__pyx_v_projxyin.u = (__pyx_v_xdatab[__pyx_v_i]);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":234 */
__pyx_v_projxyin.v = (__pyx_v_ydatab[__pyx_v_i]);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":235 */
__pyx_v_projlonlatout = pj_inv(__pyx_v_projxyin,((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":236 */
(__pyx_v_xdatab[__pyx_v_i]) = __pyx_v_projlonlatout.u;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":237 */
(__pyx_v_ydatab[__pyx_v_i]) = __pyx_v_projlonlatout.v;
__pyx_L9:;
}
__pyx_L10:;
goto __pyx_L8;
}
/*else*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":239 */
for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_ndim; ++__pyx_v_i) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":240 */
__pyx_v_projxyin.u = (__pyx_v_xdatab[__pyx_v_i]);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":241 */
__pyx_v_projxyin.v = (__pyx_v_ydatab[__pyx_v_i]);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":242 */
__pyx_v_projlonlatout = pj_inv(__pyx_v_projxyin,((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":243 */
(__pyx_v_xdatab[__pyx_v_i]) = (__pyx_v_5proj4__rad2dg * __pyx_v_projlonlatout.u);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":244 */
(__pyx_v_ydatab[__pyx_v_i]) = (__pyx_v_5proj4__rad2dg * __pyx_v_projlonlatout.v);
__pyx_L11:;
}
__pyx_L12:;
}
__pyx_L8:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":245 */
__pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; goto __pyx_L1;}
Py_INCREF(__pyx_v_x);
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_x);
Py_INCREF(__pyx_v_y);
PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_y);
__pyx_r = __pyx_2;
__pyx_2 = 0;
goto __pyx_L0;
goto __pyx_L6;
}
/*else*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":247 */
/*try:*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":248 */
__pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; goto __pyx_L13;}
__pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; goto __pyx_L13;}
Py_INCREF(__pyx_v_x);
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_x);
__pyx_2 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; goto __pyx_L13;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_4); __pyx_4 = 0;
__pyx_1 = PyInt_AsLong(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; goto __pyx_L13;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_v_ndim = __pyx_1;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":249 */
__pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; goto __pyx_L13;}
__pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; goto __pyx_L13;}
Py_INCREF(__pyx_v_y);
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_y);
__pyx_2 = PyObject_CallObject(__pyx_3, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; goto __pyx_L13;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_4); __pyx_4 = 0;
__pyx_3 = PyInt_FromLong(__pyx_v_ndim); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; goto __pyx_L13;}
if (PyObject_Cmp(__pyx_2, __pyx_3, &__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; goto __pyx_L13;}
__pyx_1 = __pyx_1 != 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":250 */
__pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; goto __pyx_L13;}
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; goto __pyx_L13;}
Py_INCREF(__pyx_k24p);
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k24p);
__pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
__Pyx_Raise(__pyx_3, 0, 0);
Py_DECREF(__pyx_3); __pyx_3 = 0;
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; goto __pyx_L13;}
goto __pyx_L15;
}
__pyx_L15:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":251 */
__pyx_4 = PyList_New(0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; goto __pyx_L13;}
Py_DECREF(__pyx_v_lons);
__pyx_v_lons = __pyx_4;
__pyx_4 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":251 */
__pyx_2 = PyList_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; goto __pyx_L13;}
Py_DECREF(__pyx_v_lats);
__pyx_v_lats = __pyx_2;
__pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":252 */
__pyx_1 = PyObject_IsTrue(__pyx_v_radians); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; goto __pyx_L13;}
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":253 */
for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_ndim; ++__pyx_v_i) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":254 */
__pyx_3 = PyInt_FromLong(__pyx_v_i); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; goto __pyx_L13;}
__pyx_4 = PyObject_GetItem(__pyx_v_x, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; goto __pyx_L13;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_5 = PyFloat_AsDouble(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
__pyx_v_projxyin.u = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":255 */
__pyx_2 = PyInt_FromLong(__pyx_v_i); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; goto __pyx_L13;}
__pyx_3 = PyObject_GetItem(__pyx_v_y, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; goto __pyx_L13;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_5 = PyFloat_AsDouble(__pyx_3); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; goto __pyx_L13;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_v_projxyin.v = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":256 */
__pyx_v_projlonlatout = pj_inv(__pyx_v_projxyin,((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":257 */
__pyx_4 = PyObject_GetAttr(__pyx_v_lons, __pyx_n_append); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; goto __pyx_L13;}
__pyx_2 = PyFloat_FromDouble(__pyx_v_projlonlatout.u); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; goto __pyx_L13;}
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; goto __pyx_L13;}
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2);
__pyx_2 = 0;
__pyx_2 = PyObject_CallObject(__pyx_4, __pyx_3); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":258 */
__pyx_4 = PyObject_GetAttr(__pyx_v_lats, __pyx_n_append); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; goto __pyx_L13;}
__pyx_3 = PyFloat_FromDouble(__pyx_v_projlonlatout.v); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; goto __pyx_L13;}
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; goto __pyx_L13;}
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_3);
__pyx_3 = 0;
__pyx_3 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_L17:;
}
__pyx_L18:;
goto __pyx_L16;
}
/*else*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":260 */
for (__pyx_v_i = 0; __pyx_v_i < __pyx_v_ndim; ++__pyx_v_i) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":261 */
__pyx_4 = PyInt_FromLong(__pyx_v_i); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; goto __pyx_L13;}
__pyx_2 = PyObject_GetItem(__pyx_v_x, __pyx_4); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
__pyx_5 = PyFloat_AsDouble(__pyx_2); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; goto __pyx_L13;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_v_projxyin.u = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":262 */
__pyx_3 = PyInt_FromLong(__pyx_v_i); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; goto __pyx_L13;}
__pyx_4 = PyObject_GetItem(__pyx_v_y, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; goto __pyx_L13;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_5 = PyFloat_AsDouble(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; goto __pyx_L13;}
Py_DECREF(__pyx_4); __pyx_4 = 0;
__pyx_v_projxyin.v = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":263 */
__pyx_v_projlonlatout = pj_inv(__pyx_v_projxyin,((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":264 */
__pyx_2 = PyObject_GetAttr(__pyx_v_lons, __pyx_n_append); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; goto __pyx_L13;}
__pyx_3 = PyFloat_FromDouble((__pyx_v_projlonlatout.u * __pyx_v_5proj4__rad2dg)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; goto __pyx_L13;}
__pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; goto __pyx_L13;}
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3);
__pyx_3 = 0;
__pyx_3 = PyObject_CallObject(__pyx_2, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; goto __pyx_L13;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_4); __pyx_4 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":265 */
__pyx_2 = PyObject_GetAttr(__pyx_v_lats, __pyx_n_append); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; goto __pyx_L13;}
__pyx_4 = PyFloat_FromDouble((__pyx_v_projlonlatout.v * __pyx_v_5proj4__rad2dg)); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; goto __pyx_L13;}
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; goto __pyx_L13;}
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4);
__pyx_4 = 0;
__pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; goto __pyx_L13;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_4); __pyx_4 = 0;
__pyx_L19:;
}
__pyx_L20:;
}
__pyx_L16:;
}
goto __pyx_L14;
__pyx_L13:;
Py_XDECREF(__pyx_2); __pyx_2 = 0;
Py_XDECREF(__pyx_3); __pyx_3 = 0;
Py_XDECREF(__pyx_4); __pyx_4 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":266 */
/*except:*/ {
__Pyx_AddTraceback("proj4._inv");
__pyx_2 = __Pyx_GetExcValue(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":267 */
__pyx_5 = PyFloat_AsDouble(__pyx_v_x); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; goto __pyx_L1;}
__pyx_v_projxyin.u = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":268 */
__pyx_5 = PyFloat_AsDouble(__pyx_v_y); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; goto __pyx_L1;}
__pyx_v_projxyin.v = __pyx_5;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":269 */
__pyx_v_projlonlatout = pj_inv(__pyx_v_projxyin,((struct __pyx_obj_5proj4_Proj *)__pyx_v_self)->projpj);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":270 */
__pyx_1 = PyObject_IsTrue(__pyx_v_radians); if (__pyx_1 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; goto __pyx_L1;}
if (__pyx_1) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":271 */
__pyx_3 = PyFloat_FromDouble(__pyx_v_projlonlatout.u); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; goto __pyx_L1;}
Py_DECREF(__pyx_v_lons);
__pyx_v_lons = __pyx_3;
__pyx_3 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":272 */
__pyx_4 = PyFloat_FromDouble(__pyx_v_projlonlatout.v); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; goto __pyx_L1;}
Py_DECREF(__pyx_v_lats);
__pyx_v_lats = __pyx_4;
__pyx_4 = 0;
goto __pyx_L21;
}
/*else*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":274 */
__pyx_2 = PyFloat_FromDouble((__pyx_v_projlonlatout.u * __pyx_v_5proj4__rad2dg)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; goto __pyx_L1;}
Py_DECREF(__pyx_v_lons);
__pyx_v_lons = __pyx_2;
__pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":275 */
__pyx_3 = PyFloat_FromDouble((__pyx_v_projlonlatout.v * __pyx_v_5proj4__rad2dg)); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; goto __pyx_L1;}
Py_DECREF(__pyx_v_lats);
__pyx_v_lats = __pyx_3;
__pyx_3 = 0;
}
__pyx_L21:;
goto __pyx_L14;
}
__pyx_L14:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":276 */
__pyx_4 = PyTuple_New(2); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; goto __pyx_L1;}
Py_INCREF(__pyx_v_lons);
PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_lons);
Py_INCREF(__pyx_v_lats);
PyTuple_SET_ITEM(__pyx_4, 1, __pyx_v_lats);
__pyx_r = __pyx_4;
__pyx_4 = 0;
goto __pyx_L0;
}
__pyx_L6:;
__pyx_r = Py_None; Py_INCREF(__pyx_r);
goto __pyx_L0;
__pyx_L1:;
Py_XDECREF(__pyx_2);
Py_XDECREF(__pyx_3);
Py_XDECREF(__pyx_4);
__Pyx_AddTraceback("proj4.Proj._inv");
__pyx_r = 0;
__pyx_L0:;
Py_DECREF(__pyx_v_hasbufapi);
Py_DECREF(__pyx_v_lons);
Py_DECREF(__pyx_v_lats);
Py_DECREF(__pyx_v_self);
Py_DECREF(__pyx_v_x);
Py_DECREF(__pyx_v_y);
Py_DECREF(__pyx_v_radians);
return __pyx_r;
}
static PyObject *__pyx_n_typecode;
static PyObject *__pyx_n_d;
static PyObject *__pyx_n_astype;
static PyObject *__pyx_n___copy__;
static PyObject *__pyx_n__inv;
static PyObject *__pyx_n__fwd;
static PyObject *__pyx_k33p;
static char (__pyx_k33[]) = "could not create copy of inputs. \nThis could be because your are using regular python arrays with Python 2.3\n(python arrays are not copy-able before python 2.4). Try using lists\nor Numeric/numarray arrays instead (the latter will be faster).";
static PyObject *__pyx_f_5proj4_4Proj___call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_5proj4_4Proj___call__[] = "\n Calling a Proj class instance with the arguments lon, lat will\n convert lon/lat (in degrees) to x/y native map projection \n coordinates (in meters). If optional keyword \'inverse\' is\n True (default is False), the inverse transformation from x/y\n to lon/lat is performed. If optional keyword \'radians\' is\n True (default is False) the units of lon/lat are radians instead\n of degrees.\n\n Inputs should be doubles (they will be cast to doubles\n if they are not, causing a slight performance hit).\n\n Works with Numeric or numarray arrays, python sequences or scalars\n (fastest for arrays containing doubles).\n ";
static PyObject *__pyx_f_5proj4_4Proj___call__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_lon = 0;
PyObject *__pyx_v_lat = 0;
PyObject *__pyx_v_inverse = 0;
PyObject *__pyx_v_radians = 0;
PyObject *__pyx_v_inx;
PyObject *__pyx_v_iny;
PyObject *__pyx_v_msg;
PyObject *__pyx_v_outx;
PyObject *__pyx_v_outy;
PyObject *__pyx_r;
PyObject *__pyx_1 = 0;
PyObject *__pyx_2 = 0;
PyObject *__pyx_3 = 0;
int __pyx_4;
PyObject *__pyx_5 = 0;
static char *__pyx_argnames[] = {"lon","lat","inverse","radians",0};
__pyx_v_inverse = __pyx_k5;
__pyx_v_radians = __pyx_k6;
if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "OO|OO", __pyx_argnames, &__pyx_v_lon, &__pyx_v_lat, &__pyx_v_inverse, &__pyx_v_radians)) return 0;
Py_INCREF(__pyx_v_self);
Py_INCREF(__pyx_v_lon);
Py_INCREF(__pyx_v_lat);
Py_INCREF(__pyx_v_inverse);
Py_INCREF(__pyx_v_radians);
__pyx_v_inx = Py_None; Py_INCREF(__pyx_v_inx);
__pyx_v_iny = Py_None; Py_INCREF(__pyx_v_iny);
__pyx_v_msg = Py_None; Py_INCREF(__pyx_v_msg);
__pyx_v_outx = Py_None; Py_INCREF(__pyx_v_outx);
__pyx_v_outy = Py_None; Py_INCREF(__pyx_v_outy);
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":295 */
/*try:*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":297 */
__pyx_1 = PyObject_GetAttr(__pyx_v_lon, __pyx_n_typecode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; goto __pyx_L2;}
__pyx_2 = PyTuple_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; goto __pyx_L2;}
__pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; goto __pyx_L2;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
if (PyObject_Cmp(__pyx_3, __pyx_n_d, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; goto __pyx_L2;}
__pyx_4 = __pyx_4 != 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
if (__pyx_4) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":298 */
__pyx_1 = PyObject_GetAttr(__pyx_v_lon, __pyx_n_astype); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; goto __pyx_L2;}
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; goto __pyx_L2;}
Py_INCREF(__pyx_n_d);
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_n_d);
__pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; goto __pyx_L2;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_v_lon);
__pyx_v_lon = __pyx_3;
__pyx_3 = 0;
goto __pyx_L4;
}
__pyx_L4:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":299 */
__pyx_1 = PyObject_GetAttr(__pyx_v_lat, __pyx_n_typecode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; goto __pyx_L2;}
__pyx_2 = PyTuple_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; goto __pyx_L2;}
__pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; goto __pyx_L2;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
if (PyObject_Cmp(__pyx_3, __pyx_n_d, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; goto __pyx_L2;}
__pyx_4 = __pyx_4 != 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
if (__pyx_4) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":300 */
__pyx_1 = PyObject_GetAttr(__pyx_v_lat, __pyx_n_astype); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; goto __pyx_L2;}
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; goto __pyx_L2;}
Py_INCREF(__pyx_n_d);
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_n_d);
__pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; goto __pyx_L2;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_v_lat);
__pyx_v_lat = __pyx_3;
__pyx_3 = 0;
goto __pyx_L5;
}
__pyx_L5:;
}
goto __pyx_L3;
__pyx_L2:;
Py_XDECREF(__pyx_1); __pyx_1 = 0;
Py_XDECREF(__pyx_2); __pyx_2 = 0;
Py_XDECREF(__pyx_3); __pyx_3 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":301 */
/*except:*/ {
__Pyx_AddTraceback("proj4.__call__");
__pyx_1 = __Pyx_GetExcValue(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; goto __pyx_L1;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":303 */
/*try:*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":304 */
__pyx_2 = PyObject_GetAttr(__pyx_v_lon, __pyx_n_typecode); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; goto __pyx_L6;}
if (PyObject_Cmp(__pyx_2, __pyx_n_d, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; goto __pyx_L6;}
__pyx_4 = __pyx_4 != 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
if (__pyx_4) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":305 */
__pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_array); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; goto __pyx_L6;}
__pyx_1 = PyObject_GetAttr(__pyx_3, __pyx_n_array); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; goto __pyx_L6;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; goto __pyx_L6;}
Py_INCREF(__pyx_n_d);
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_n_d);
Py_INCREF(__pyx_v_lon);
PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_lon);
__pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; goto __pyx_L6;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_v_lon);
__pyx_v_lon = __pyx_3;
__pyx_3 = 0;
goto __pyx_L8;
}
__pyx_L8:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":306 */
__pyx_1 = PyObject_GetAttr(__pyx_v_lat, __pyx_n_typecode); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; goto __pyx_L6;}
if (PyObject_Cmp(__pyx_1, __pyx_n_d, &__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; goto __pyx_L6;}
__pyx_4 = __pyx_4 != 0;
Py_DECREF(__pyx_1); __pyx_1 = 0;
if (__pyx_4) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":307 */
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_array); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; goto __pyx_L6;}
__pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_array); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; goto __pyx_L6;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; goto __pyx_L6;}
Py_INCREF(__pyx_n_d);
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_n_d);
Py_INCREF(__pyx_v_lat);
PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_lat);
__pyx_2 = PyObject_CallObject(__pyx_3, __pyx_1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; goto __pyx_L6;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_v_lat);
__pyx_v_lat = __pyx_2;
__pyx_2 = 0;
goto __pyx_L9;
}
__pyx_L9:;
}
goto __pyx_L7;
__pyx_L6:;
Py_XDECREF(__pyx_3); __pyx_3 = 0;
Py_XDECREF(__pyx_1); __pyx_1 = 0;
Py_XDECREF(__pyx_2); __pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":308 */
/*except:*/ {
__Pyx_AddTraceback("proj4.__call__");
__pyx_3 = __Pyx_GetExcValue(); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":309 */
goto __pyx_L7;
}
__pyx_L7:;
goto __pyx_L3;
}
__pyx_L3:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":316 */
__pyx_4 = PyObject_CheckReadBuffer(__pyx_v_lon);
if (__pyx_4) {
__pyx_4 = PyObject_CheckReadBuffer(__pyx_v_lat);
}
if (__pyx_4) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":317 */
/*try:*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":319 */
__pyx_1 = PyObject_GetAttr(__pyx_v_lon, __pyx_n___copy__); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; goto __pyx_L11;}
__pyx_2 = PyTuple_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; goto __pyx_L11;}
__pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; goto __pyx_L11;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_v_inx);
__pyx_v_inx = __pyx_3;
__pyx_3 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":319 */
__pyx_1 = PyObject_GetAttr(__pyx_v_lat, __pyx_n___copy__); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; goto __pyx_L11;}
__pyx_2 = PyTuple_New(0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; goto __pyx_L11;}
__pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; goto __pyx_L11;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_v_iny);
__pyx_v_iny = __pyx_3;
__pyx_3 = 0;
}
goto __pyx_L12;
__pyx_L11:;
Py_XDECREF(__pyx_1); __pyx_1 = 0;
Py_XDECREF(__pyx_2); __pyx_2 = 0;
Py_XDECREF(__pyx_3); __pyx_3 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":320 */
/*except:*/ {
__Pyx_AddTraceback("proj4.__call__");
__pyx_1 = __Pyx_GetExcValue(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; goto __pyx_L1;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":321 */
Py_INCREF(__pyx_k33p);
Py_DECREF(__pyx_v_msg);
__pyx_v_msg = __pyx_k33p;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":325 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_RuntimeError); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; goto __pyx_L1;}
__Pyx_Raise(__pyx_2, __pyx_v_msg, 0);
Py_DECREF(__pyx_2); __pyx_2 = 0;
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; goto __pyx_L1;}
goto __pyx_L12;
}
__pyx_L12:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":327 */
__pyx_4 = PyObject_IsTrue(__pyx_v_inverse); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; goto __pyx_L1;}
if (__pyx_4) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":328 */
__pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__inv); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; goto __pyx_L1;}
__pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; goto __pyx_L1;}
Py_INCREF(__pyx_v_inx);
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_inx);
Py_INCREF(__pyx_v_iny);
PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_iny);
__pyx_2 = PyDict_New(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; goto __pyx_L1;}
if (PyDict_SetItem(__pyx_2, __pyx_n_radians, __pyx_v_radians) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; goto __pyx_L1;}
__pyx_5 = PyEval_CallObjectWithKeywords(__pyx_3, __pyx_1, __pyx_2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_3 = __Pyx_UnpackItem(__pyx_5, 0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; goto __pyx_L1;}
Py_DECREF(__pyx_v_outx);
__pyx_v_outx = __pyx_3;
__pyx_3 = 0;
__pyx_1 = __Pyx_UnpackItem(__pyx_5, 1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; goto __pyx_L1;}
Py_DECREF(__pyx_v_outy);
__pyx_v_outy = __pyx_1;
__pyx_1 = 0;
if (__Pyx_EndUnpack(__pyx_5, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; goto __pyx_L1;}
Py_DECREF(__pyx_5); __pyx_5 = 0;
goto __pyx_L13;
}
/*else*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":330 */
__pyx_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n__fwd); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; goto __pyx_L1;}
__pyx_3 = PyTuple_New(2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; goto __pyx_L1;}
Py_INCREF(__pyx_v_inx);
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_inx);
Py_INCREF(__pyx_v_iny);
PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_iny);
__pyx_1 = PyDict_New(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; goto __pyx_L1;}
if (PyDict_SetItem(__pyx_1, __pyx_n_radians, __pyx_v_radians) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; goto __pyx_L1;}
__pyx_5 = PyEval_CallObjectWithKeywords(__pyx_2, __pyx_3, __pyx_1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_1); __pyx_1 = 0;
__pyx_2 = __Pyx_UnpackItem(__pyx_5, 0); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; goto __pyx_L1;}
Py_DECREF(__pyx_v_outx);
__pyx_v_outx = __pyx_2;
__pyx_2 = 0;
__pyx_3 = __Pyx_UnpackItem(__pyx_5, 1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; goto __pyx_L1;}
Py_DECREF(__pyx_v_outy);
__pyx_v_outy = __pyx_3;
__pyx_3 = 0;
if (__Pyx_EndUnpack(__pyx_5, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; goto __pyx_L1;}
Py_DECREF(__pyx_5); __pyx_5 = 0;
}
__pyx_L13:;
goto __pyx_L10;
}
/*else*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":333 */
__pyx_4 = PyObject_IsTrue(__pyx_v_inverse); if (__pyx_4 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; goto __pyx_L1;}
if (__pyx_4) {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":334 */
__pyx_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n__inv); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; goto __pyx_L1;}
__pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; goto __pyx_L1;}
Py_INCREF(__pyx_v_lon);
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_lon);
Py_INCREF(__pyx_v_lat);
PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_lat);
__pyx_3 = PyDict_New(); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; goto __pyx_L1;}
if (PyDict_SetItem(__pyx_3, __pyx_n_radians, __pyx_v_radians) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; goto __pyx_L1;}
__pyx_5 = PyEval_CallObjectWithKeywords(__pyx_1, __pyx_2, __pyx_3); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; goto __pyx_L1;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_1 = __Pyx_UnpackItem(__pyx_5, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; goto __pyx_L1;}
Py_DECREF(__pyx_v_outx);
__pyx_v_outx = __pyx_1;
__pyx_1 = 0;
__pyx_2 = __Pyx_UnpackItem(__pyx_5, 1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; goto __pyx_L1;}
Py_DECREF(__pyx_v_outy);
__pyx_v_outy = __pyx_2;
__pyx_2 = 0;
if (__Pyx_EndUnpack(__pyx_5, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; goto __pyx_L1;}
Py_DECREF(__pyx_5); __pyx_5 = 0;
goto __pyx_L14;
}
/*else*/ {
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":336 */
__pyx_3 = PyObject_GetAttr(__pyx_v_self, __pyx_n__fwd); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; goto __pyx_L1;}
__pyx_1 = PyTuple_New(2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; goto __pyx_L1;}
Py_INCREF(__pyx_v_lon);
PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_lon);
Py_INCREF(__pyx_v_lat);
PyTuple_SET_ITEM(__pyx_1, 1, __pyx_v_lat);
__pyx_2 = PyDict_New(); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; goto __pyx_L1;}
if (PyDict_SetItem(__pyx_2, __pyx_n_radians, __pyx_v_radians) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; goto __pyx_L1;}
__pyx_5 = PyEval_CallObjectWithKeywords(__pyx_3, __pyx_1, __pyx_2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_1); __pyx_1 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_3 = __Pyx_UnpackItem(__pyx_5, 0); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; goto __pyx_L1;}
Py_DECREF(__pyx_v_outx);
__pyx_v_outx = __pyx_3;
__pyx_3 = 0;
__pyx_1 = __Pyx_UnpackItem(__pyx_5, 1); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; goto __pyx_L1;}
Py_DECREF(__pyx_v_outy);
__pyx_v_outy = __pyx_1;
__pyx_1 = 0;
if (__Pyx_EndUnpack(__pyx_5, 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; goto __pyx_L1;}
Py_DECREF(__pyx_5); __pyx_5 = 0;
}
__pyx_L14:;
}
__pyx_L10:;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":338 */
__pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; goto __pyx_L1;}
Py_INCREF(__pyx_v_outx);
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_outx);
Py_INCREF(__pyx_v_outy);
PyTuple_SET_ITEM(__pyx_2, 1, __pyx_v_outy);
__pyx_r = __pyx_2;
__pyx_2 = 0;
goto __pyx_L0;
__pyx_r = Py_None; Py_INCREF(__pyx_r);
goto __pyx_L0;
__pyx_L1:;
Py_XDECREF(__pyx_1);
Py_XDECREF(__pyx_2);
Py_XDECREF(__pyx_3);
Py_XDECREF(__pyx_5);
__Pyx_AddTraceback("proj4.Proj.__call__");
__pyx_r = 0;
__pyx_L0:;
Py_DECREF(__pyx_v_inx);
Py_DECREF(__pyx_v_iny);
Py_DECREF(__pyx_v_msg);
Py_DECREF(__pyx_v_outx);
Py_DECREF(__pyx_v_outy);
Py_DECREF(__pyx_v_self);
Py_DECREF(__pyx_v_lon);
Py_DECREF(__pyx_v_lat);
Py_DECREF(__pyx_v_inverse);
Py_DECREF(__pyx_v_radians);
return __pyx_r;
}
static __Pyx_InternTabEntry __pyx_intern_tab[] = {
{&__pyx_n_False, "False"},
{&__pyx_n_KeyError, "KeyError"},
{&__pyx_n_RuntimeError, "RuntimeError"},
{&__pyx_n_True, "True"},
{&__pyx_n___class__, "__class__"},
{&__pyx_n___copy__, "__copy__"},
{&__pyx_n___version__, "__version__"},
{&__pyx_n__fwd, "_fwd"},
{&__pyx_n__inv, "_inv"},
{&__pyx_n_append, "append"},
{&__pyx_n_array, "array"},
{&__pyx_n_astype, "astype"},
{&__pyx_n_d, "d"},
{&__pyx_n_degrees, "degrees"},
{&__pyx_n_has_key, "has_key"},
{&__pyx_n_iteritems, "iteritems"},
{&__pyx_n_join, "join"},
{&__pyx_n_keys, "keys"},
{&__pyx_n_len, "len"},
{&__pyx_n_m, "m"},
{&__pyx_n_math, "math"},
{&__pyx_n_proj, "proj"},
{&__pyx_n_radians, "radians"},
{&__pyx_n_str, "str"},
{&__pyx_n_typecode, "typecode"},
{&__pyx_n_units, "units"},
{0, 0}
};
static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_k12p, __pyx_k12, sizeof(__pyx_k12)},
{&__pyx_k16p, __pyx_k16, sizeof(__pyx_k16)},
{&__pyx_k17p, __pyx_k17, sizeof(__pyx_k17)},
{&__pyx_k18p, __pyx_k18, sizeof(__pyx_k18)},
{&__pyx_k19p, __pyx_k19, sizeof(__pyx_k19)},
{&__pyx_k20p, __pyx_k20, sizeof(__pyx_k20)},
{&__pyx_k21p, __pyx_k21, sizeof(__pyx_k21)},
{&__pyx_k22p, __pyx_k22, sizeof(__pyx_k22)},
{&__pyx_k23p, __pyx_k23, sizeof(__pyx_k23)},
{&__pyx_k24p, __pyx_k24, sizeof(__pyx_k24)},
{&__pyx_k33p, __pyx_k33, sizeof(__pyx_k33)},
{0, 0, 0}
};
static PyObject *__pyx_tp_new_5proj4_Proj(PyTypeObject *t, PyObject *a, PyObject *k) {
PyObject *o = (*t->tp_alloc)(t, 0);
struct __pyx_obj_5proj4_Proj *p = (struct __pyx_obj_5proj4_Proj *)o;
p->projparams = Py_None; Py_INCREF(p->projparams);
if (__pyx_f_5proj4_4Proj___new__(o, a, k) < 0) {
Py_DECREF(o); o = 0;
}
return o;
}
static void __pyx_tp_dealloc_5proj4_Proj(PyObject *o) {
struct __pyx_obj_5proj4_Proj *p = (struct __pyx_obj_5proj4_Proj *)o;
{
PyObject *etype, *eval, *etb;
PyErr_Fetch(&etype, &eval, &etb);
++o->ob_refcnt;
__pyx_f_5proj4_4Proj___dealloc__(o);
if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
--o->ob_refcnt;
PyErr_Restore(etype, eval, etb);
}
Py_XDECREF(p->projparams);
(*o->ob_type->tp_free)(o);
}
static int __pyx_tp_traverse_5proj4_Proj(PyObject *o, visitproc v, void *a) {
int e;
struct __pyx_obj_5proj4_Proj *p = (struct __pyx_obj_5proj4_Proj *)o;
if (p->projparams) {
e = (*v)(p->projparams, a); if (e) return e;
}
return 0;
}
static int __pyx_tp_clear_5proj4_Proj(PyObject *o) {
struct __pyx_obj_5proj4_Proj *p = (struct __pyx_obj_5proj4_Proj *)o;
Py_XDECREF(p->projparams);
p->projparams = Py_None; Py_INCREF(p->projparams);
return 0;
}
static struct PyMethodDef __pyx_methods_5proj4_Proj[] = {
{"__reduce__", (PyCFunction)__pyx_f_5proj4_4Proj___reduce__, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5proj4_4Proj___reduce__},
{"_fwd", (PyCFunction)__pyx_f_5proj4_4Proj__fwd, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5proj4_4Proj__fwd},
{"_inv", (PyCFunction)__pyx_f_5proj4_4Proj__inv, METH_VARARGS|METH_KEYWORDS, __pyx_doc_5proj4_4Proj__inv},
{0, 0, 0, 0}
};
static PyNumberMethods __pyx_tp_as_number_Proj = {
0, /*nb_add*/
0, /*nb_subtract*/
0, /*nb_multiply*/
0, /*nb_divide*/
0, /*nb_remainder*/
0, /*nb_divmod*/
0, /*nb_power*/
0, /*nb_negative*/
0, /*nb_positive*/
0, /*nb_absolute*/
0, /*nb_nonzero*/
0, /*nb_invert*/
0, /*nb_lshift*/
0, /*nb_rshift*/
0, /*nb_and*/
0, /*nb_xor*/
0, /*nb_or*/
0, /*nb_coerce*/
0, /*nb_int*/
0, /*nb_long*/
0, /*nb_float*/
0, /*nb_oct*/
0, /*nb_hex*/
0, /*nb_inplace_add*/
0, /*nb_inplace_subtract*/
0, /*nb_inplace_multiply*/
0, /*nb_inplace_divide*/
0, /*nb_inplace_remainder*/
0, /*nb_inplace_power*/
0, /*nb_inplace_lshift*/
0, /*nb_inplace_rshift*/
0, /*nb_inplace_and*/
0, /*nb_inplace_xor*/
0, /*nb_inplace_or*/
0, /*nb_floor_divide*/
0, /*nb_true_divide*/
0, /*nb_inplace_floor_divide*/
0, /*nb_inplace_true_divide*/
};
static PySequenceMethods __pyx_tp_as_sequence_Proj = {
0, /*sq_length*/
0, /*sq_concat*/
0, /*sq_repeat*/
0, /*sq_item*/
0, /*sq_slice*/
0, /*sq_ass_item*/
0, /*sq_ass_slice*/
0, /*sq_contains*/
0, /*sq_inplace_concat*/
0, /*sq_inplace_repeat*/
};
static PyMappingMethods __pyx_tp_as_mapping_Proj = {
0, /*mp_length*/
0, /*mp_subscript*/
0, /*mp_ass_subscript*/
};
static PyBufferProcs __pyx_tp_as_buffer_Proj = {
0, /*bf_getreadbuffer*/
0, /*bf_getwritebuffer*/
0, /*bf_getsegcount*/
0, /*bf_getcharbuffer*/
};
statichere PyTypeObject __pyx_type_5proj4_Proj = {
PyObject_HEAD_INIT(0)
0, /*ob_size*/
"proj4.Proj", /*tp_name*/
sizeof(struct __pyx_obj_5proj4_Proj), /*tp_basicsize*/
0, /*tp_itemsize*/
__pyx_tp_dealloc_5proj4_Proj, /*tp_dealloc*/
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/
0, /*tp_compare*/
0, /*tp_repr*/
&__pyx_tp_as_number_Proj, /*tp_as_number*/
&__pyx_tp_as_sequence_Proj, /*tp_as_sequence*/
&__pyx_tp_as_mapping_Proj, /*tp_as_mapping*/
0, /*tp_hash*/
__pyx_f_5proj4_4Proj___call__, /*tp_call*/
0, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
&__pyx_tp_as_buffer_Proj, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
"\n performs cartographic transformations (converts from longitude,latitude\n to native map projection x,y coordinates and vice versa) using proj \n (http://proj.maptools.org/)\n\n A Proj class instance is initialized with a dictionary containing \n proj map projection control parameter key/value pairs.\n See http://www.remotesensing.org/geotiff/proj_list and the\n proj man page for details.\n\n Calling a Proj class instance with the arguments lon, lat will\n convert lon/lat (in degrees) to x/y native map projection \n coordinates (in meters). If optional keyword \'inverse\' is\n True (default is False), the inverse transformation from x/y\n to lon/lat is performed. If optional keyword \'radians\' is True\n (default is False) lon/lat are interpreted as radians instead\n of degrees. Works with numarray or Numeric arrays, python arrays,\n sequences or scalars (fastest for arrays containing doubles).\n ", /*tp_doc*/
__pyx_tp_traverse_5proj4_Proj, /*tp_traverse*/
__pyx_tp_clear_5proj4_Proj, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
0, /*tp_iter*/
0, /*tp_iternext*/
__pyx_methods_5proj4_Proj, /*tp_methods*/
0, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
0, /*tp_init*/
0, /*tp_alloc*/
__pyx_tp_new_5proj4_Proj, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
0, /*tp_mro*/
0, /*tp_cache*/
0, /*tp_subclasses*/
0, /*tp_weaklist*/
};
static struct PyMethodDef __pyx_methods[] = {
{0, 0, 0, 0}
};
DL_EXPORT(void) initproj4(void); /*proto*/
DL_EXPORT(void) initproj4(void) {
PyObject *__pyx_1 = 0;
PyObject *__pyx_2 = 0;
PyObject *__pyx_3 = 0;
double __pyx_4;
PyObject *__pyx_5 = 0;
__pyx_m = Py_InitModule4("proj4", __pyx_methods, __pyx_mdoc, 0, PYTHON_API_VERSION);
if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
__pyx_b = PyImport_AddModule("__builtin__");
if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
if (__Pyx_InternStrings(__pyx_intern_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
__pyx_type_5proj4_Proj.tp_free = _PyObject_GC_Del;
if (PyType_Ready(&__pyx_type_5proj4_Proj) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; goto __pyx_L1;}
if (PyObject_SetAttrString(__pyx_m, "Proj", (PyObject *)&__pyx_type_5proj4_Proj) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; goto __pyx_L1;}
__pyx_ptype_5proj4_Proj = &__pyx_type_5proj4_Proj;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":49 */
__pyx_1 = __Pyx_Import(__pyx_n_math, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
if (PyObject_SetAttr(__pyx_m, __pyx_n_math, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":49 */
__pyx_1 = __Pyx_Import(__pyx_n_array, 0); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
if (PyObject_SetAttr(__pyx_m, __pyx_n_array, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":53 */
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_math); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
__pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_radians); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
__pyx_1 = PyFloat_FromDouble(1.); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
__pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1);
__pyx_1 = 0;
__pyx_1 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
Py_DECREF(__pyx_3); __pyx_3 = 0;
__pyx_4 = PyFloat_AsDouble(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
__pyx_v_5proj4__dg2rad = __pyx_4;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":54 */
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_math); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
__pyx_3 = PyObject_GetAttr(__pyx_2, __pyx_n_degrees); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_1 = PyFloat_FromDouble(1.); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
__pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
PyTuple_SET_ITEM(__pyx_2, 0, __pyx_1);
__pyx_1 = 0;
__pyx_1 = PyObject_CallObject(__pyx_3, __pyx_2); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
Py_DECREF(__pyx_2); __pyx_2 = 0;
__pyx_4 = PyFloat_AsDouble(__pyx_1); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;}
Py_DECREF(__pyx_1); __pyx_1 = 0;
__pyx_v_5proj4__rad2dg = __pyx_4;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":55 */
__pyx_v_5proj4__doublesize = (sizeof(double ));
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":56 */
__pyx_3 = PyFloat_FromDouble(1.6); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
if (PyObject_SetAttr(__pyx_m, __pyx_n___version__, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;}
Py_DECREF(__pyx_3); __pyx_3 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":130 */
__pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; goto __pyx_L1;}
__pyx_k3 = __pyx_2;
__pyx_2 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":203 */
__pyx_1 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; goto __pyx_L1;}
__pyx_k4 = __pyx_1;
__pyx_1 = 0;
/* "/Volumes/User/jsw/python/matplotlib/basemap_cvs/toolkits/basemap/src/proj4.pyx":279 */
__pyx_3 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; goto __pyx_L1;}
__pyx_k5 = __pyx_3;
__pyx_3 = 0;
__pyx_5 = __Pyx_GetName(__pyx_b, __pyx_n_False); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; goto __pyx_L1;}
__pyx_k6 = __pyx_5;
__pyx_5 = 0;
return;
__pyx_L1:;
Py_XDECREF(__pyx_1);
Py_XDECREF(__pyx_2);
Py_XDECREF(__pyx_3);
Py_XDECREF(__pyx_5);
__Pyx_AddTraceback("proj4");
}
static char *__pyx_filenames[] = {
"proj4.pyx",
};
statichere char **__pyx_f = __pyx_filenames;
/* Runtime support code */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
PyObject *__import__ = 0;
PyObject *empty_list = 0;
PyObject *module = 0;
PyObject *global_dict = 0;
PyObject *empty_dict = 0;
PyObject *list;
__import__ = PyObject_GetAttrString(__pyx_b, "__import__");
if (!__import__)
goto bad;
if (from_list)
list = from_list;
else {
empty_list = PyList_New(0);
if (!empty_list)
goto bad;
list = empty_list;
}
global_dict = PyModule_GetDict(__pyx_m);
if (!global_dict)
goto bad;
empty_dict = PyDict_New();
if (!empty_dict)
goto bad;
module = PyObject_CallFunction(__import__, "OOOO",
name, global_dict, empty_dict, list);
bad:
Py_XDECREF(empty_list);
Py_XDECREF(__import__);
Py_XDECREF(empty_dict);
return module;
}
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
PyObject *result;
result = PyObject_GetAttr(dict, name);
if (!result)
PyErr_SetObject(PyExc_NameError, name);
return result;
}
static PyObject *__Pyx_GetStdout(void) {
PyObject *f = PySys_GetObject("stdout");
if (!f) {
PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
}
return f;
}
static int __Pyx_PrintItem(PyObject *v) {
PyObject *f;
if (!(f = __Pyx_GetStdout()))
return -1;
if (PyFile_SoftSpace(f, 1)) {
if (PyFile_WriteString(" ", f) < 0)
return -1;
}
if (PyFile_WriteObject(v, f, Py_PRINT_RAW) < 0)
return -1;
if (PyString_Check(v)) {
char *s = PyString_AsString(v);
int len = PyString_Size(v);
if (len > 0 &&
isspace(Py_CHARMASK(s[len-1])) &&
s[len-1] != ' ')
PyFile_SoftSpace(f, 0);
}
return 0;
}
static int __Pyx_PrintNewline(void) {
PyObject *f;
if (!(f = __Pyx_GetStdout()))
return -1;
if (PyFile_WriteString("\n", f) < 0)
return -1;
PyFile_SoftSpace(f, 0);
return 0;
}
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
Py_XINCREF(type);
Py_XINCREF(value);
Py_XINCREF(tb);
/* First, check the traceback argument, replacing None with NULL. */
if (tb == Py_None) {
Py_DECREF(tb);
tb = 0;
}
else if (tb != NULL && !PyTraceBack_Check(tb)) {
PyErr_SetString(PyExc_TypeError,
"raise: arg 3 must be a traceback or None");
goto raise_error;
}
/* Next, replace a missing value with None */
if (value == NULL) {
value = Py_None;
Py_INCREF(value);
}
/* Next, repeatedly, replace a tuple exception with its first item */
while (PyTuple_Check(type) && PyTuple_Size(type) > 0) {
PyObject *tmp = type;
type = PyTuple_GET_ITEM(type, 0);
Py_INCREF(type);
Py_DECREF(tmp);
}
if (PyString_Check(type))
;
else if (PyClass_Check(type))
; /*PyErr_NormalizeException(&type, &value, &tb);*/
else if (PyInstance_Check(type)) {
/* Raising an instance. The value should be a dummy. */
if (value != Py_None) {
PyErr_SetString(PyExc_TypeError,
"instance exception may not have a separate value");
goto raise_error;
}
else {
/* Normalize to raise <class>, <instance> */
Py_DECREF(value);
value = type;
type = (PyObject*) ((PyInstanceObject*)type)->in_class;
Py_INCREF(type);
}
}
else {
/* Not something you can raise. You get an exception
anyway, just not what you specified :-) */
PyErr_Format(PyExc_TypeError,
"exceptions must be strings, classes, or "
"instances, not %s", type->ob_type->tp_name);
goto raise_error;
}
PyErr_Restore(type, value, tb);
return;
raise_error:
Py_XDECREF(value);
Py_XDECREF(type);
Py_XDECREF(tb);
return;
}
static void __Pyx_UnpackError(void) {
PyErr_SetString(PyExc_ValueError, "unpack sequence of wrong size");
}
static PyObject *__Pyx_UnpackItem(PyObject *seq, int i) {
PyObject *item;
if (!(item = PySequence_GetItem(seq, i))) {
if (PyErr_ExceptionMatches(PyExc_IndexError))
__Pyx_UnpackError();
}
return item;
}
static int __Pyx_EndUnpack(PyObject *seq, int i) {
PyObject *item;
if (item = PySequence_GetItem(seq, i)) {
Py_DECREF(item);
__Pyx_UnpackError();
return -1;
}
PyErr_Clear();
return 0;
}
static PyObject *__Pyx_GetExcValue(void) {
PyObject *type = 0, *value = 0, *tb = 0;
PyObject *result = 0;
PyThreadState *tstate = PyThreadState_Get();
PyErr_Fetch(&type, &value, &tb);
PyErr_NormalizeException(&type, &value, &tb);
if (PyErr_Occurred())
goto bad;
if (!value) {
value = Py_None;
Py_INCREF(value);
}
Py_XDECREF(tstate->exc_type);
Py_XDECREF(tstate->exc_value);
Py_XDECREF(tstate->exc_traceback);
tstate->exc_type = type;
tstate->exc_value = value;
tstate->exc_traceback = tb;
result = value;
Py_XINCREF(result);
type = 0;
value = 0;
tb = 0;
bad:
Py_XDECREF(type);
Py_XDECREF(value);
Py_XDECREF(tb);
return result;
}
static int __Pyx_InternStrings(__Pyx_InternTabEntry *t) {
while (t->p) {
*t->p = PyString_InternFromString(t->s);
if (!*t->p)
return -1;
++t;
}
return 0;
}
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
while (t->p) {
*t->p = PyString_FromStringAndSize(t->s, t->n - 1);
if (!*t->p)
return -1;
++t;
}
return 0;
}
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
static void __Pyx_AddTraceback(char *funcname) {
PyObject *py_srcfile = 0;
PyObject *py_funcname = 0;
PyObject *py_globals = 0;
PyObject *empty_tuple = 0;
PyObject *empty_string = 0;
PyCodeObject *py_code = 0;
PyFrameObject *py_frame = 0;
py_srcfile = PyString_FromString(__pyx_filename);
if (!py_srcfile) goto bad;
py_funcname = PyString_FromString(funcname);
if (!py_funcname) goto bad;
py_globals = PyModule_GetDict(__pyx_m);
if (!py_globals) goto bad;
empty_tuple = PyTuple_New(0);
if (!empty_tuple) goto bad;
empty_string = PyString_FromString("");
if (!empty_string) goto bad;
py_code = PyCode_New(
0, /*int argcount,*/
0, /*int nlocals,*/
0, /*int stacksize,*/
0, /*int flags,*/
empty_string, /*PyObject *code,*/
empty_tuple, /*PyObject *consts,*/
empty_tuple, /*PyObject *names,*/
empty_tuple, /*PyObject *varnames,*/
empty_tuple, /*PyObject *freevars,*/
empty_tuple, /*PyObject *cellvars,*/
py_srcfile, /*PyObject *filename,*/
py_funcname, /*PyObject *name,*/
__pyx_lineno, /*int firstlineno,*/
empty_string /*PyObject *lnotab*/
);
if (!py_code) goto bad;
py_frame = PyFrame_New(
PyThreadState_Get(), /*PyThreadState *tstate,*/
py_code, /*PyCodeObject *code,*/
py_globals, /*PyObject *globals,*/
0 /*PyObject *locals*/
);
if (!py_frame) goto bad;
py_frame->f_lineno = __pyx_lineno;
PyTraceBack_Here(py_frame);
bad:
Py_XDECREF(py_srcfile);
Py_XDECREF(py_funcname);
Py_XDECREF(empty_tuple);
Py_XDECREF(empty_string);
Py_XDECREF(py_code);
Py_XDECREF(py_frame);
}