Your IP : 216.73.216.213


Current Path : /opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/
Upload File :
Current File : //opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyo

�
��]c@sddlmZmZmZddlZddlZddlZddlmZde	fd��YZ
de
fd��YZd�Zd	d
�Z
de
fd��YZd
efd��YZde
fd��YZdefd��YZdefd��YZdefd��YZdefd��YZde
fd��YZdefd��YZdefd��YZdefd ��YZd!efd"��YZed#d$d%d&�Zed#d$d%d'�Zed#d(d%d)�Zed#d*d%d+�Zd,efd-��YZd.�Zd/efd0��YZ d1efd2��YZ!d3efd4��YZ"d5efd6��YZ#d7efd8��YZ$d9efd:��YZ%d;efd<��YZ&d=efd>��YZ'd?efd@��YZ(dAefdB��YZ)dCefdD��YZ*idEdFdGf6dHdFdIf6dJdKdLf6dMdKdGf6dNdKdOf6dPdKdQf6dRdKdSf6Z+edTdUd#dV�Z,ed#dW�Z-edTdXd#dY�Z.edTdZd#d[d%d\�Z/ed#d]�Z0ed#d^d%d_�Z1ed#d`d%da�Z2dbefdc��YZ3dde3fde��YZ4dfe3fdg��YZ5dhe5fdi��YZ6dje
fdk��YZ7dlefdm��YZ8dn�Z9do�Z:dp�Z;dq�Z<drfds�Z=dt�Z>du�Z?dve
fdw��YZ@dxe	fdy��YZAdzefd{��YZBd|d}d~dd�d�fZCd�efd���YZDd�efd���YZEd�efd���YZFd�efd���YZGd�efd���YZHd�d�d�d�d�d�d�d�fZIeJeI�ZKeKjLd��ZMeKjLd��ZNeKjLd��ZOd	ZPdKZQeH�ZReG�ZSe�ZTe�ZUed	eP�ZVedFeP�ZWedKeP�ZXed�eP�ZYed�eP�ZZed	�Z[edF�Z\edK�Z]ed��Z^ed��Z_ed	eQ�Z`edFeQ�ZaedKeQ�Zbed�eQ�Zced�eQ�Zde)d�d�d��Zee)d��Zfe)d�d�d��Zge*ee�Zhe*ef�Zie*eg�Zje d�Zke!eM�Zle"eM�Zme$eMd�eP�Zne#eNd�eP�Zoe%eNd�eQ�Zpe&eNd�eQ�Zqe'eNd�eQ�Zre(eNd�eP�Zse6eU�Zte5eU�Zue5eu�Zve5e[�Zwe5eV�Zxe5ew�Zye5e]�Zze5en�Z{e5eq�Z|e5er�Z}e5es�Z~eFd�d�e�Z�eBd�d�e�dFd��Z�e5e��Z�eBd�d�e�dFd��Z�e5e��Z�ee\e]e^gd�d��Z�eeeefgd�d��Z�ee\e]e^eeefeheigd�d��Z�eBd�d�e�dFd��Z�eBd�d�e�dFd��Z�e5e��Z�eBd�d�e�dFd��Z�eBd�d�e�d	d��Z�e5e��Z�eBd�d�e�dFd��Z�ieVd	d	d�f6e[dFd	d�f6e`dKd	d�f6eWd	dd�f6eXd	d	d�f6eYd	dFd�f6eZd	dKd�f6e\dFdd�f6e]dFd	d�f6e^dFdFd�f6e_dFdKd�f6eadKdd�f6ebdKd	d�f6ecdKdFd�f6eddKdKd�f6eedFd	d�f6efdFd	d�f6egdFdFd�f6eidFd	d�f6ehdFd	d�f6eidFd	d�f6ejdFdFd�f6eUdFd	d�f6emdFd	d�f6end	d	d�f6eod	d	d�f6epdKd	d�f6eqdKd	d�f6erdKd	d�f6esd	d	d�f6eTdFd	d�f6Z�d��Z�e�e�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�dS(�i����(tUtilityCodetLazyUtilityCodetTempitaUtilityCodeN(terrortBaseTypecBs�eZgZd�Zd�Zd�Zd�Zd�Zdddd�Z	d�Z
d�Zeedd	�Z
d
�Zd�Zd�Zd
�Zd�ZRS(cCstS(N(tFalse(tselftenv((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytcan_coerce_to_pyobjectscCsd|jd�|fS(Ns((%s)%s)t(tdeclaration_code(Rt	expr_code((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt	cast_codescCs�d}g}xn|jd�jdd�jdd�jdd�D]9}||krb|j|�q@|jd	t|��q@Wdj|�S(
Nt?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789R	s	unsigned t	unsigned_s	long longt	long_longt t__s_%x_(R
treplacetappendtordtjoin(Rtsafetalltc((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytspecialization_names:cCs|rd||fS|SdS(Ns%s %s((Rt	base_codetentity_code((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytbase_declaration_code#scCs|S(sg
        Types never need to be copied, if we do copy, Unfortunate Things
        Will Happen!
        ((Rtmemo((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt__deepcopy__)scCs�|p|j}|r�|dkr3g}t�}nxi|D]a}t||�}|r:t|t�rw|j||�q�x!|D]}|j||�q~Wq:q:W|SdS(N(tsubtypestNonetsettgetattrt
isinstanceRtget_fused_types(RtresulttseenRtattrtlist_or_subtypetsubtype((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR$0s

cCs|jr|j|j�S|S(N(tfused_to_specifict
specialize(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytspecialize_fusedDs	cCs
|j�S(s{
        Add this indirection for the is_fused property to allow overriding
        get_fused_types in subclasses.
        (R$(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt_get_fused_typesJstdocs8Whether this type or any of its subtypes is a fused typecCs"tt|��tt|��kS(s�
        For sorting. The sorting order should correspond to the preference of
        conversion from Python types.

        Override to provide something sensible. This is only implemented so that
        python 3 doesn't trip
        (tidttype(Rtother((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt__lt__TscCsdS(sR
        Return the name of the Python type that can coerce to this type.
        N((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytpy_type_name^R	cCs:|js|j�dkr*|j�}nt|�}|S(sU
        Return the string with which fused python functions can be indexed.
        tobject(tis_builtin_typeR3tstr(Rt
index_name((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyttypeof_namecscCsdS(s�
        Return the code for a NULL-check in case an UnboundLocalError should
        be raised if an entry of this type is referenced before assignment.
        Returns None if no check should be performed.
        N(R (Rtcname((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytcheck_for_null_codenscCsdS(s�
        Returns the most invalid value an object of this type can assume as a
        C expression string. Returns None if no such value exists.
        N((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt
invalid_valuevR	N(t__name__t
__module__RRRRRRR R$R,R-tpropertytis_fusedR2R3R8R:R;(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRs								
			t	PyrexTypecBsReZdZdZdZdZdZdZdZdZ	dZ
dZdZdZ
dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ d�Z!d�Z"d�Z#d�Z$d�Z%d�Z&d�Z'd	�Z(d
�Z)d�Z*d�Z+d
�Z,d�Z-d�Z.d�Z/d�Z0RS(iR	cCs|S(N((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytresolve�scCs|S(N((Rtvalues((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR+�scCs
t|�S(N(R6(Rtvalue((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytliteral_code�scCs|jddd�j�S(NR	tfor_displayi(R
tstrip(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt__str__�scKs|j|j�|�S(N(tsame_as_resolved_typeRA(Rt
other_typetkwds((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytsame_as�scCs||kp|tkS(N(t
error_type(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRH�scCs|j|j��S(N(tsubtype_of_resolved_typeRA(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt
subtype_of�scCs
|j|�S(N(RK(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRM�scCs|j|j��S(N(tassignable_from_resolved_typeRA(Rtsrc_type((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytassignable_from�scCs
|j|�S(N(RK(RRP((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRO�scCs|S(N((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytas_argument_type�scCsdS(Ni((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytis_complete�scCs4|jp3|jp3|jp3|jp3|jp3|jS(N(tis_inttis_floatt
is_complextis_pyobjecttis_extension_typetis_ptr(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytis_simple_buffer_dtypes$cCsdS(Ni((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytstruct_nesting_depthscCsdS(N((Rtentrytcode((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytglobal_init_codescCsdS(Ni((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytneeds_nonechecks(1R<R=RWtis_unspecifiedRXt
is_final_typeR5t
is_numericRTRURVtis_voidtis_arrayRYtis_null_ptrtis_referencetis_consttis_cfunctiontis_struct_or_uniontis_cpp_classt
is_cpp_stringt	is_structtis_enumt
is_typedeft	is_stringtis_pyunicode_ptrtis_unicode_chart
is_returncodetis_errort	is_buffertis_memoryviewslicethas_attributest
default_valueRAR+RDRGRKRHRNRMRQRORRRSRZR[R^R_(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR@}s^:															cCs|rd||fS|SdS(Ns%s(%s)((Rtdll_linkage((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytpublic_declsicCsa|j}|js|rJ|rF|r-d}nd}td|��n|St||||�SdS(NtFusedtComplexs"%s external typedefs not supported(R?RVt
ValueErrortCTypedefType(tnamet	base_typeR9tis_externalR?tmsg((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytcreate_typedef_types		R}cBs�eZdZdZdZdZdgZdd�Zd�Z	d�Z
dddd�Zd�Zd�Z
d	�Zd
�Zd�Zd�Zd
�Zed�Zd�Zd�Zd�Zd�ZRS(iittypedef_base_typecCs(||_||_||_||_dS(N(ttypedef_namet
typedef_cnameR�ttypedef_is_external(RR~RR9R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt__init__>s			cCs
|jj�S(N(R�R;(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR;EscCs
|jj�S(N(R�RA(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRAHscCs:|s|r|j}nt|j|�}|j||�S(N(R�RyR�R(RRRERxtpyrexR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
KscCs|S(N((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRRSscCs?|jjr+|jj}t|�j|�Stj||�SdS(N(R�RdRtCPtrTypeRR(RRR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRVscCsd|jS(Ns<CTypedefType %s>(R�(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt__repr___scCs|jS(N(R�(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRGbscCsP|jjdd�jdd�}|jd|jd|�}||}||fS(NRt_s::RR0tTypeName(R�RR+(Rttemplate_utility_codettemplate_function_namet	type_nametutility_codet
function_name((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt_create_utility_codees!			
cCs�|jr�|jsi|j}t|�tkrN|jtd�\|_|_qi|jrZqi|j	riqin|jr�|j
|j�tSn|jj|�S(Ns__Pyx_PyInt_to_py_%s(
R�tto_py_utility_codeR�R0tCIntTypeR�tc_typedef_int_to_py_functiontto_py_functionRURVtuse_utility_codetTruetcreate_to_py_utility_code(RRR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�ns							cCs�|jr�|jsi|j}t|�tkrN|jtd�\|_|_qi|jrZqi|j	riqin|jr�|j
|j�tSn|jj|�S(Ns__Pyx_PyInt_from_py_%s(
R�tfrom_py_utility_codeR�R0R�R�tc_typedef_int_from_py_functiontfrom_py_functionRURVR�R�tcreate_from_py_utility_code(RRR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s							cCs|jtjdd��|jd�}|j�}|dkrz|jtjdddi|d6|d6|jd	6��n~|r�|d
7}nt|�|jtjdddi|d6|d6��|jtjdddi|d6|d6|d
6��d||fS(NtCommons
Overflow.cR	tlshiftt	LeftShifttcontexttTYPEtNAMEtSIGNEDt_constt	SizeChecktBinoptBINOPs__Pyx_%s_%s_checking_overflow(R�RtloadR
RRtsignedt_load_overflow_base(RtbinopRt	const_rhsR0R~((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytoverflow_check_binop�s"	%

		cCsX|jrH|jrHd||j|jf}|jrA|d7}n|Sn|jj|�S(Ns(%s == (%s)%s)s && PyErr_Occurred()(R�texception_valueR�texception_checkR�terror_condition(Rtresult_codet	condition((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s			
cCst|j|�S(N(R"R�(RR~((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt__getattr__�scCs
|jj�S(N(R�R3(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR3�scCs|jj|�S(N(R�R(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�sN(R<R=RnR�R R�R�RR�R;RAR
RRRR�RGR�R�R�RR�R�R�R3R(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR})s*
															tMemoryViewSliceTypecBs�eZdZdZdZdZdZdZe	Z
dgZd�Zd�Z
d�Zd�Zdddd�Zd�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(itdtypecCs�ddl}||_||_t|�|_|j|j�|_|j|j�\|_|_	|j
|�|_t|_
|jjs�|j|j�|_ndS(s�
        MemoryViewSliceType(base, axes)

        Base is the C base type; axes is a list of (access, packing) strings,
        where access is one of 'full', 'direct' or 'ptr' and packing is one of
        'contig', 'strided' or 'follow'.  There is one (access, packing) tuple
        for each dimension.

        the access specifiers determine whether the array data contains
        pointers that need to be dereferenced along that axis when
        retrieving/setting:

        'direct' -- No pointers stored in this dimension.
        'ptr' -- Pointer stored in this dimension.
        'full' -- Check along this dimension, don't assume either.

        the packing specifiers specify how the array elements are layed-out
        in memory.

        'contig' -- The data are contiguous in memory along this dimension.
                At most one dimension may be specified as 'contig'.
        'strided' -- The data aren't contiguous along this dimenison.
        'follow' -- Used for C/Fortran contiguous arrays, a 'follow' dimension
            has its stride automatically computed from extents of the other
            dimensions to ensure C or Fortran memory layout.

        C-contiguous memory has 'direct' as the access spec, 'contig' as the
        *last* axis' packing spec and 'follow' for all other packing specs.

        Fortran-contiguous memory has 'direct' as the access spec, 'contig' as
        the *first* axis' packing spec and 'follow' for all other packing
        specs.
        i����N(t
MemoryViewR�taxestlentndimt
get_buf_flagstflagstis_cf_contigtis_c_contigtis_f_contigtget_modetmodeRtwritable_neededR?tmangle_dtype_namet
dtype_name(Rt
base_dtypeR�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s"			cCs:|jr0|jj|j�r0|j|jkp9|tkS(N(RuR�RKR�RL(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRHs	cCstS(N(R�(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR_scCsdS(Ni((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRSsicCsddl}|j|j|�S(Ni����(R�Rtmemviewslice_cname(RRRERxR�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
scCs||jdkrxddl}|jd|j�ddd�|_}||_i|_|jdtddddd	�nt	S(
Ni����t
mvs_class_t
visibilitytexternt_dataR9tdatatis_cdefi(
tscopeR tSymtabtCClassScopetspecialization_suffixtparent_typet
directivestdeclare_vartc_char_ptr_typeR�(RR�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytattributes_knowns
		cCs�ddl}ddl}|j}|dkr[|jdtt|j�|dddd�nC|dkr�|jdtt|j�|dddd�n	|dkr�|jdtt|j�|dddd�n�|dkr�t|j�}dg}dg}	|dr3dg|d|}|	dg|d}	nt	|j
|�}
t	|j
|	�}x�|
df|d	fgD]m\}}
|j|
t|t
d
|d�g�d|ddd|j|��}|j|j|||��qpW|j|�n�|dkr�x�ddfD]�\}}
|j||j�}tdtdt
d
|d�gdd�}|j|
|d|ddd|�}|j|dk|j�|_q
WntS( Ni����tshapeR9R�itstridest
suboffsetstcopytcopy_fortrantdirecttcontigtfollowtmemviewslicetpostdefiningR�R�Rtftreturn_typetargsR�s-1(R�R�(R�R�(R�R�(R�R�(R�R�(R�R�(RR�(R�R�(R�tOptionsR�R�tc_array_typetc_py_ssize_t_typetbuffer_max_dimsR�R�R�R�tdeclare_cfunctiont	CFuncTypetCFuncTypeArgR tcopy_c_or_fortran_cnameR�tget_copy_new_utilitytuse_cython_array_utility_codetget_is_contig_func_nameR�tc_bint_typetget_is_contig_utilitytutility_code_definitionR�(Rt	attributeRR�R�R�R�R�t	to_axes_ct	to_axes_ftto_memview_ctto_memview_ft
to_memviewtcython_nameR\tc_or_ftis_contig_namet	cfunctype((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytdeclare_attribute*sp			
		
		
		
	 			cCsd|j�|jfS(Ns%s_%s(taxes_to_nameR�(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�xscCstS(N(R�(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR{scCs|dS(Ns.memview((RR9((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR:~scsddl}ddl����fd�}|j�j�|j|j�|jt|���jrrd}n�jr�d}nd}�j�}d|}t	|j
d�jd�jd	d
j
�j��d�jjd�d
�jj�d|d|��|�_tS(Ni����cs/�j|�j��d<tjddd��S(Ntdtype_typeinfotObjectToMemviewSlicesMemoryView_C.cR�(tget_type_information_cnameR�RR�(R](tBufferR�R(sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytlazy_utility_callback�st__Pyx_IS_C_CONTIGt__Pyx_IS_F_CONTIGt0t"__Pyx_PyObject_to_MemoryviewSlice_tbuf_flagR�t
axes_specss, tdtype_typedeclR	R[tc_or_f_flagtfuncname(R�RR�tacquire_utility_codetmemviewslice_init_codeRR�R�R�tdictR�R�R�Rtaxes_to_codeR�R
R[R�R�(RRR�RR
tsuffixR((RR�RsM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s.				
					cCstS(N(R�(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCsU|j|�\}}d|}d|}|j�|j|||jjf}d|S(Ns(PyObject *(*)(char *)) s(int (*)(char *, PyObject *)) s/__pyx_memoryview_fromslice(%s, %s, %s, %s, %d);(tdtype_object_conversion_funcsR%R�R�RW(RRtobjt
to_py_functfrom_py_functtup((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytget_to_py_function�s

c
	Cs)d|j}d|j}td|d|�}|jjrDd}n�|jj|�}|jj|�}|pq|sxdS|jjs�d}n|jjs�d}nd}|jjd�p�d	}|j	d
|jjd|jjd|jj
d
�d|�tj|dd|�}	|j
|	�||fS(Ns__pyx_memview_get_%ss__pyx_memview_set_%stget_functiontset_functiontMemviewObjectToObjecttNULLtMemviewDtypeToObjectRCsPyErr_Occurred()R�R�R�R	R�sMemoryView_C.cR�(RR(R�RR�RWR�R�R�R�R�tupdateR
RR�R�(
RRRRR�tutility_nametto_pytfrom_pyR�tutility((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s6

					
cCsGddl}|j}g|jD]$\}}d||||f^qS(s-Return a list of code constants for each axisi����Ns	(%s | %s)(R�t_spec_to_constR�(RR�tdtatp((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s	cCsPddl}|j}djg|jD]$\}}d||||f^q%�S(s'Return an abbreviated name for our axesi����NR	s%s%s(R�t_spec_to_abbrevRR�(RR�R"R#R$((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s	cCsd|S(Ns!%s.memview((RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCsddl}g}x�t|j�D]�\}\}}|j||�}|dkrb|jd�q"|dkr�g|j|d|d!D]\}}|dkr�|^q�}	|	s�|jdkr�d}q�n|jd	|�q"W|jjr�|jj}
n	|j}
d
|
dj	|�fS(Ni����tstridedt:t
contiguousiiR�t1s::s%s[%s]s, (
R�t	enumerateR�tget_memoryview_flagRR�R�RWR~R(RR�taxes_code_listtidxtaccesstpackingtflagR#R$thave_followR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRG�s "%	cCs5|jj|�}||jk	r1t||j�S|S(s&This does not validate the base type!!(R�R+R�R�(RRBR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR+scCs|S(N((RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRsN( R<R=RuRvR R�R�R�R�R�R�RR�RHR_RSR
R�R�R�RR:R�R�RRRR�R�RGR+R(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s8		2						N				&				&					t
BufferTypecBsheZdZeZdgZd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zed	�Z
RS(
iR�cCsI||_||_||_t|�|_||_||_||_dS(N(tbaseR�R�R�tbuffer_ptr_typeR�tnegative_indicestcast(RR3R�R�R�R5R6((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s					cCs|S(N((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRR'scCsM|jj|�}||jk	rIt|j||j|j|j|j�S|S(N(R�R+R2R3R�R�R5R6(RRBR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR+*s
cCst|j|�S(N(R"R3(RR~((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�1scCsd|jS(Ns<BufferType %r>(R3(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�4scCs5d}|jrd}nd|j|j|j|fS(NR	s
,cast=Trues%s[%s,ndim=%d%s](R6R3R�R�(Rtcast_str((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRG7s
		cCsA|jr1|j|dt�o0|jj|j�S|jj|�S(Ntcompare_base(RtRKRR3RQ(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRQ@s	cCs~|js|j|j�S|jj|j�o}|j|jko}|j|jko}|j|jko}|p}|jj|j�S(N(RtRKR3R�R�R�R6(RRIR8((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRKGs	(R<R=RtR�twritableRR�RRR+R�R�RGRQRK(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR2s
										tPyObjectTypecBs�eZdZdZdZdZeZeZ	d�Z
d�Zd�Zd�Z
d�Zdddd	�Zd
�Zd�Zd�Zd
�Zd�ZRS(R4iRcCsdS(Ns
Python object((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRG_scCsdS(Ns<PyObjectType>((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�bscCstS(N(R�(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRescCsdS(s=The default C type that this Python type coerces to, or None.N(R (R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytdefault_coerced_ctypehscCs|jp|jp|jS(N(RYRoRp(RRP((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRQlsicCs>|s|rd}ntd|�}d|}|j||�S(NR4tPyObjects*%s(RyR(RRRERxR�R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
ps
	
cCs&|j�s|jrd|S|SdS(Ns(PyObject *)(RSRX(RR9((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytas_pyobjectyscCsdS(NR4((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR3scCstS(ss
        Make sure we sort highest, as instance checking on py_type_name
        ('object') is always true
        (R(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR2�scCs|j|dt�dS(Ntnanny(tput_init_var_to_py_noneR(RR\R]((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR^�scCs|S(N((RR9((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR:�sN(R<R=R~RWRwR tbuffer_defaultsRt	is_externt
is_subclassedRGR�RR;RQR
R=R3R2R^R:(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR:Rs"									tBuiltinObjectTypecBs�eZdZdZdZdZdZdZdZ	e
Ze
Zdd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd	�Zd
�Ze
d�Zd�Zee
d
�Zdddd�Zed�Zd�ZRS(it__builtin__cCs,||_||_d||_||_dS(Ns(&%s)(R~R9t
typeptr_cnametobjstruct_cname(RR~R9RF((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s		
cCs||_|r||_ndS(N(R�R�(RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt	set_scope�s	cCsd|jS(Ns	%s object(R~(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRG�scCsd|jS(Ns<%s>(R9(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCs=|jdkrtS|jdkr&tS|jdkr9tSdS(Ntbytestbooltfloat(R~R�R�t
c_double_typeR (R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR;�scCsOt|t�r|j|jkS|jrG|jdkoF|j|jkStSdS(NRD(R#RCR~RXtmodule_nameR�(RRP((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRQ�s	cCstS(N(R�(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyttypeobj_is_available�scCstS(N(R�(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCs|jo|j|�S(N(RWRQ(RR0((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRN�scCs{|j}|dkrd}n:|dkr3d}n%|dkrHd}nd|j�}|rw|dkrw|d
7}n|S(NR6tPyString_Checkt
basestringt__Pyx_PyBaseString_Checkt	frozensettPyFrozenSet_Checks
Py%s_CheckRItslicetExact(RIRS(R~t
capitalize(RtexactR�t
type_check((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyttype_check_function�s				
cCsd|jdt�|fS(Ns%s(%s)RV(RXR(Rtarg((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytisinstance_code�scCsX|jd|�}d||f}|s9|d|7}nd|j|f}|d|S(NRVslikely(%s(%s))s||((%s) == Py_None)sT(PyErr_Format(PyExc_TypeError, "Expected %s, got %%.200s", Py_TYPE(%s)->tp_name), 0)s||(RXR~(RRYtnotnoneRVRWtcheckR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyttype_test_code�sicCsA|s|r|j}ntd|�}d|}|j||�S(NR<s*%s(R~RyR(RRRERxR�R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
�s

cCsd|r|jpd|fS(Ns	((%s*)%s)R<(RF(RRtto_object_struct((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�scCs|jS(N(R~(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR3�sN(R<R=R5RvR RRLtvtabslot_cnametvtabstruct_cnamet
vtabptr_cnameR�ttypedef_flagR�R�RGRGR�R;RQRMR�RNRXRZRR]R
RR3(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRC�s0											tPyExtensionTypecBs�eZdZdZdZdd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zddddd	�Z
ed
�Zd�Zd�Zd
�Zd�ZRS(iicCs�||_d|_||_|dk	r3t|_n||_d|_d|_d|_	d|_
d|_d|_d|_
d|_||_dS(N(R~R R�RbR�RBRRLRFt
typeobj_cnameRER_R`Ratvtable_cnameR�(RR~RbRR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s												cCs||_|r||_ndS(N(R�R�(RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRG%s	cCstS(N(R�(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR_*scCsE|js|jr7||kp6|jo6|jj|�S|tkSdS(N(RXR5RRNtpy_object_type(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRM-scCs|jS(N(RE(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRM4scCs|jdko|jdk	S(N(RdR RL(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyttypeobj_is_imported8scCss||krtSt|t�rA|jdk	rA|j|j�Snt|t�ro|jdkon|j|jkSt	S(NRD(
R�R#RcRR RQRCRLR~R(RRP((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRQ=scCsl|s|r|j}nD|jr-|j}n
d|j}t||�}|rRn
d|}|j||�S(Ns	struct %ss*%s(R~RbRFRyR(RRRERxR�tderefRt	objstruct((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
Ms	

cCs9d|}d||jf}|r'|Sd||fSdS(Ns((%s) == Py_None)slikely(__Pyx_TypeTest(%s, %s))slikely(%s || %s)(RE(Rtpy_argR[t
none_checkRW((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR]]s
cCs
|jdk	S(N(R�R (R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�gscCs|jS(N(R~(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRGjscCsd|jjd|jfS(Ns<PyExtensionType %s%s>R	s typedef(R	s typedef(R�t
class_nameRb(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�mscCs$|js|jSd|j|jfS(Ns#__import__(%r, None, None, ['']).%s(RLR~(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR3qs		N(R<R=RXRvR tobjtypedef_cnameR�RGR_RMRMRgRQR
RR]R�RGR�R3(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRc�s 						
			tCTypecBsDeZdZdZdZdZd�Zd�Zd�Z	d�Z
RS(icCs
|jdk	S(N(R�R (RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCs
|jdk	S(N(R�R (RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCs
|j|�S(N(R�(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�scCs�g}|js|jr,|jd|�n5|jdk	ra|jd||j�|jf�n|jrz|jd�nt|�dkr�dj|�SdSdS(Ns(!%s)s(%s == (%s)%s)sPyErr_Occurred()is && (	RoRpRR�R t
sign_and_nameR�R�R(RR�tconds((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s&	
N(R<R=R R�R�R�R�R�R�RR�(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRnxs			t
CConstTypecBsVeZdZd�Zd�Zd�Zdd	dd�Zd�Zd�Z	d�Z
RS(
icCsI||_|jrE|jdk	rEddl}|j|j�|_ndS(Ni����(tconst_base_typeRvR�R R�tCConstScope(RRrR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s	cCsdt|j�S(Ns<CConstType %s>(treprRr(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCs|jddd�S(NR	REi(R
(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRG�sicCs|jjd||||�S(Nsconst %s(RrR
(RRRERxR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
�scCs3|jj|�}||jkr%|St|�SdS(N(RrR+Rq(RRBR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR+�scCs)|jj|�r%|jj|_tSdS(N(RrR�R�R�(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCst|j|�S(N(R"Rr(RR~((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��sN(R<R=RgR�R�RGR R
R+R�R�(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRq�s					t	FusedTypecBsYeZdZdZdZdd�Zdddd�Zd�Zd�Z	ddd�Z
RS(	st
    Represents a Fused Type. All it needs to do is keep track of the types
    it aggregates, as it will be replaced with its specific version wherever
    needed.

    See http://wiki.cython.org/enhancements/fusedtypes

    types           [PyrexType]             is the list of types to be fused
    name            str                     the name of the ctypedef
    iicCs||_||_dS(N(ttypesR~(RRvR~((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s	cCs#|s|r|jStd��dS(Ns*This may never happen, please report a bug(R~t	Exception(RRRERxR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
�scCsd|jS(NsFusedType(name=%r)(R~(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCs||S(N((RRB((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR+�scCs@|dkr|gS||kr<|j|�|j|�ndS(N(R Rtadd(RR%R&((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR$�s

N(R<R=t__doc__R?R�R R�R
R�R+R$(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRu�s
		t	CVoidTypecBs2eZdZd�Zdddd�Zd�ZRS(icCsdS(Ns<CVoidType>((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��sicCs4|s|rd}ntd|�}|j||�S(Ntvoid(RyR(RRRERxR�R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
�s	cCsdS(Ni((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRS�sN(R<R=RcR�R R
RS(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRz�s	tInvisibleVoidTypecBseZdddd�ZRS(icCs4|s|rd}ntd|�}|j||�S(Ns[void]R	(RyR(RRRERxR�R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
s	N(R<R=R R
(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR|�stCNumericTypecBsqeZdZdZeZd
ZdZdd�Z	d�Z
d�Zdd
dd	�Zd
�Z
d�Zd�ZRS(iRs	unsigned R	ssigned cCs||_||_dS(N(trankR�(RR~R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s	cCs%|j|j}t|j}||S(N(t
sign_wordsR�trank_to_type_nameR~(Rtstn((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRos
cCsd|j�S(Ns<CNumericType %s>(Ro(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�$sicCsL|j�}|s|r-|jdd�}nt||�}|j||�S(NtPY_LONG_LONGs	long long(RoRRyR(RRRERxR�R�R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
's
c	Cs�|jdkr�ddl}|jdddd�|_}||_i|_|jdt|td|d�gdt	�ddd	d
dd�nt	S(
Ni����R	R�R�t	conjugateRtnogilR�R�iR9R(
R�R R�R�R�R�R�R�R�R�(RR�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�0s		$
cCs/|jr+|j|jko*|j|jkStS(s3Sort based on rank, preferring signed over unsigned(RbR~R�R�(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR2As	"cCs|jdkrdSdS(Nis(int, long)RJ(R~(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR3IsN(s	unsigned R	ssigned (R<R=RbRwR�RvR R�RR�RoR�R
R�R2R3(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR}s				tprotosS
static CYTHON_INLINE %(type)s __Pyx_PyInt_As%(SignWord)s%(TypeName)s(PyObject *);
timpls
static CYTHON_INLINE %(type)s __Pyx_PyInt_As%(SignWord)s%(TypeName)s(PyObject* x) {
    const %(type)s neg_one = (%(type)s)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(%(type)s) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(%(type)s)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to %(type)s" :
                    "value too large to convert to %(type)s");
            }
            return (%(type)s)-1;
        }
        return (%(type)s)val;
    }
    return (%(type)s)__Pyx_PyInt_As%(SignWord)sLong(x);
}
sC
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
#include "longintrepr.h"
#endif
#endif
static CYTHON_INLINE %(type)s __Pyx_PyInt_As%(SignWord)s%(TypeName)s(PyObject* x) {
    const %(type)s neg_one = (%(type)s)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to %(type)s");
            return (%(type)s)-1;
        }
        return (%(type)s)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(%(type)s)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return (%(type)s) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to %(type)s");
                return (%(type)s)-1;
            }
            return (%(type)s)PyLong_AsUnsigned%(TypeName)s(x);
        } else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(%(type)s)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return +(%(type)s) ((PyLongObject*)x)->ob_digit[0];
                    case -1: return -(%(type)s) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            return (%(type)s)PyLong_As%(TypeName)s(x);
        }
    } else {
        %(type)s val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (%(type)s)-1;
        val = __Pyx_PyInt_As%(SignWord)s%(TypeName)s(tmp);
        Py_DECREF(tmp);
        return val;
    }
}
sM
static CYTHON_INLINE %(type)s __Pyx_PyInt_from_py_%(TypeName)s(PyObject *);
s�
static CYTHON_INLINE %(type)s __Pyx_PyInt_from_py_%(TypeName)s(PyObject* x) {
    const %(type)s neg_one = (%(type)s)-1, const_zero = (%(type)s)0;
    const int is_unsigned = const_zero < neg_one;
    if (sizeof(%(type)s) == sizeof(char)) {
        if (is_unsigned)
            return (%(type)s)__Pyx_PyInt_AsUnsignedChar(x);
        else
            return (%(type)s)__Pyx_PyInt_AsSignedChar(x);
    } else if (sizeof(%(type)s) == sizeof(short)) {
        if (is_unsigned)
            return (%(type)s)__Pyx_PyInt_AsUnsignedShort(x);
        else
            return (%(type)s)__Pyx_PyInt_AsSignedShort(x);
    } else if (sizeof(%(type)s) == sizeof(int)) {
        if (is_unsigned)
            return (%(type)s)__Pyx_PyInt_AsUnsignedInt(x);
        else
            return (%(type)s)__Pyx_PyInt_AsSignedInt(x);
    } else if (sizeof(%(type)s) == sizeof(long)) {
        if (is_unsigned)
            return (%(type)s)__Pyx_PyInt_AsUnsignedLong(x);
        else
            return (%(type)s)__Pyx_PyInt_AsSignedLong(x);
    } else if (sizeof(%(type)s) == sizeof(PY_LONG_LONG)) {
        if (is_unsigned)
            return (%(type)s)__Pyx_PyInt_AsUnsignedLongLong(x);
        else
            return (%(type)s)__Pyx_PyInt_AsSignedLongLong(x);
    }  else {
        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
        #else
        %(type)s val;
        PyObject *v = __Pyx_PyNumber_Int(x);
        #if PY_MAJOR_VERSION < 3
        if (likely(v) && !PyLong_Check(v)) {
            PyObject *tmp = v;
            v = PyNumber_Long(tmp);
            Py_DECREF(tmp);
        }
        #endif
        if (likely(v)) {
            int one = 1; int is_little = (int)*(unsigned char *)&one;
            unsigned char *bytes = (unsigned char *)&val;
            int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                          bytes, sizeof(val),
                                          is_little, !is_unsigned);
            Py_DECREF(v);
            if (likely(!ret))
                return val;
        }
        #endif
        return (%(type)s)-1;
    }
}
sJ
static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_%(TypeName)s(%(type)s);
s7
static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_%(TypeName)s(%(type)s val) {
    const %(type)s neg_one = (%(type)s)-1, const_zero = (%(type)s)0;
    const int is_unsigned = const_zero < neg_one;
    if ((sizeof(%(type)s) == sizeof(char))  ||
        (sizeof(%(type)s) == sizeof(short))) {
        return PyInt_FromLong((long)val);
    } else if ((sizeof(%(type)s) == sizeof(int)) ||
               (sizeof(%(type)s) == sizeof(long))) {
        if (is_unsigned)
            return PyLong_FromUnsignedLong((unsigned long)val);
        else
            return PyInt_FromLong((long)val);
    } else if (sizeof(%(type)s) == sizeof(PY_LONG_LONG)) {
        if (is_unsigned)
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
        else
            return PyLong_FromLongLong((PY_LONG_LONG)val);
    } else {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        return _PyLong_FromByteArray(bytes, sizeof(%(type)s),
                                     little, !is_unsigned);
    }
}
R�cBsbeZdZdZd	Zd	ZdZdd�Zd�Z	d�Z
d�Zd�Ze
d�ZRS(
iii����cCsYtj|||�|jdkr4|j�|_n|jdkrU|j�|_ndS(N(R}R�R�R tget_to_py_type_conversionR�tget_from_py_type_conversion(RR~R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s
cCs�|jtt�jd�kr"dSd}d}d}|jsLd}d}n|jtt�jd�kryd}d}nd	|||fSdS(
NtinttPyInt_FromLongtIntR	tLongtUnsignedR�tLongLongs
Py%s_From%s%s(R~tlistR�tindexR�(RtPrefixtSignWordR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s			cCs�t|j}|jdd�}|j�jdd�}|j|jj�j�}|jtt�jd�krzt	}nt
}|j|d|d|�d||f}|S(	NR�s	long longRR	tlongR�R�s__Pyx_PyInt_As%s%s(R�R~RttitleRR�RFR�R�tc_long_from_py_functiontc_int_from_py_functionR+(RR�R�R�R�t	func_name((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�(s
	cCs|jp|jp|tkS(N(RTRmRL(RRP((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRO7scCs%tt|j�dkrdSdSdS(Ntchars'?'t
0xbad0bad0(R�R�R~(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR;:scCs�|jtjdd��|jd�}|j�}|dkrz|jtjdddi|d6|d6|jd	6��n|r�|d
7}n|dkr�|jtjdddi|d6|d6��n�|dkr|jtjdddi|d6|d6��n�|jdkr"d||fSt|�|jtjdddi|d6|d6��|jtjdddi|d6|d6|d6��d||fS(NR�s
Overflow.cR	R�R�R�R�R�R�R�R�R�s	long longtBaseCaseSignedtINTsunsigned ints
unsigned longsunsigned long longtBaseCaseUnsignedtUINTis__Pyx_%s_%s_no_overflowR�R�R�s__Pyx_%s_%s_checking_overflow(R�R�s	long long(sunsigned ints
unsigned longsunsigned long long(	R�RR�R
RRR�R~R�(RR�RR�R0R~((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�Cs6	%
		
		N(R<R=RTRbR R�R�R�R�R�R�ROR;RR�(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s					c
Cs�|jtjdd��xGdD]?}|jtjdddi|d6|jd	d
�d6��q WxGdD]?}|jtjdddi|d6|jd	d
�d6��qjWdS(NR�s
Overflow.cR�R�s	long longR�R�R�RR�R�sunsigned ints
unsigned longsunsigned long longR�R�(R�R�s	long long(sunsigned ints
unsigned longsunsigned long long(R�RR�RR(RR0((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�cs
	(
	t
CAnonEnumTypecBseZdZd�ZRS(icCsdS(NR�((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRoss(R<R=RmRo(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�ostCReturnCodeTypecBseZdZdZRS(t__Pyx_Owned_Py_Nonei(R<R=R�Rr(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�wst	CBIntTypecBs5eZdZdZdZd�Zd�Zd�ZRS(t__Pyx_PyBool_FromLongt__Pyx_PyObject_IsTrueicCsdS(Ns<CNumericType bint>((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCsdS(Ntbint((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRG�scCsdS(NRI((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR3�s(R<R=R�R�R�R�RGR3(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�~s		tCPyUCS4IntTypecBs,eZeZdZdZd�Zd�ZRS(tPyUnicode_FromOrdinalt__Pyx_PyObject_AsPy_UCS4cCs|jtjdd��tS(NtObjectAsUCS4sTypeConversion.c(R�Rtload_cachedR�(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCsdS(NtPy_UCS4((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRo�s(R<R=R�RqR�R�R�Ro(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s
	tCPyUnicodeIntTypecBs,eZeZdZdZd�Zd�ZRS(R�t__Pyx_PyObject_AsPy_UNICODEcCs|jtjdd��tS(NtObjectAsPyUnicodesTypeConversion.c(R�RR�R�(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCsdS(Nt
Py_UNICODE((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRo�s(R<R=R�RqR�R�R�Ro(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s
	tCPyHashTTypecBseZdZdZd�ZRS(t__Pyx_PyInt_FromHash_tt__Pyx_PyInt_AsHash_tcCsdS(Nt	Py_hash_t((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRo�s(R<R=R�R�Ro(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��st
CPySSizeTTypecBseZdZdZd�ZRS(tPyInt_FromSsize_tt__Pyx_PyIndex_AsSsize_tcCsdS(Nt
Py_ssize_t((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRo�s(R<R=R�R�Ro(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��stCSSizeTTypecBseZdZdZd�ZRS(R�tPyInt_AsSsize_tcCsdS(NR�((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRo�s(R<R=R�R�Ro(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��st
CSizeTTypecBseZdZdZd�ZRS(t__Pyx_PyInt_FromSize_tt__Pyx_PyInt_AsSize_tcCsdS(Ntsize_t((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRo�s(R<R=R�R�Ro(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��st
CFloatTypecBs>eZdZdZdZdZdd�Zd�Zd�ZRS(itPyFloat_FromDoublet__pyx_PyFloat_AsDoublei����R	cCs8tj||d�||_|tkr4d|_ndS(Nit__pyx_PyFloat_AsFloat(R}R�tmath_h_modifiert
RANK_FLOATR�(RR~R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s	cCs|jr|jp|tkS(N(RbRVRL(RRP((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRO�scCstjS(N(tNamingtPYX_NAN(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR;�s(	R<R=RUR�R�R�R�ROR;(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s	tCComplexTypecBs�eZdZdZdZdZd�Zd�Zd�Z	d�Z
d�Zdddd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(it__pyx_PyComplex_FromComplexcCs�x |jr"|jr"|j}qW|jrK|jrKd|j�|_n1t|d�ri|j|_nd|j�|_||_tj	||j
d|j�i|_d|j�|_
d|j
|_dS(Ns_%sR�g�?s
%s_from_partss%s(0, 0)(RnR�R�Rt
funcsuffixthasattrR�t	real_typeR}R�R~R�tbinopst
from_partsRw(RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s
		cCs6t|t�r.t|t�r.|j|jkStSdS(N(R#R�R�R(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt__eq__scCs6t|t�r.t|t�r.|j|jkStSdS(N(R#R�R�R�(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt__ne__
scCs6t|t�r.t|t�r.|j|jkStSdS(N(R#R�R�R(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR2scCst|j�S(N(thashR�(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt__hash__sicCsY|s|r4|jjd|||�}d|}nt|j�|�}|j||�S(NR	s
%s complex(R�R
RyRoR(RRRERxR�t	real_codeR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
s

cCsB|jj�}|jdd�}|jdd�}tj|dS(Ntlong__doubletlong_doubleR�Rt_complex(R�RRR�ttype_prefix(Rtreal_type_name((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRo'scCsC|jr)|jr)|jr)|jr)tStt|�j|�SdS(N(RVRbRnR�RtsuperR�RQ(RRP((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRQ-s	cCsC|jr|jj|j�pB|jr9|jj|�pB|tkS(N(RVR�RORbRL(RRP((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRO5sc
Cs�|jdkr�ddl}|jdddd�|_}||_i|_|jd|jddddt�|jd|jddddt�|j	d	t
|td
|d�gdt�ddd
ddd|j�ntS(Ni����R	R�R�trealR9R�timagR�RR�R�R�is__Pyx_c_conj%s(
R�R R�R�R�R�R�R�R�R�R�R�R�(RR�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�:s"		""$c
Csu|jt�|jt�xTtttfD]C}|j|j|d|jjd�d|j	d|jj
��q*WtS(NR�R	tmRU(R�tcomplex_header_utility_codetcomplex_real_imag_utility_codetcomplex_type_utility_codetcomplex_from_parts_utility_codetcomplex_arithmetic_utility_codeR+R�R
R�RUR�(RRR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytcreate_declaration_utility_codeNs


	cCs|jt�|jt�tS(N(R�R�tcomplex_to_py_utility_codeR�(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�^s

c
Cs{|jj|�xQttfD]C}|j|j|d|jjd�d|jd|jj��qWd|j	�|_
tS(NR�R	R�RUt__Pyx_PyComplex_As_(R�R�R�tcomplex_from_py_utility_codeR�R+R
R�RURR�R�(RRR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�cs
	cCs~y|j||fSWntk
r(nXy<t||f}d||jf|j||f<}|SWntk
rydSXdS(Ns__Pyx_c_%s%s(R�tKeyErrortcomplex_opsR�R (Rtnargstoptop_nameR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt	lookup_opqs
$
cCs|jd|�S(Ni(R�(RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytunary_op}scCs|jd|�S(Ni(R�(RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt	binary_op�scCsdS(Ntcomplex((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR3�scCs|S(N((RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�sN(R<R=RVR�RvR R�R�R�R�R2R�R
RoRQROR�R�R�R�R�R�R�R3R(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s,																tnegit-tis_zerotzerotsumit+tdifftprodt*tquott/teqs==tproto_blockth_codes�
#if !defined(CYTHON_CCOMPLEX)
  #if defined(__cplusplus)
    #define CYTHON_CCOMPLEX 1
  #elif defined(_Complex_I)
    #define CYTHON_CCOMPLEX 1
  #else
    #define CYTHON_CCOMPLEX 0
  #endif
#endif

#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    #include <complex>
  #else
    #include <complex.h>
  #endif
#endif

#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
  #undef _Complex_I
  #define _Complex_I 1.0fj
#endif
sM
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    #define __Pyx_CREAL(z) ((z).real())
    #define __Pyx_CIMAG(z) ((z).imag())
  #else
    #define __Pyx_CREAL(z) (__real__(z))
    #define __Pyx_CIMAG(z) (__imag__(z))
  #endif
#else
    #define __Pyx_CREAL(z) ((z).real)
    #define __Pyx_CIMAG(z) ((z).imag)
#endif

#if defined(_WIN32) && defined(__cplusplus) && CYTHON_CCOMPLEX
    #define __Pyx_SET_CREAL(z,x) ((z).real(x))
    #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
#else
    #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
    #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
#endif
tcomplex_type_declarationss�
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    typedef ::std::complex< %(real_type)s > %(type_name)s;
  #else
    typedef %(real_type)s _Complex %(type_name)s;
  #endif
#else
    typedef struct { %(real_type)s real, imag; } %(type_name)s;
#endif
tutility_code_protosW
static CYTHON_INLINE %(type)s %(type_name)s_from_parts(%(real_type)s, %(real_type)s);
s
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    static CYTHON_INLINE %(type)s %(type_name)s_from_parts(%(real_type)s x, %(real_type)s y) {
      return ::std::complex< %(real_type)s >(x, y);
    }
  #else
    static CYTHON_INLINE %(type)s %(type_name)s_from_parts(%(real_type)s x, %(real_type)s y) {
      return x + y*(%(type)s)_Complex_I;
    }
  #endif
#else
    static CYTHON_INLINE %(type)s %(type_name)s_from_parts(%(real_type)s x, %(real_type)s y) {
      %(type)s z;
      z.real = x;
      z.imag = y;
      return z;
    }
#endif
s�
#define __pyx_PyComplex_FromComplex(z) \
        PyComplex_FromDoubles((double)__Pyx_CREAL(z), \
                              (double)__Pyx_CIMAG(z))
s>
static %(type)s __Pyx_PyComplex_As_%(type_name)s(PyObject*);
sv
static %(type)s __Pyx_PyComplex_As_%(type_name)s(PyObject* o) {
    Py_complex cval;
#if CYTHON_COMPILING_IN_CPYTHON
    if (PyComplex_CheckExact(o))
        cval = ((PyComplexObject *)o)->cval;
    else
#endif
        cval = PyComplex_AsCComplex(o);
    return %(type_name)s_from_parts(
               (%(real_type)s)cval.real,
               (%(real_type)s)cval.imag);
}
s 
#if CYTHON_CCOMPLEX
    #define __Pyx_c_eq%(m)s(a, b)   ((a)==(b))
    #define __Pyx_c_sum%(m)s(a, b)  ((a)+(b))
    #define __Pyx_c_diff%(m)s(a, b) ((a)-(b))
    #define __Pyx_c_prod%(m)s(a, b) ((a)*(b))
    #define __Pyx_c_quot%(m)s(a, b) ((a)/(b))
    #define __Pyx_c_neg%(m)s(a)     (-(a))
  #ifdef __cplusplus
    #define __Pyx_c_is_zero%(m)s(z) ((z)==(%(real_type)s)0)
    #define __Pyx_c_conj%(m)s(z)    (::std::conj(z))
    #if %(is_float)s
        #define __Pyx_c_abs%(m)s(z)     (::std::abs(z))
        #define __Pyx_c_pow%(m)s(a, b)  (::std::pow(a, b))
    #endif
  #else
    #define __Pyx_c_is_zero%(m)s(z) ((z)==0)
    #define __Pyx_c_conj%(m)s(z)    (conj%(m)s(z))
    #if %(is_float)s
        #define __Pyx_c_abs%(m)s(z)     (cabs%(m)s(z))
        #define __Pyx_c_pow%(m)s(a, b)  (cpow%(m)s(a, b))
    #endif
 #endif
#else
    static CYTHON_INLINE int __Pyx_c_eq%(m)s(%(type)s, %(type)s);
    static CYTHON_INLINE %(type)s __Pyx_c_sum%(m)s(%(type)s, %(type)s);
    static CYTHON_INLINE %(type)s __Pyx_c_diff%(m)s(%(type)s, %(type)s);
    static CYTHON_INLINE %(type)s __Pyx_c_prod%(m)s(%(type)s, %(type)s);
    static CYTHON_INLINE %(type)s __Pyx_c_quot%(m)s(%(type)s, %(type)s);
    static CYTHON_INLINE %(type)s __Pyx_c_neg%(m)s(%(type)s);
    static CYTHON_INLINE int __Pyx_c_is_zero%(m)s(%(type)s);
    static CYTHON_INLINE %(type)s __Pyx_c_conj%(m)s(%(type)s);
    #if %(is_float)s
        static CYTHON_INLINE %(real_type)s __Pyx_c_abs%(m)s(%(type)s);
        static CYTHON_INLINE %(type)s __Pyx_c_pow%(m)s(%(type)s, %(type)s);
    #endif
#endif
s�

#if CYTHON_CCOMPLEX
#else
    static CYTHON_INLINE int __Pyx_c_eq%(m)s(%(type)s a, %(type)s b) {
       return (a.real == b.real) && (a.imag == b.imag);
    }
    static CYTHON_INLINE %(type)s __Pyx_c_sum%(m)s(%(type)s a, %(type)s b) {
        %(type)s z;
        z.real = a.real + b.real;
        z.imag = a.imag + b.imag;
        return z;
    }
    static CYTHON_INLINE %(type)s __Pyx_c_diff%(m)s(%(type)s a, %(type)s b) {
        %(type)s z;
        z.real = a.real - b.real;
        z.imag = a.imag - b.imag;
        return z;
    }
    static CYTHON_INLINE %(type)s __Pyx_c_prod%(m)s(%(type)s a, %(type)s b) {
        %(type)s z;
        z.real = a.real * b.real - a.imag * b.imag;
        z.imag = a.real * b.imag + a.imag * b.real;
        return z;
    }
    static CYTHON_INLINE %(type)s __Pyx_c_quot%(m)s(%(type)s a, %(type)s b) {
        %(type)s z;
        %(real_type)s denom = b.real * b.real + b.imag * b.imag;
        z.real = (a.real * b.real + a.imag * b.imag) / denom;
        z.imag = (a.imag * b.real - a.real * b.imag) / denom;
        return z;
    }
    static CYTHON_INLINE %(type)s __Pyx_c_neg%(m)s(%(type)s a) {
        %(type)s z;
        z.real = -a.real;
        z.imag = -a.imag;
        return z;
    }
    static CYTHON_INLINE int __Pyx_c_is_zero%(m)s(%(type)s a) {
       return (a.real == 0) && (a.imag == 0);
    }
    static CYTHON_INLINE %(type)s __Pyx_c_conj%(m)s(%(type)s a) {
        %(type)s z;
        z.real =  a.real;
        z.imag = -a.imag;
        return z;
    }
    #if %(is_float)s
        static CYTHON_INLINE %(real_type)s __Pyx_c_abs%(m)s(%(type)s z) {
          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
            return sqrt%(m)s(z.real*z.real + z.imag*z.imag);
          #else
            return hypot%(m)s(z.real, z.imag);
          #endif
        }
        static CYTHON_INLINE %(type)s __Pyx_c_pow%(m)s(%(type)s a, %(type)s b) {
            %(type)s z;
            %(real_type)s r, lnr, theta, z_r, z_theta;
            if (b.imag == 0 && b.real == (int)b.real) {
                if (b.real < 0) {
                    %(real_type)s denom = a.real * a.real + a.imag * a.imag;
                    a.real = a.real / denom;
                    a.imag = -a.imag / denom;
                    b.real = -b.real;
                }
                switch ((int)b.real) {
                    case 0:
                        z.real = 1;
                        z.imag = 0;
                        return z;
                    case 1:
                        return a;
                    case 2:
                        z = __Pyx_c_prod%(m)s(a, a);
                        return __Pyx_c_prod%(m)s(a, a);
                    case 3:
                        z = __Pyx_c_prod%(m)s(a, a);
                        return __Pyx_c_prod%(m)s(z, a);
                    case 4:
                        z = __Pyx_c_prod%(m)s(a, a);
                        return __Pyx_c_prod%(m)s(z, z);
                }
            }
            if (a.imag == 0) {
                if (a.real == 0) {
                    return a;
                }
                r = a.real;
                theta = 0;
            } else {
                r = __Pyx_c_abs%(m)s(a);
                theta = atan2%(m)s(a.imag, a.real);
            }
            lnr = log%(m)s(r);
            z_r = exp%(m)s(lnr * b.real - theta * b.imag);
            z_theta = theta * b.real + lnr * b.imag;
            z.real = z_r * cos%(m)s(z_theta);
            z.imag = z_r * sin%(m)s(z_theta);
            return z;
        }
    #endif
#endif
tCPointerBaseTypecBs,eZdgZd�Zd�Zd�ZRS(RcCs||_xNtttfD]"}|j|�rd|_PqqW|jt�rZd|_n|jr�|jr�|j	r�d|_
|jr�d|_q�nd|_
|jr�d|_nd|_
n=|jr�|jr�d|_
|jr�d|_nd|_
ndS(	Nit__Pyx_PyObject_FromStringt__Pyx_PyObject_AsStringt__Pyx_PyObject_FromUStringt__Pyx_PyObject_AsUStringRt__Pyx_PyUnicode_FromUnicodet__Pyx_PyUnicode_AsUnicode(Rtc_char_typetc_uchar_typetc_schar_typeRKRotc_py_unicode_typeRpRsR�R�RYR�R�(RRt	char_type((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s*									cCs1|jr
dS|jrdStt|�j�SdS(NRHtunicode(RoRpR�R�R3(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR3�s
		cCs|jrdtj|�SdS(Ns"%s"(RotStringEncodingtescape_byte_string(RRC((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRD�s	(R<R=RR�R3RD(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s			t
CArrayTypecBsqeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dddd	�Zd
�Zd�Z
RS(
icCs#tt|�j|�||_dS(N(R�RR�tsize(RRR
((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCsAt|t�r=|jr=|j|jkr=|jj|j�StS(N(R#RnRdR
RRKR(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s*cCst|j�dS(Ni(R�R(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCsd|jt|j�fS(Ns<CArrayType %s %s>(R
RtR(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCs(|jr|jj|j�p'|tkS(N(RdRRKRL(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRH�s	cCsdS(Ni((RRP((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRO�scCs
t|j�S(N(t
c_ptr_typeR(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytelement_ptr_type�sicCs`|jdk	r|j}nd}|jd�r=d|}n|jjd||f|||�S(NR	R�s(%s)s%s[%s](R
R t
startswithRR
(RRRERxR�tdimension_code((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
�s
	
cCs
t|j�S(N(RR(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRR�scCs
|jdk	S(N(R
R (R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRS�sN(R<R=RdR�R�R�R�RHRORR R
RRRS(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s								R�cBszeZdZdZd�Zd�Zd�Zd�Zd�Zdd
dd�Z
d	�Zd
�Zd�Z
d
d�ZRS(iRcCst|j�dS(Ni(R�R(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCs/t|t�r+|jr+|jj|j�StS(N(R#RnRYRRKR(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�	scCs||kS(N((RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�	scCsdt|j�S(Ns
<CPtrType %s>(RtR(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�
	scCs(|jr|jj|j�p'|tkS(N(RYRRKRL(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRH
	s	icCs|jjd||||�S(Ns*%s(RR
(RRRERxR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
	s	cCs�|tkrdS|jrdS|jjr>t|jj�}n|jjr�|jre|jj�}n|jr~|jj	|�SdSn|jj
r�|jr�|jj
r�|jj|j�r�dS|js�|jr�|jj
p�|jj|j�SdS(Nii(RLReRRgR�RrRhRYRAt%pointer_assignable_from_resolved_typeRjtis_subclassRdRcRK(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRO	s$			!cCs3|jj|�}||jkr%|St|�SdS(N(RR+R�(RRBR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR+.	scCsdS(NR)((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR;5	scCs#|jjr|jj||�SdS(N(RRjtfind_cpp_operation_typeR (Rtoperatortoperand_type((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR8	sN(R<R=RYRwR�R�R�R�RHR R
ROR+R;R(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s								tCNullPtrTypecBseZdZRS(i(R<R=Re(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR=	stCReferenceTypecBsMeZdZd�Zd�Zd�Zdddd�Zd�Zd�Z	RS(	icCs
||_dS(N(t
ref_base_type(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�F	scCsdt|j�S(Ns<CReferenceType %s>(RtR(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�I	scCsd|jS(Ns%s &(R(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRGL	sicCs|jjd||||�S(Ns&%s(RR
(RRRERxR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
O	s	cCs3|jj|�}||jkr%|St|�SdS(N(RR+R(RRBR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR+V	scCst|j|�S(N(R"R(RR~((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�]	sN(
R<R=RfR�R�RGR R
R+R�(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRB	s				R�cBsXeZdZdZdZeZeZddgZ	ddddddddded�
Z
d�Zd�Zd�Z
dd	�Zdd
�Zdd�Zd�Zdd
�Zd�Zd�Zd�Zd�Zdd�Zd�Zddddd�Zd�Zd�Zd�Zd�Zd�Zdd�Zd�Z dddd�Z!d�Z"RS(iR�R�iR	c

Csp||_||_||_|
|_||_||_||_||_||_|	|_	||_
||_dS(N(R�R�thas_varargstoptional_arg_countR�R�tcalling_conventionR�twith_giltis_overridablet	templatestis_strict_signature(
RR�R�RR�R�RR�RRRRR ((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�z	s											cCs�tt|j�}|jr+|jd�n|jrDd|j}nd}|jr`|d7}ndt|j�|j�dj	|�|fS(Ns...s %rR	t?s<CFuncType %s %s[%s]%s>t,(
tmapRtR�RRR�R�R�tcalling_convention_prefixR(Rt	arg_reprst
except_clause((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��	s			
	cCs|j}|r|dSdSdS(NRR	(R(Rtcc((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR$�	s	cCs
t|�S(N(R(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRR�	scCs|j|j�|�S(N(t!same_c_signature_as_resolved_typeRA(RRIt
as_cmethod((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytsame_c_signature_as�	scCs�|tkrdS|jsdS|j|jkr3dSt|j�}|t|j�kr[dSx>t||�D]-}|j|jj|j|j�skdSqkW|j|jkr�dS|j	|j	kr�dS|j
j|j
�s�dS|j|�s�dSdS(Nii(RLRhRR�R�trangeR0RKRRR�tsame_calling_convention_as(RRIR)R�ti((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR(�	s,	cCs|j|j�|�S(N(t'compatible_signature_with_resolved_typeRA(RRIR)((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytcompatible_signature_with�	scCsU|tkrdS|jsdS|jr4|jr4dSt|j�}||jt|j�|jkrjdS|j|jkr�dSxGt|t|j��D]-}|j|jj|j|j�s�dSq�W|j	|j	kr�dS|j
j|j
�s�dS|j|�sdS|j
|j
kr"dS|jp.||_|rQ|jd|jd<ndS(Nii(RLRhRR�R�RR+R0RKRR�RMR,R�toriginal_sig(RRIR)R�R-((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR.�	s6	#cCs|j|j�|�S(N(t'narrower_c_signature_than_resolved_typeRA(RRIR)((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytnarrower_c_signature_than�	scCs
|tkrdS|jsdSt|j�}|t|j�krEdSx|t||�D]k}|j|jj|j|j�s�dS|j|jp�|j|jj|j|j�|j|_qUW|j	|j	kr�dS|j
|j
kr�dS|jj|j�s	dSdS(Nii(RLRhR�R�R+R0RMtneeds_type_testRKRRR�(RRIR)R�R-((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR1�	s&	#2cCs(|jdk}|jdk}||kS(Nt	__stdcall(R(RR1tsc1tsc2((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR,
s
cCs|j|j��S(N(t)same_exception_signature_as_resolved_typeRA(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytsame_exception_signature_as
scCs"|j|jko!|j|jkS(N(R�R�(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR7
scCs1|j||�o0|j|�o0|j|jkS(N(R(R7R�(RRIR)((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRH
scCs0|j|�o/|j|�o/|jo.|jS(N(R(R7R�(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR 
scCs�g}xG|jt|j�|j D](}|j|jjd|d|��q$W|jrp|jdtj�n|jr�|j|j	jtj
��n|jr�|jd�ndj|�}|r�|r�d}nd}	|s�|rb|j
jrb|jr|jrd|j}	n1|jr1d|j}	n|jd	krId
}	n|jrb|	d7}	qbn|sqd}
nA|j�}
|r�|
s�|jd�r�d
|
|f}d}
n|jr�|	d7}	n|j
jd|
|||	f|||�S(NR	R�sint %ss...s, R{s except? %ss
 except %sR�s	 except +s nogilR�s(%s%s)s consts
%s%s(%s)%s(R�R�RRR0R
RR�tskip_dispatch_cnamet
op_arg_structtoptional_args_cnameRRR�RWR�R�R�R$Rtis_const_method(RRRERxR�twith_calling_conventiont
arg_decl_listRYt
arg_decl_codettrailerR'((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
%
sD$ 										
	cCs2|jrd}nd}d|j�|||fS(Ns constR	s
%s%s(%s)%s(R<R$(RR�targ_codeR@((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytfunction_header_codeN
s
		cCs|jd�}|S(NR	(R
(RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytsignature_stringV
scCs|jddt�}d|S(Ns(*)R=s(%s)(R
R(RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytsignature_cast_stringZ
scCs�|jdkrd}n%g|jD]}|j|�^q"}t|jj|�g|jD]}|j|�^qYd|jd|jd|jd|j	d|j
d|jd|jd|j
d	|�	}|j|_|S(
NRR�R�RR�RRRR(RR R+R�R�R�RR�R�RR�RRRR?t
from_fused(RRBt
new_templatestvRYR%((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR+^
s 	%%									cCs|jjjj|�jS(N(R:RR�tlookupR9(Rtarg_name((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt
opt_arg_cnames
scCs%|dkr|j�}nt|�S(s\
        Permute all the types. For every specific instance of a fused type, we
        want all other specific instances of all other fused types.

        It returns an iterable of two-tuples of the cname that should prefix
        the cname of the function, and a dict mapping any fused types to their
        respective specific types.
        N(R R$t get_all_specialized_permutations(Rtfused_types((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRKz
sc	Cs|jjr/g|jjjD]}|j^qS|jdk	rE|jS|jjj}|j|j�g}|j	�}x�|D]�\}}|jjj
|�}|jr�|j||�nt
j|j�}|j||�||_||_|j|�|j|�q}W||_|S(sB
        Get all the specific function types of this one.
        N(R\tfused_cfunctiontnodesR0tcached_specialized_typesR R�t
cfunc_entriestremoveRKR+Rtdeclare_opt_arg_structR�tdeepcopytspecialize_entryR(	RR�RPR%tpermutationsR9R*t
new_func_typet	new_entry((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt"get_all_specialized_function_types�
s(#			
	cCs"tt|�j||ddg�S(s>Return fused types in the order they appear as parameter typesRR�(R�R�R$(RR%R&R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR$�
scCst||�dS(N(RT(RR\R9((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRT�
sN(#R<R=RhR R0RORRER<RR�R�R$RRR*R(R/R.R2R1R,R8R7RHRR
RBRCRDR+RJRKRXR$RT(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�a	sF					#						'						%cCs�t|_t||j�|_|jrd|j|_|jrytjdt	j
|jf�|_qynt||j�|_|jr�t||j�|_ndS(sB
    Specialize an entry of a copied fused function or method
    s%s.%sN(R�tis_fused_specializedtget_fused_cnameR~t
is_cmethodR9tis_inheritedR
t
EncodedStringR�tobj_base_cnamet
func_cname(R\R9((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRT�
s			"	cCstjdtj||f�S(sT
    Given the fused cname id and an original cname, return a specialized cname
    s%s%s%s(R
R]R�tfused_func_prefix(tfused_cnamet
orig_cname((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRZ�
scCsMt�}g}x7|D]/}||kr|j|�|j|�qqW|S(N(R!RRx(tsomelistR&R%R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytunique�
s	

cCstt|��S(N(t!_get_all_specialized_permutationsRd(RL((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRK�
sR	cCs�|dj�\}g}x�t|j�D]�\}}t|�}|ji||6�|rnd||f}nt|�}t|�dkr�|jt|d||��q)|j	||f�q)W|S(Nis%s_%si(
R$R*RvRRR6R�textendReR(RLR/tf2st
fused_typeR%tnewidt
specific_typeR9((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRe�
s	cCsD|j�}t|�dkr+|d}n|}|j|�j�S(sE
    Return the signature for a specialization of a fused type. e.g.

        floating[:] ->
            'float' or 'double'

        cdef fused ft:
            float[:]
            double[:]

        ft ->
            'float[:]' or 'double[:]'

        integral func(floating) ->
            'int (*func)(float)' or ...
    ii(R$R�R+R8(tfused_compound_typeR*RLRh((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytspecialization_signature_string�
s

cCs�t|t�r;|j}xw|D]}|j�|_qWnWg}xNt|j��D]:\}}|j|�}t||�|_|j	|�qTWt
|�S(s�
    Return a list of specialized types sorted in reverse order in accordance
    with their preference in runtime fused-type dispatch
    (R#RuRvR8tspecialization_stringRKR$R+RlRtsorted(R0R%tspecialized_typeR9Rg((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytget_specialized_typess	
R�cBsSeZeZeZeZeZdgZdd�Z
d�Zdd�Zd�Z
RS(R0cCsP||_|dk	r!||_ntj||_||_||_t|_dS(N(	R~R R9R�t
var_prefixR0R�RR3(RR~R0R�R9((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�3s			cCsd|jt|j�fS(Ns%s:%s(R~RtR0(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�=sicCs|jj|j|�S(N(R0R
R9(RRE((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
@scCs(t|j|jj|�|j|j�S(N(R�R~R0R+R�R9(RRB((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR+CsN(R<R=Rtnot_nonetor_noneR�taccept_nonetaccept_builtin_subtypesRR R�R�R
R+(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�%s	
	tToPyStructUtilityCodecBsDeZdZd�Zd�Zd�Zd�Zd�Zd�Z	RS(cCs5||_d|j|jd�f|_||_dS(Nsstatic PyObject* %s(%s)R�(R0R�R
theadertforward_decl(RR0Rx((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�Js		cCst|t�o|j|jkS(N(R#RvRw(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�PscCs
t|j�S(N(R�Rw(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�SscCsdS(N((R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytget_treeVscCsN|d}|d}|jd|j�|jd�|jd�|jd�xm|jjjD]\}|j|jdt�}|jd|jj|j	f�|jd	|�|jd
�q_W|jd�|jd�|jd
�|jd�|jd�|jd�|j
r6|j|jjd�d�n|j|jd�dS(Ntutility_code_defR�s%s {sPyObject* res;sPyObject* member;s1res = PyDict_New(); if (res == NULL) return NULL;t
identifiers0member = %s(s.%s); if (member == NULL) goto bad;s2if (PyDict_SetItem(res, %s, member) < 0) goto bad;sPy_DECREF(member);sreturn res;sbad:sPy_XDECREF(member);sPy_DECREF(res);sreturn NULL;t}R	t;(tputlnRwR0R�tvar_entriestget_py_string_constR~R�R�R9RxR
(RtoutputR]R�tmembertnameconst_cname((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytput_codeYs*




	





	 cCsdS(N((Rtmodule_node((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytinject_tree_and_scope_intotsN(
R<R=R trequiresR�R�R�RyR�R�(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRvFs					tCStructOrUnionTypecBs�eZdZdZeZed�Zd�Zd�Z	d�Z
dddd�Zd�Z
d�Zd	�Zd
�Zd�Zd�Zd
�Zd�ZRS(icCs�||_||_||_||_||_|dk|_|jrzdtj|jf|_dtj|jf|_	nt
|_d|_
d|_||_dS(Ntstructs%s_to_py_%ss
%s_from_py_%s(R~R9tkindR�RbRlR�tconvert_func_prefixR�R�R�R�R t_convert_to_py_codet_convert_from_py_codetpacked(RR~R�R�RbR9R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s									cCs�|jdkrtS|jtkr&dS|jdkr�xJ|jjD]<}|jjsh|jj|�rBd|_t|_tSqBW|j	j
dk}t||�|_n|j|j�t
S(NR�(touter_scopeR RR�R�RR0R�R�R\R�RvR�R�(RRR�Rx((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s 		cCs�|jdkrtS|jtkr&dS|jdkr�xJ|jjD]<}|jjsh|jj|�rBd|_t|_tSqBWt	d|j
d�d|jjd|j�}tjddd|�|_n|j
|j�tS(Ntstruct_type_declR	RRtFromPyStructUtilitysTypeConversion.cR�(R�R RR�R�RR0R�R�RR
RR�R�R�(RRR�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s&
		cCsd|j|jd|jfS(Ns<CStructOrUnionType %s %s%s>R	s typedef(R	s typedef(R~R9Rb(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��sicCsb|s|r|j}n:|jr-|j}nd|j|jf}t||�}|j||�S(Ns%s %s(R~RbR9R�RyR(RRRERxR�R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
�s	cCs<y#t|t�o!|j|jkSWntk
r7tSXdS(N(R#R�R~tAttributeErrorR(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s

cCs-y|j|jkSWntk
r(tSXdS(N(R~R�R(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR2�s
cCst|j�t|j�AS(N(R�R9R�(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCs
|jdk	S(N(R�R (R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRS�scCs
|j�S(N(RS(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCsh|jj}t|�dkr"tS|\}}|jjog|jjog|jjd�|jjd�kS(NiR	(R�RR�RR0RUR
(RtfieldsR#tb((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytcan_be_complex�scCs6g|jjD]}|jj�^q
}t|�dS(Ni(R�RR0R[tmax(Rtxtchild_depths((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR[�s%cCs#|jr
|Stt|�j|�S(N(RlR�R�R(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s	N(R<R=RiRvR�R�RR�R�R�R�R R
R�R2R�RSR�R�R[R(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�xs 
											sstd::stringsstd::vectors	std::listsstd::setsstd::maps	std::pairtCppClassTypecBs�eZdZdZeZdZdZe	Z
e	ZdgZddd�Z
d�Zd�Zd�Zdd�Zd�Zd	dd	d
�Zd�Zd�Zd
�Zd�Zdd�Zdd�ZRS(iR�RcCs[||_||_||_||_g|_||_||_i|_|dk|_dS(Nsstd::string(	R~R9R�tbase_classest	operatorsRt
template_typetspecializationsRk(RR~R�R9R�RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s								cCsdS(N((Rt
from_or_to((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytuse_conversion_utilityscCs�|jdk	rtS|jtkr�d}g}dg}xt|jpIg�D]�\}}|jsr|j|�rvt	S|j
|j��|jdk	r�|j}|j
r�d|}n|j
d|jddt�|||jd�f�n*d}|j
d|||jd�f�|j
d	|||||j|f�qMW|jd
}d|dj|�f}	id
j|�d6|	d6}
ddlm}|j|j|ddd|
��|	|_tSdS(NtXYZABCscdef extern from *:s? %ss    ctypedef %s %s '%s'R	RER�s)    ctypedef struct %s '%s':
        passs.    cdef %s %s_from_py '%s' (object) except %sis__pyx_convert_%s_from_py_%st____s
ttemplate_type_declarationsR9i����(tCythonUtilityCodes.from_pysCppConvert.pyxR�(R�R R�R9tbuiltin_cpp_conversionsR*RRWR�RRRR�R�R
RRR�R�R�(RRtXttagstdeclarationstixtTR&tclsR9R�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�sB	"		
0#

#	cCsS|jdk	rtS|jtkrOd}g}dg}x�t|jpIg�D]{\}}|j|�sltS|j	|j
��|j	d|||jd�f�|j	d|||j||f�qMW|jd}d|dj|�f}id	j|�d
6|d6}	dd
l
m}
|j|
j|ddd|	��||_tSdS(NR�scdef extern from *:s)    ctypedef struct %s '%s':
        passR	s"    cdef object %s_to_py '%s' (%s)is__pyx_convert_%s_to_py_%sR�s
R�R9i����(R�s.to_pysCppConvert.pyxR�(R�R R�R9R�R*RR�RRRR
RRR�R�R�(RRR�R�R�R�R�R�R9R�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�Cs2	" 

#	cCs�|jdkr$t|d|�tSt|j�t|�krot|d|jt|j�t|�f�tS|jtt|j|���S(Ns'%s' type is not a templates/%s templated type receives %d arguments, got %d(	RR RRLR�R~R+Rtzip(RR�ttemplate_values((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytspecialize_here_s	#cCs|jr|jr|S|jdkr3g|_nt|j��}||jkr_|j|Sg|jD]}|j|�^qi}t|jd|j	g|d|�}|j|<g|j
D]}|j|�^q�|_
|jj|�|_|jdk	r|jj|�|_n|S(NR�(Rt	namespaceR ttupletitemsR�R+R�R~R9R�R�(RRBtkeyttR�tspecializedR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR+is%/(ic
Cs|jr�g|jD]}|jd|d|�^q}|rFd}nd}|dj|�}|ddkr�|d d}q�nd}|s�|r�d|j|f}	nPd|j|f}	|jdk	r�d	|jjd�|	f}	nt|	|�}	|j|	|�S(
NR	s[%s]s<%s>R"i����s>>s> >s%s%ss%s::%s(	RR
R RR~R9R�RyR(
RRRERxR�tparamttemplate_stringstbracketsRR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
|s"	+	cCs>|j|�rdSx$|jD]}|j|�rdSqWdS(Nii(RHR�R(RRIt
base_class((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�scCs�|jr�||krdS|j|jkr�|jr�|jr�|j|jkrSdSx6t|j|j�D]\}}|j|�sidSqiWdSndS(Nii(RjR9R�RR�RH(RRItt1tt2((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRH�s	"cCs&|tkrtS|jo%|j|�S(N(RLR�RjR(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRO�scCs
|jdk	S(N(R�R (R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCsl|g}|dk	r%|j|�n|jjd||�}|sGdS|j}|jre|j}n|jS(N(R RR�tlookup_operator_for_typesR0RYRR�(RRRtoperandstoperator_entryt	func_type((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s			sstack allocatedcCsQ|jjd�}|dk	rMtg|j��dkrMt|d|�ndS(Nu<init>s2C++ class must have a nullary constructor to be %s(R�RHR t
best_matchtall_alternativesR(RR�R�tconstructor((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytcheck_nullary_constructor�s'N(R<R=RjRvR�R�R R�R�RR�RbRR�R�R�R�R�R+R
RRHROR�RR�(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s*			%	
					
tTemplatePlaceholderTypecBsPeZd�Zdddd�Zd�Zd�Zd�Zd�Zd�Z	RS(	cCs
||_dS(N(R~(RR~((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��sicCs |r|jd|S|jSdS(NR(R~(RRRERxR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
�scCs||kr||S|SdS(N((RRB((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR+�scCs't|t�r|j|jkSdSdS(Ni(R#R�R~(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRH�scCs
t|j�S(N(R�R~(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��scCs?t|t�r"t|j|j�Stt|�t|��SdS(N(R#R�tcmpR~R0(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt__cmp__�scCs't|t�r|j|jkStSdS(N(R#R�R~R(RR1((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��sN(
R<R=R�R R
R+RHR�R�R�(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s					t	CEnumTypecBsSeZdZdZdZdZdZd�Zd�Zd�Z	dd	dd�ZRS(
ii����R�tPyInt_AsLongcCs(||_||_g|_||_dS(N(R~R9RBRb(RR~R9Rb((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s			cCs|jS(N(R~(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRG�scCsd|j|jd|jfS(Ns<CEnumType %s %s%s>R	s typedef(R	s typedef(R~R9Rb(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�
sicCsY|s|r|j}n1|jr-|j}n
d|j}t||�}|j||�S(Nsenum %s(R~RbR9RyR(RRRERxR�R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR

s	
N(R<R=RmR�R~R�R�R�RGR�R R
(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s			tUnspecifiedTypecBs)eZdZdddd�Zd�ZRS(iicCsdS(Ns
<unspecified>((RRRERxR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR

scCstS(N(R(RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRH
sN(R<R=R`R R
RH(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�
st	ErrorTypecBs\eZdZdZdZdZdZd�Zd�Zdd	dd�Z
d�Zd�ZRS(
iRitdummycCstS(N(R�(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�&
scCstS(N(R�(RR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�)
scCsdS(Ns<error>((RRRERxR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
,
scCsdS(Ni((RRI((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRH0
scCsdS(NR�((RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�3
sN(
R<R=RsR�R�R�R�R�R�R R
RHR�(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�
s			R�tshortR�R�R�RJtdoubleslong doubleiiiR�R�iitlg�?tPyGILState_STATEt
PyThreadStateR�t	Py_bufferR~tintegraltfloatingtnumerict__Pyx_Buf_DimInfot__Pyx_Buffert__Pyx_LocalBuf_NDt__pyx_memoryview_objtmemoryviewslicet__Pyx_memviewsliceR�tfloatcomplext
doublecomplexR{R�R�R�R�R�tssize_tR�R4cCsw|jrs|jt�rH|j}|jpG|joG||j|jkS|jt�rs|joo|j|jkSnt	S(N(
RbRKt
c_int_typeR�RmRTR~RKRUR(RPtdst_typetunsigned((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytis_promotion�
s	
		c	CsEt|�}g}g}x3|D]+}d}|j}	|	jrI|	j}	n|	js�|	jru|dk	rud|	}n|j||f�qnt|	j�}
|
|	j	}||ks�|	j
r7||
kr7|
|kr�|	j
r�|
}n#||krd|}n
d|
}d||f}|j||f�qn|j||	f�qWt|�dkrl|ddSt|�dkr�|dk	r�|d\}}
t|�dks�g|D]\}}||
kr�d^q�r�t||
�q�t|d�ndSg}g}i}x-t|�D]\}\}}	ddddg}x�t
tt|�t|	j���D]�}||j}|	j|j}|j|�}|r|jr|jr�|jd	kr�|j�tkr�t}n|j�}|r|j|�}|r|}||f||<qqn|r�||ks�|j|�rBq|	jrOPqt||�rq|d
cd7<q|jr�|js�|jr�|jr�|d
ct|j|j|j|j�d7<q|js�|dcd7<q|dcd7<qcd||f}|j||f�PqcW|j|||f�qW|r�|j�t|�dkr�|dd}|dd}||kr�|dk	r�t|d�ndSn|dd
}||kr�|r�||\}}||j||�||<n|S|dk	rAt|�dkr1t||dd�qAt|d�ndS(s�
    Given a list args of arguments and a list of functions, choose one
    to call which seems to be the "best" fit for this list of arguments.
    This function is used, e.g., when deciding which overloaded method
    to dispatch for C++ classes.

    We first eliminate functions based on arity, and if only one
    function has the correct arity, we return it. Otherwise, we weight
    functions based on how much work must be done to convert the
    arguments, with the following priorities:
      * identical types or pointers to identical types
      * promotions
      * non-Python types
    That is, we prefer functions where no arguments need converted,
    and failing that, functions where only promotions are required, and
    so on.

    If no function is deemed a good fit, or if two or more functions have
    the same weight, we return None (as there is no best match). If pos
    is not None, we also generate an error.
    R	sCalling non-function type '%s'sat least %ss
at most %ss9Call with wrong number of arguments (expected %s, got %s)iisno suitable method foundR6is$Invalid conversion from '%s' to '%s'sambiguous overloaded methodi����N( R�R0RYRRhRsR RR�RRRR*R+tminRQRWR5R~RAR�R;RKR R�RTRUtabsR~R�tsortt	coerce_to(R�t	functionsR�Rtactual_nargst
candidatesterrorstfunct
error_mesgR�t	max_nargst	min_nargstexpectationterrmsgtet
possibilitiest	bad_typestneeded_coercionsR�tscoreR-RPR�t
assignablet
c_src_typetscore1tscore2tfunctiontarg_itcoerce_to_type((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��
s�
			

	


=+
			

cCs�||kr|}n�|js'|jrTd�}tt||�||���}nr|jro|jrot}nW|j|jkr�|}n<|j|jkr�|}n!|j|jkr�|}n|}|S(NcSs|jr|jS|S(N(RVR�(tntype((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�xs	(RVR�twidest_numeric_typeRmR�R~R�(ttype1ttype2twidest_typeR�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�rs$							cCsa||kr|S|tks(|tkr>|jr>|jr>tSt||�}|dkr]tS|S(N(R�RbRft_spanning_typeR RL(R�R�t	span_type((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytindependent_spanning_type�s*cCsk||kr|S|tks(|tkr,tS|tksD|tkrHtSt||�}|dkrgtS|S(N(RfRR�R (R�R�R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt
spanning_type�scCs|jr|jrt||�S|jrM|jdkrM|jrMtt|�S|jr{|jdkr{|jr{t|t�S|jr�|jr�t||�S|js�|jr�tS|j	|�r�|jr�|j
�r�tS|S|j	|�r|jr|j
�rtS|SdSdS(NRJ(RbR�R5R~RKRXtwidest_extension_typeRWRfRQRgR (R�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR��s&
!
!

cCs�|j�s|j�rtSx_tr}|j|�r8|S|j|�rK|S|j|j}}|dksv|dkrtSqWdS(N(RgRfR�RNRR (R�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�s	cCstj|||f�S(N(tmodifiers_and_name_to_typetget(R�tlongnessR~((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt
simple_c_type�scCsd}|jd�r(t|d�}nD|jd�rJt|d�}n"|jd�rlt|d �}n|r|t|�Stdd|�}|r�|Sd}d}|dkr�d}nU|d	kr�d}n@|d
kr�d}n+|dkr�d}n|dkr
d}n|d
kr"d}n�|jd�rD|d}d}n2|jd�rv|jd�rv|d}d}nd}x8|jd�r�|jddd�j�}|d8}qWx8|jd�r�|jddd�j�}|d7}q�W|dkr|rd}nt|||�S(Ntp_iR$iR�i����iR�R�R�R�R�R�tuR�R�R	R�R�(R Rtparse_basic_typetendswithR�RRRF(R~R3t
basic_typeR�R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR
�sV
						
	
		cCs!|tkrtSt||�SdS(N(RLR(RR
((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyR�scCs|tkrtSt|�SdS(N(RLR�(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRscCs|tkrtSt|�SdS(N(RLR(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt
c_ref_typescCs|tkrtSt|�SdS(N(RLRq(R((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pytc_const_type scCs
|j|�S(N(RK(R�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt	same_type'scCs
|j|�S(N(RQ(R�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyRQ*scCs:||ks%|jr)t||�r)|S|j|�SdS(N(RWRQR(tto_typet	from_typeR((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyttypecast-s(�tCodeRRRR
R�R�tErrorsRR4RR@RyR�R}R�R2R:RCRcRnRqRuRzR|R}R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�RR�RRR�RTRZRdRKReRlRpR�RvR�R�R�R�R�R�R�R�R�t_rank_to_type_nameR�tRANK_INTt	RANK_LONGR�tUNSIGNEDR�RLtunspecified_typeRftc_void_typeRt
c_ushort_typetc_uint_typetc_ulong_typetc_ulonglong_typeRtc_short_typeR�tc_long_typetc_longlong_typeRt
c_sshort_typetc_sint_typetc_slong_typetc_slonglong_typetc_float_typeRKtc_longdouble_typetc_float_complex_typetc_double_complex_typetc_longdouble_complex_typetc_anon_enum_typetc_returncode_typeR�Rtc_py_ucs4_typetc_py_hash_t_typeR�tc_ssize_t_typet
c_size_t_typetc_null_ptr_typetc_void_ptr_typetc_void_ptr_ptr_typeR�tc_uchar_ptr_typetc_char_ptr_ptr_typetc_int_ptr_typetc_py_unicode_ptr_typetc_py_ssize_t_ptr_typetc_ssize_t_ptr_typetc_size_t_ptr_typeR�tc_gilstate_typeR tc_threadstate_typetc_threadstate_ptr_typetc_py_buffer_typetc_py_buffer_ptr_typetcy_integral_typetcy_floating_typetcy_numeric_typetc_buf_diminfo_typetc_pyx_buffer_typetc_pyx_buffer_ptr_typetc_pyx_buffer_nd_typetcython_memoryview_typetcython_memoryview_ptr_typetmemoryviewslice_typeRR�R�R�RRR�RRR
R�RR
RRRQR(((sM/opt/alt/python27/lib64/python2.7/site-packages/Cython/Compiler/PyrexTypes.pyt<module>s�r�	��MF>l|$$)B	>	:		[		�





						&f	/4D�Y			
			!2��'$
											
�							0