3
PO[Y              !   @   s  d dl mZ ddlmZmZ ddlmZ ddlmZ ddl	m
Z
 ddl	mZ ejdd	Zejd
d	ZejddZejddZejddZejddZdejddiZG dd deZG dd deZG dd deZG dd deZeddddddedddd ddedd!d!dddedd"d"d#ddedd$d$d%ejd&de
je
je
jd'e
jd$gddd(d)ged*d+ e
je
je
j fD  ed,d+ e
j!e
j"e
j#fD  edd-d-d.ejd/dd0ed1d-d2d3ejd4d	d0ed5d6d7d8ed9d-d-d:ed;d6d-d<ed=d-d-d>ed0ed=d6d-d?ed0ed=d@d-dAed0edBd@d-dCdDed0edDd@d-dCed0edDd6d-dEed0edFd6d2dGejdHdd0edId-dJdKedLd-d-dMejdNdd0edOd6d2dPedQd6d2dRedSd6d-dTedSd-d-dUedVd-dWdXedYdZd-d[ed\d-d-d]ed0ed\d6d-d^ed0g d_d` e
j$e
j%gD  dad` e
j&e
j'e
j(gD  edbd$d$dcejddde
je
j)e
jdee
j*d$gdfdgd)edhd@d-diedhd6d-djejdkdd0edld-d-dmednd-d-dodpdqedrd@d7dsedtd6d-dtedudZd-dued0g Z+dvdwg fdxdyg fdzd{g fd|d}g fd~dedddedde
j,dedde
j,dgfddeddddejddd0gfddg fddeddd2deddd-dejddd0gfdpdeddd2deddd-ddejdddgfddeddd2deddddgfddeddd2dgfddeddd2deddd7deddd7deddd7dejddd0eddd7dejddd0gfddeddd2deddd2deddd-dejddd0eddd-dejddd0eddd-dejddd0eddd-dejddd0eddd-dejddd0eddd-dejddd0eddd-dejddd0eddd-dejddd0eddd-dejddd0eddd7dejddd0eddddуgfddedԃedՃedփgfddeddd2deddd7dكeddd7dejddd0eddd7dejddd0eddd7deddd-dgfddg fddg fddg fgZ-e.dvddzd|d~ddddddddgZ/ddde
j0fde
j*fdVe
j1fde
j1fde
j2fde
j3fde
j4fde
j5fde
j5fde
j5fde
j6e
j1dfde
j0fgfddde
j,fde
j,fgfgZ7e Z8dd Z9i a:dd Z;dd Z<dd Z=e=  d$S )    )absolute_import   )BuiltinScopeStructOrUnionScope)UtilityCode)	Signature)
PyrexTypes)OptionsIterNextzObjectHandling.cGetAttrGetAttr3z
Builtins.cPyExecPyExecGlobalsGlobalsStopAsyncIterationzCoroutine.cc               @   s    e Zd ZdddZd	ddZdS )
_BuiltinOverride*NFc             C   sH   |||  | _ | _| _|| | _| _|| | _| _|
| _|	| _|| _	d S )N)
py_namecnamepy_equivargsret_type	func_typesigbuiltin_return_typeis_strict_signatureutility_code)selfr   r   r   r   r   r   r   r   r   r    r   g/home/psgendb/BIRCHDEV/lib-linux-x86_64/python/lib64/python3.6/site-packages/Cython/Compiler/Builtin.py__init__   s    z_BuiltinOverride.__init__c             C   sH   |d krt | j| j}d|_|j|}| jr2d|_| jrDt| j |_|S )NFT)	r   r   r   exception_checkfunction_typer   r   builtin_typesreturn_type)r   r   self_argr   r   r   r   build_func_type)   s    
z _BuiltinOverride.build_func_type)r   NNNFN)NN)__name__
__module____qualname__r    r&   r   r   r   r   r      s     
r   c               @   s   e Zd ZdddZdd ZdS )BuiltinAttributeNc             C   s    || _ |p|| _|| _|| _d S )N)r   r   field_type_name
field_type)r   r   r   r,   r+   r   r   r   r    6   s    
zBuiltinAttribute.__init__c             C   sH   | j d k	rtj| j j}n| jp$tj}|jj| j	| j
|d d}d|_d S )NprivateT)r+   builtin_scopelookuptyper,   r   py_object_typescopedeclarer   r   is_variable)r   	self_typer,   entryr   r   r   declare_in_type<   s
    
z BuiltinAttribute.declare_in_type)NNN)r'   r(   r)   r    r7   r   r   r   r   r*   5   s   
r*   c               @   s   e Zd Zdd ZdS )BuiltinFunctionc             C   s>   | j | j }}|d kr | j|}|j| j|| j| j| j d S )N)r   r   r&   declare_builtin_cfunctionr   r   r   r   )r   r2   r   r   r   r   r   declare_in_scopeG   s
    
z BuiltinFunction.declare_in_scopeN)r'   r(   r)   r:   r   r   r   r   r8   F   s   r8   c               @   s   e Zd Zdd ZdS )BuiltinMethodc             C   sZ   | j | j }}|d kr<tjd|d }d|_d|_| j||}|jj| j	|| j
| jd d S )N T)r   )r   r   r   CFuncTypeArgnot_noneaccept_builtin_subtypesr&   r2   r9   r   r   r   )r   r5   method_typer   r%   r   r   r   r7   P   s    zBuiltinMethod.declare_in_typeN)r'   r(   r)   r7   r   r   r   r   r;   O   s   r;   absdfabsT)r   ffabsfillabsN__Pyx_abs_longlongabs_longlongarg)r   nogil)r   r   c             c   sD   | ]<}t d dddj|j tj|tjd|dgddddV  qdS )rA   Nz/*abs_{0}*/rK   T)r   rL   )r   )r8   formatspecialization_namer   	CFuncTyper=   ).0tr   r   r   	<genexpr>n   s   rR   c             c   sD   | ]<}t d dddj|jtj|jtjd|dgddddV  qdS )rA   Nz__Pyx_c_abs{0}rK   T)r   rL   )r   )r8   rM   
funcsuffixr   rO   	real_typer=   )rP   rQ   r   r   r   rR   u   s   O__Pyx_PyNumber_Absolutepy_abs)r   callableb__Pyx_PyCallable_CheckCallableCheckdelattrOOrPyObject_DelAttrdirPyObject_DirdivmodPyNumber_Divmodexec__Pyx_PyExecGlobals__Pyx_PyExec2OOO__Pyx_PyExec3getattr3__Pyx_GetAttr3getattr__Pyx_GetAttrhasattr__Pyx_HasAttrHasAttrhashhPyObject_Hashintern__Pyx_InternIntern
isinstancePyObject_IsInstance
issubclassPyObject_IsSubclassiterPyCallIter_NewPyObject_GetIterlenzPyObject_Lengthlocalsr<   __pyx_localsnext__Pyx_PyIter_Next__Pyx_PyIter_Next2c             C   s8   g | ]0}t d dddtjtjtjd|dgdddqS )ordN__Pyx_long_castcT)r   )r   )r8   r   rO   c_long_typer=   )rP   c_typer   r   r   
<listcomp>   s   r   c             C   s8   g | ]0}t d dddtjtjtjd|dgdddqS )r   N__Pyx_uchar_castr   T)r   )r   )r8   r   rO   c_uchar_typer=   )rP   r   r   r   r   r      s   r   __Pyx_PyObject_Ord
object_ordr   z(long)(Py_UCS4)-1)exception_valuepowPyNumber_Power__Pyx_PyNumber_Power2pow2reloadPyImport_ReloadModulereprPyObject_Reprstr)r   setattrPyObject_SetAttr__Pyx_PyObject_Append__Pyx_Globalsr0   PyType_Typeint
PyInt_TypelongPyLong_TypefloatPyFloat_TypecomplexPyComplex_Typecval
Py_complex)r+   realz	cval.real)r,   imagz	cval.imag
basestringPyBaseString_TypejoinTOT__Pyx_PyBaseString_Join
StringJoinzStringTools.c	bytearrayPyByteArray_TypebytesPyBytes_Type__contains__PySequence_Contains__Pyx_PyBytes_JoinPyString_Type__Pyx_PyString_Join)r   r   unicodePyUnicode_TypePyUnicode_ContainsPyUnicode_JointuplePyTuple_TypelistPyList_TypeinsertTzOPyList_InsertreversePyList_Reverseappend__Pyx_PyList_Append
ListAppendz
Optimize.cextend__Pyx_PyList_Extend
ListExtenddictPyDict_TypePyDict_Containshas_keyitems__Pyx_PyDict_Itemspy_dict_itemskeys__Pyx_PyDict_Keyspy_dict_keysvalues__Pyx_PyDict_Valuespy_dict_values	iteritems__Pyx_PyDict_IterItemspy_dict_iteritemsiterkeys__Pyx_PyDict_IterKeyspy_dict_iterkeys
itervalues__Pyx_PyDict_IterValuespy_dict_itervalues	viewitems__Pyx_PyDict_ViewItemspy_dict_viewitemsviewkeys__Pyx_PyDict_ViewKeyspy_dict_viewkeys
viewvalues__Pyx_PyDict_ViewValuespy_dict_viewvaluesclear__Pyx_PyDict_Clearpy_dict_clearcopyPyDict_CopyslicePySlice_Typestartstopstepset
PySet_TypePySet_Cleardiscard__Pyx_PySet_Discardpy_set_discardremove__Pyx_PySet_Removepy_set_removeadd	PySet_Addpop	PySet_Pop	frozensetPyFrozenSet_Type	Exceptionz#((PyTypeObject*)PyExc_Exception)[0]z2((PyTypeObject*)__Pyx_PyExc_StopAsyncIteration)[0]bool	Py_bufferbufobjitemsizereadonlyndimrM   shapestrides
suboffsets
smalltable   internalc              C   s   xt D ]} | jt qW d S )N)builtin_function_tabler:   r.   )bfr   r   r   init_builtin_funcs  s    
r  c              C   s   xt D ]\} }}tj| }| dkr(d}nD| dkr6d}n6| dkrDd }n(| dkrRd}n| dkr`d}nd	| j  }tj| |||}|t| < x|D ]}|j| qW qW d S )
Nr  PySetObjectr   PyByteArrayObjectr  r  PyBaseExceptionObjectr   z
Py%sObject)builtin_types_tablebuiltin_utility_codeget
capitalizer.   declare_builtin_typer#   r7   )namer   methodsutilityobjstruct_cnamethe_typemethodr   r   r   init_builtin_types  s"    

r$  c           	   C   s\   xVt D ]N\} }}t| }x$|D ]\}}|j||d |dd qW tj| d|dd |d qW d S )NT)allow_pyobjectstructr   )r   )builtin_structs_tabler   declare_varr.   declare_struct_or_union)r  r   attribute_typesr2   attribute_nameattribute_typer   r   r   init_builtin_structs  s    
r-  c               C   s   t   t  t  tjdtjtjd ddd tjdj	a
tjdj	atjdj	atjdj	atjd	j	atjd
j	atjdj	atjdj	atjdj	atjdj	atjdj	atjdj	atjdj	atjdj	atjdj	ad S )N	__debug__z(!Py_OptimizeFlag)T)posr   is_cdefr0   r   r   r   r   r  r   r   r   r   r   r   r   r  r   )r-  r$  r  r.   r(  r   c_const_typec_bint_typer/   r0   	type_type	list_type
tuple_type	dict_typeset_typefrozenset_type
slice_type
bytes_typestr_typeunicode_typebasestring_typebytearray_type
float_type	bool_typecomplex_typer   r   r   r   init_builtins  s*    rB  )>
__future__r   Symtabr   r   Coder   	TypeSlotsr   r<   r   r	   loaditer_next_utility_codegetattr_utility_codegetattr3_utility_codepyexec_utility_codepyexec_globals_utility_codeglobals_utility_codeload_cachedr  objectr   r*   r8   r;   rO   c_longlong_typer=   r   c_uint_typec_ulong_typec_ulonglong_typec_float_complex_typec_double_complex_typec_longdouble_complex_typec_py_ucs4_typec_py_unicode_typec_char_typec_schar_typer   r   r1   r  c_double_typer  r   #types_that_construct_their_instancec_void_ptr_typec_py_ssize_t_typer2  
c_int_typec_char_ptr_typec_py_ssize_t_ptr_type
CArrayTyper'  r.   r  r#   r$  r-  rB  r   r   r   r   <module>   s   	p  F

























