bKc@sddlZddlmZddlmZmZddlZddlmZddl Z ddl m Z m Z m Z m Z mZmZmZddlZddlZddlmZddlmZmZmZdefd YZd efd YZd efd YZdefdYZdefdYZdefdYZdefdYZdefdYZ defdYZ!defdYZ"defdYZ#defdYZ$d efd!YZ%d"efd#YZ&d$efd%YZ'd&efd'YZ(d(efd)YZ)d*efd+YZ*d,efd-YZ+d.efd/YZ,d0e,fd1YZ-d2efd3YZ.d4efd5YZ/d6efd7YZ0d8efd9YZ1d:e1fd;YZ2d<e1fd=YZ3d>efd?YZ4d@efdAYZ5dBefdCYZ6dDe6fdEYZ7dFe6fdGYZ8dHefdIYZ9dJefdKYZ:dLefdMYZ;dNefdOYZ<iej=dP6ej>dQ6ej?dR6ej@dS6ZAdTefdUYZBdVefdWYZCdXeBfdYYZDdZeBfd[YZEd\eBfd]YZFd^efd_YZGieDdS6eEdR6eFdQ6ZHd`ZIdaefdbYZJdcefddYZKdeeKfdfYZLdgeKfdhYZMiejNdi6ejOdj6ejPdk6ejQdl6ejRdm6ejSdn6ejTdo6ejUdp6ejVdS6ejWdq6ejXdr6ejYds6ejZdt6ej[du6ej\dv6ej]dw6ej^dx6ej_dy6ej`dR6ejadz6d{d|6d}d~6ZbdZcdefdYZddedfdYZedeefdYZfdeefdYZgdeefdYZhdeefdYZideffdYZjdeefdYZkdefdYZldfdYZmdeemfdYZndeemfdYZoi eld6eld6efdw6efdz6efdq6efdt6efdy6egdS6ehdR6eidv6eedr6ejdu6ekdx6ZpdZqdefdYZrderfdYZsderfdYZtderfdYZuderfdYZvderfdYZwderfdYZxderfdYZyddgZzddgZ{ddiej|d6ej}d6gZ~ddgZddgZddgZddgZddgZdS(iN(tjoin(terrort InternalError(tNode(tpy_object_typet c_long_typettypecastt error_typetCPtrTypet CFuncTypetCOverloadedFuncType(tprint_call_chain(tdebug_disposal_codetdebug_temp_alloctdebug_coerciontExprNodecBseZdRZdZdZdRZdZdZdZ dZ dZ dZ dZ dRdZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dd Z'd!Z(dRd"Z)d#Z*dRd$Z+d%Z,d&Z-d'Z.d(Z/d)Z0d*Z1d+Z2d,Z3d-Z4i d.d/6d0d16d2d36d4d56d6d76d8d96d:d;6d<d=6d>d?6d@dA6dBdC6Z5dDZ6dEZ7dFZ8dGZ9dHZ:dIZ;dJZ<dKZ=dLZ>dMZ?dNZ@dOZAdPZBdQZCRS(SicCs-t|dtd|jj|fdS(Nsnot implementeds%s.%s not implemented(R Rt __class__t__name__(tselft method_name((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytnot_implementeds cCsdS(Ni((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt is_lvaluescCsdS(Ni((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytis_inplace_lvaluescCs|jjo|jS(N(ttypet is_pyobjecttis_temp(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt is_ephemeralscCs|jdkryg}xU|jD]J}t||}|rt|trY|j|qi|j|qqW||_n|jS(N(tsaved_subexpr_nodestNonetsubexprstgetattrt isinstanceRtappendtextend(Rtnodestnametitem((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt subexpr_nodess cCs%|jr|j}n |j}|S(N(Rt result_codetcalculate_result_code(RR&((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytresults   cCst||j|jS(N(RtctypeR((RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt result_asscCs |jtS(N(R*R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt py_resultscCs|jp|jS(N(t result_ctypeR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR)scCst|jddS(NsInvalid compile-time expression(Rtpos(Rtdenv((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytcompile_time_valuescCs$t|jd|jj|fdS(Ns(Error in compile-time expression: %s: %s(RR-RR(Rte((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytcompile_time_value_errors cCst|jddS(NsCannot assign to or delete this(RR-(Rtenv((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_target_declarationscCs(|j||j||jdS(N(t analyse_typestallocate_tempst check_const(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_const_expressions  cCs|j||j|dS(N(R4R5(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_expressionss cCs!|j||j||dS(N(tanalyse_target_typestallocate_target_temps(RR2trhs((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_target_expressions cCs-|j||j|}|j||S(N(R4tcoerce_to_booleanR5(RR2tbool((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_boolean_expressions  cCs<|j||j|}|j|}|j||S(N(R4R=tcoerce_to_tempR5(RR2R>t temp_bool((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_temp_boolean_expressions   cCs|j|dS(N(R4(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_as_functionscCsdS(N(R(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_as_module#scCsdS(N(R(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_as_extension_type(scOsdS(Ni((RR2targstkwds((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_as_cimported_attribute-scCs|jddS(NR4(R(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR42scCs|j|dS(N(R4(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR95scCs9|jr|j|nt|jdt|_dS(Ns%Invalid target for in-place operation(RR4RR-RR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_inplace_types8s cCs,|jr(|jjr(t|jdndS(Ns3Assignment of Python object not allowed without gil(tnogilRRRR-(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytgil_assignment_check?scCs|jdS(N(t not_const(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR6CscCst|jddS(Ns$Not allowed in a constant expression(RR-(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRLFscCs|jdS(N(taddr_not_const(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytcheck_const_addrIscCst|jddS(NsAddress is not constant(RR-(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRMLscCs&|jr"|jjr"|jndS(N(RJRRt gil_error(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt gil_checkOscCs|jS(N(R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytresult_in_tempUscCsFtr|GdGHn|j||r5|j|n|j|dS(NsAllocating target temps(R tallocate_subexpr_tempst release_temptrelease_subexpr_temps(RR2R;tinplace((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR:\s   cCstr|GdGHn|j||jj}|r`|j||jt|_|j|n|j||r|j|jn|j|dS(NsAllocating inplace target temps( R RRRRt allocate_tempRtinplace_resultRSRT(RR2R;t py_inplace((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytallocate_inplace_target_tempsfs     cCsLtr|GdGHn|j||j|||jrH|j|ndS(NsAllocating temps(R RRRVRRT(RR2R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR5us    cCs`tr|GdG|jGHnx@|jD]2}|r&trH|GdG|GHn|j|q&q&WdS(NsAllocating temps for:sAllocating temps for(R RR%R5(RR2tnode((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRRscCstr|GdGHn|r<|js0tdn||_nj|jr|j}|js|jrltj}n|j ||_n d|_tr|GdG|jGHqndS(NsAllocating tempsResult forced on non-temp nodesAllocated result( R RRR&Rtis_voidRt PyrexTypesRRVR(RR2R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRVs         cCs |jS(N(R'(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt target_codescCs|jddS(NR'(R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'scCsF|jr5tr"|GdG|jGHn|j|jn |j|dS(NsReleasing result(RR R&RSRT(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRSs  cCs1x*|jD]}|r |j|q q WdS(N(R%RS(RR2RZ((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRTscCs%x|jD]}|jq WdS(N(R%tmark_vars_used(RRZ((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR^scCs3|jjr/|j r/|j|jndS(N(RRRQt put_increfR+(Rtcode((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytmake_owned_referencescCs7|j||j||jr3|j|ndS(N(t generate_subexpr_evaluation_codetgenerate_result_codeRtgenerate_subexpr_disposal_code(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytgenerate_evaluation_codes   cCs(x!|jD]}|j|q WdS(N(R%Re(RR`RZ((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRbscCs|jddS(NRc(R(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcstPyNumber_InPlaceAdds+=tPyNumber_InPlaceSubtracts-=tPyNumber_InPlaceMultiplys*=tPyNumber_InPlaceDivides/=tPyNumber_InPlaceRemainders%=tPyNumber_InPlacePowers**=tPyNumber_InPlaceLshifts<<=tPyNumber_InPlaceRshifts>>=tPyNumber_InPlaceAnds&=tPyNumber_InPlaceXors^=tPyNumber_InPlaceOrs|=cCs|j|jf}|dkr1d|}n d|}|jd|j|j|||j|j|jf|jr|j|jn|j||j j r|jd|j|j j |j|jfndS(Ns**=s%s, %s, Py_Nones%s, %ss%s = %s(%s); if (!%s) %ssif (!__Pyx_TypeTest(%s, %s)) %s( R+tputlnRWtinplace_functionst error_gotoR-Rtput_decref_cleartgenerate_disposal_codeRtis_extension_typet typeptr_cname(RtoperatorR;R`RFtarg_code((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytgenerate_inplace_operation_codes&         cCsH|jr7|jjrD|j|j|jqDn |j|dS(N(RRRRtR+R)Rd(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRus  "cCs(x!|jD]}|j|q WdS(N(R%Ru(RR`RZ((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRdscCsC|jr2|jjr?|jd|jq?n |j|dS(Ns%s = 0;(RRRRqR(Rd(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytgenerate_post_assignment_code s  cCs|j|jtdS(N(RtRWR(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt%generate_inplace_result_disposal_codescCsdS(N((RR;R`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytgenerate_assignment_codescCsdS(N((RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytgenerate_deletion_code scCs|}|j}|j}|j}|jr|jjsHt||}n|jj|st|tst|||}qqnP|jjrt|||}n/|j|st |j d|j|fn|S(NsCannot assign type '%s' to '%s'( RRtCoerceToPyTypeNodet subtype_ofRtNoneNodetPyTypeTestNodetCoerceFromPyTypeNodetassignable_fromRR-(Rtdst_typeR2tsrctsrc_typetsrc_is_py_typetdst_is_py_type((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt coerce_to(s        cCs|jtj|S(N(RR\R(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytcoerce_to_pyobjectCscCsd|j}|js$|js$|jr1t||S|j r\|j r\t|jd|n|SdS(Ns%Type '%s' not acceptable as a boolean( RRtis_ptrtis_floattCoerceToBooleanNodetis_inttis_errorRR-(RR2R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR=Fs   cCs'|jjr|S|jtj|SdS(N(RRRR\R(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytcoerce_to_integerRs cCs!|jr|St||SdS(N(RQtCoerceToTempNode(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR@Ys cCs!|jr|S|j|SdS(N(t is_simpleR@(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytcoerce_to_simple`s cCs |jS(N(RQ(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRgsN(DRt __module__RR,tis_sequence_constructort is_attributeRRRRRRR%R(R*R+R)R/R1R3R7R8R<R?RBRCRDRERHR4R9RIRKR6RLRNRMRPRQR:RYR5RRRVR]R'RSRTR^RaReRbRcRrRzRuRdR{R|R}R~RRR=RR@RR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs                                                  tAtomicExprNodecBseZgZRS((RRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRost PyConstNodecBs,eZdZdZdZdZRS(cCsdS(Ni((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRyscCs t|_dS(N(RR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4|scCs|jS(N(tvalue(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'scCsdS(N((RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcs(RRRR4R'Rc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRvs   RcBseZdZdZRS(tPy_NonecCsdS(N(R(RR.((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/s(RRRR/(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRst EllipsisNodecBseZdZdZRS(t Py_EllipsiscCstS(N(tEllipsis(RR.((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/s(RRRR/(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRst ConstNodecBs;eZdZdZdZdZdZdZRS(icCsdS(Ni((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRscCsdS(N((RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4scCsdS(N((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR6scCs t|jS(N(tstrR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'scCsdS(N((RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcs(RRt is_literalRR4R6R'Rc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs     tNullNodecBseZejZdZRS(tNULL(RRR\tc_null_ptr_typeRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs tCharNodecBs#eZejZdZdZRS(cCs t|jS(N(tordR(RR.((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/scCs d|jS(Ns'%s'(R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR's(RRR\t c_char_typeRR/R'(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs  tIntNodecBseZejZdZRS(cCst|jdS(Ni(tintR(RR.((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/s(RRR\RRR/(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs t FloatNodecBs#eZejZdZdZRS(cCs t|jS(N(tfloatR(RR.((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/scCsGt|j}|dkrdS|dkr/dS|dkr?dS|SdS(NtnantNANtinftINFINITYs-infs (-INFINITY)(RR(Rtstrval((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR's   (RRR\t c_double_typeRR/R'(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs  t StringNodecBs>eZejZdZdZdZdZdZ RS(cCstd|jS(Ns"%s"(tevalR(RR.((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/scCsA|jr(|jj r(|j|}n|}tj|||S(N(RRtas_py_string_nodeRR(RRR2RZ((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRscCst|jdtd|jS(NRR(RR-RR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRscCs=|jjr$|j|j|_n|j|j|_dS(N(RRtget_py_string_constRR&tget_string_const(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRes cCs|jS(N(R&(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR's( RRR\tc_char_ptr_typeRR/RRReR'(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs     tLongNodecBs)eZdZdZdZdZRS(cCs t|jS(N(tlongR(RR.((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/ssConstructing Python long intcCs#t|_|j|d|_dS(Ni(RRRPR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4 s  cCsH|j}|jd|j|j|j|j|jfdS(Ns/%s = PyLong_FromString("%s", 0, 0); if (!%s) %s(R(RqRRsR-(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRes   (RRR/t gil_messageR4Re(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs  tImagNodecBs)eZdZdZdZdZRS(cCstd|jS(Ng(tcomplexR(RR.((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/ssConstructing complex numbercCs#t|_|j|d|_dS(Ni(RRRPR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4"s  cCsH|j}|jd|j|j|j|j|jfdS(Ns0%s = PyComplex_FromDoubles(0.0, %s); if (!%s) %s(R(RqRRsR-(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRe's   (RRR/RR4Re(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs  tNameNodecBs1eZdZd Zd ZdZdZdZdZ dZ dZ dZ dZ d Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZd dZdZdZdZ dZ!dZ"dZ#dZ$RS(!icCsCy|j|jSWn(tk r>t|jd|jnXdS(Ns"Compile-time name '%s' not defined(tlookupR#tKeyErrorRR-(RR.((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/>s cCsx|tkre|j}|jre|j}|rbt|jd|j}||_|j||Sqentj |||S(NR#( Rtentryt is_cfunctiont as_variableRR-R#tanalyse_rvalue_entryRR(RRR2Rt var_entryRZ((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRDs       cCs,|j|j}|r(|jr(|jSdS(N(RR#t as_moduleR(RR2R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRDTscCs<|j|j}|r4|jr4|jjr4|jSdSdS(N(RR#tis_typeRRvR(RR2R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRE\scCsC|j|j|_|js?|j|jt|j|_ndS(N(t lookup_hereR#Rt declare_varRR-(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR3es cCs|j||j|dS(N(t lookup_entryR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4js cCs@|j|j|_|js<|j|j|j|_ndS(N(RR#Rtdeclare_builtinR-(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRns cCs|j||jdS(N(t analyse_entrytfinish_analysing_lvalue(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR9ss cCs|j||jdS(N(RR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRIws cCsh|jjr&t|jd|jn2|jsXt|jd|jtj|_nd|j_ dS(Ns!Assignment to read-only name '%s'sAssignment to non-lvalue '%s'i( Rt is_readonlyRR-R#RR\RRtused(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR{s     cCs:|j||jjr)|j|n |j|dS(N(RRRtanalyse_constructor_entryR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRCs  cCsg|j}|j}|jr-|jj|_n6|jrF|j|nt|jd|t|_dS(Ns+Type '%s' not callable as a C++ constructor( RRtis_struct_or_uniontcplus_constructor_typeRRRR-R(RR2RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs    cCsZ|j||j}|jr+t|_n|js=|jrVd|_|j|ndS(Ni( RRtis_declared_genericRR,t is_pyglobalt is_builtinRRP(RR2R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs     s"Accessing Python global or builtincCsn|j|j}|j}|j}||_|r@||_n|jsR|jrj|jsjtdndS(Ns,Python global or builtin not a Python object( tcheck_identifier_kindRRR)R,RRRtAssertionError(RR2RRR)((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs      cCs|j}|jr*|jjr*||_n|jpK|jpK|jpK|js|jj rl|jj |_qt |j d|j ndS(Ns7'%s' is not a constant, variable or function identifier( RRRRvt type_entrytis_constt is_variableRRRRR-R#(RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs    cCsdS(Ni((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRscCsdS(N((RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytcalculate_target_resultsscCs,|j}|jp|js(|jndS(N(RRRRL(RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR6s cCs,|j}|jp|js(|jndS(N(Rt is_cglobalRRM(RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRNs cCs'|j}|jo&|jj o&|j S(N(RRRtis_arrayR(RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs   cCs |jS(N(R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRscCsdS(Ni((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRscCs2tj||||j}|r.d|_ndS(Ni(RRVRR(RR2R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRVs cCs|j}|sdS|jS(Ns(Rtcname(RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR's cCst|dst|j}|dkr.dS|jrJ|j|jn|js\|jr|jrqtj }n |j }|j }|j |jj }|jt|jd|||||j|jfndS(NRs'%s = __Pyx_GetName(%s, %s); if (!%s) %s(thasattrRRRt utility_codetuse_utility_codeRRtNamingtbuiltins_cnametnamespace_cnameR(tinternR#tget_name_interned_utility_codeRqRsR-(RR`Rt namespaceR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcs(        cCsW|j}|jj}|j|jj}|jd||||j|jfdS(Ns(if (PyObject_SetAttr(%s, %s, %s) < 0) %s(RRRR#RqRsR-(Rt value_codeR`RRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytgenerate_setattr_codes  cCs|j}|dkrdS|jr_|j|j|trOdGHdG|GHn|j|n|jjr|j ||j |jn|j d|j |j |jftrdGHdG|GHn|j|dS(Ns"NameNode.generate_assignment_code:s...generating disposal code fors%s = %s;s&...generating post-assignment code for(RRRRR+R RuRRRat put_decrefRqR(R*R)R{(RR;R`R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR} s"      , cCs|j}|dkrdS|jjr|j||j||||jrq|j|j||j |q|j |j t |j t|j}|jd|j|fn3|jd|j||jf|j|dS(Ns%s = %s;s %s %s %s;(RRRRRcRzRRRWR|RR+RR)RRqR(Ru(RRxR;R`Rtcast_inplace_result((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt generate_inplace_assignment_code!s      &cCsu|jdkrdS|jjs3t|jddS|j|jj}|jdtj ||j |jfdS(Ns0Deletion of local or C global name not supporteds$if (PyObject_DelAttr(%s, %s) < 0) %s( RRRRR-RR#RqRt module_cnameRs(RR`R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR~3s cCs|jrd|j_ndS(Ni(RR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR^@s N(%RRtis_nameRRRR/RRDRER3R4RR9RIRRCRRRRRRRR6RNRRRRVR'RcRR}RR~R^(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR1sD                         t BackquoteNodecBs)eZdgZdZdZdZRS(targcCsH|jj||jj||_t|_|j|d|_dS(Ni(RR4RRRRPR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4Ls   sBackquote expressioncCsN|j}|jd|j|jj|j|j|jfdS(Ns#%s = PyObject_Repr(%s); if (!%s) %s(R(RqRR+RsR-(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcUs    (RRRR4RRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyREs  t ImportNodecBs,eZddgZdZdZdZRS(t module_namet name_listcCsd|jj||jj||_|jrA|jj|nt|_|j|d|_dS(Ni(RR4RRRRRPR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4is   s Python importcCss|jr|jj}nd}|jt|j}|jd||jj|||j|jfdS(Nt0s&%s = __Pyx_Import(%s, %s); if (!%s) %s( RR+Rtimport_utility_codeR(RqRRsR-(RR`tname_list_codeR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcus    (RRRR4RRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR_s  t IteratorNodecBs)eZdgZdZdZdZRS(tsequencecCsH|jj||jj||_t|_|j|d|_dS(Ni(RR4RRRRPR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4s   sIterating over Python objectcCsB|j}|jd||jj||j|jfdS(Ns&%s = PyObject_GetIter(%s); if (!%s) %s(R(RqRR+RsR-(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcs  (RRRR4RRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs  tNextNodecBseZdZdZRS(cCs+|j|_||_t|_d|_dS(Ni(R-titeratorRRR(RRR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt__init__s   cCsx|j}|jd||jjf|jd||jd|j|j|jd|jddS(Ns%s = PyIter_Next(%s);s if (!%s) {sif (PyErr_Occurred()) %ssbreak;t}(R(RqRR+RsR-(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcs (RRRRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs t ExcValueNodecBs#eZdZdZdZRS(cCs&tj||t|_||_dS(N(RRRRtvar(RR-R2R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs cCs|jS(N(R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'scCsdS(N((RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcs(RRRR'Rc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs  tTempNodecBseZdZdZRS(cCs;tj||||_|jr.t|_nd|_dS(Ni(RRRRRR,R(RR-RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs    cCsdS(N((RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcs(RRRRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs t PyTempNodecBseZdZRS(cCstj||tj|dS(N(RRR\R(RR-R2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs(RRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRst IndexNodecBseZddgZdZdZdZdZdZdZddd Z d Z d Z d Z d Z dZdZdZdZdZdZRS(tbasetindexcCsW|jj|}|jj|}y ||SWn tk rR}|j|nXdS(N(RR/Rt ExceptionR1(RR.RRR0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/s  cCs |jjS(N(RR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRscCsdS(N((RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR3scCs|j|dddS(Ntgettingi(tanalyse_base_and_index_types(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4scCs|j|dddS(Ntsettingi(R(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR9scCs|j|dddddS(NRiR(R(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRI sicCsL|jj||jj||jj}|jr|jj}|joY|joY|jst|jj||_nt |_|j |d|_ n|jjj s|jjj r|jjj|_n&t|jd|jjtj|_|jjjr|jjtj||_n|jjjsHt|jd|jjndS(Nis'Attempting to index non-array type '%s'sInvalid index type '%s'(RR4RRRt is_sequenceRtsignedRRRPRRRt base_typeRR-R\RRtc_py_ssize_t_type(RR2RRtbtypetitype((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s.          sIndexing Python objectcCs|jj|jjdS(N(RRNRR6(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRN)s cCsdS(Ni((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR-scCsdS(Ni((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR0scCs d|jj|jjfS(Ns(%s[%s])(RR(R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'3sc Cs|jjr|jj}|jrO|jrO|jtd}|jj}nd}|jj}|j}|j d|||j j|||j |j fndS(Nt__Pyx_GetItemInttPyObject_GetItems%s = %s(%s, %s); if (!%s) %s( RRRRRRtgetitem_int_utility_codeR(R+RqRRsR-(RR`R tfunctiont index_codeR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc7s"     cCs|jj}|jrC|jrC|jtd}|jj}nd}|jj}|jd||j j|||j |j fdS(Nt__Pyx_SetItemInttPyObject_SetItemsif (%s(%s, %s, %s) < 0) %s( RRRRRtsetitem_int_utility_codeR(R+RqRRsR-(RRR`R RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytgenerate_setitem_codeKs   cCss|j||jjr2|j|j|n#|jd|j|jf|j||j|dS(Ns%s = %s;( RbRRRR+RqR(RdRu(RR;R`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR}\s   cCs|j||jjr\|j||j||||j|j||j|n3|jd|j ||j f|j ||j |dS(Ns %s %s %s;( RbRRRcRzRRWR|RqR(RuRd(RRxR;R`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRgs   & cCs|j||jjjrC|jjjrCd}|jj}nd}|jj}|jd||jj||j |j f|j |dS(NtPySequence_DelItemtPyObject_DelItemsif (%s(%s, %s) < 0) %s( RbRRRRRR(R+RqRsR-Rd(RR`RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR~ss  (RRRR/RR3R4R9RIRRRNRRR'RcRR}RR~(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs$              tSliceIndexNodecBseZdddgZdZdZdZdZdZdZd Z d Z d Z d Z d Z dZRS(RtstarttstopcCsdS(Ni((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRscCsl|jj|}|jj|}|jj|}y|||!SWn tk rg}|j|nXdS(N(RR/RRRR1(RR.RRRR0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/scCsdS(N((RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR3scCs|jj||jr,|jj|n|jrH|jj|n|jj||_tj}|jr|jj|||_n|jr|jj|||_nt|_ |j |d|_ dS(Ni( RR4RRRR\R RRRRPR(RR2tc_int((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4s       sSlicing Python objectc CsT|j}|jd||jj|j|j||j|jfdS(Ns1%s = PySequence_GetSlice(%s, %s, %s); if (!%s) %s(R(RqRR+t start_codet stop_codeRsR-(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcs    cCsE|jd|jj|j|j||j|jfdS(Ns/if (PySequence_SetSlice(%s, %s, %s, %s) < 0) %s(RqRR+RRRsR-(RRR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytgenerate_setslice_codes   cCsA|j||j|j||j||j|dS(N(RbRR(RdRu(RR;R`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR}s  cCs^|j||j||j||||j|j||j||j|dS(N(RbRcRzRRWR|Rd(RRxR;R`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs    cCs\|j||jd|jj|j|j|j|jf|j|dS(Ns+if (PySequence_DelSlice(%s, %s, %s) < 0) %s( RbRqRR+RRRsR-Rd(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR~s    cCs|jr|jjSdSdS(NR(RR((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs  cCs|jr|jjSdSdS(NtPY_SSIZE_T_MAX(RR((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs  (RRRRR/R3R4RRcRR}RR~RR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs      t SliceNodecBs8eZdZdddgZdZdZdZRS(cCsq|jj|}|jj|}|jj|}yt|||SWn tk rl}|j|nXdS(N(RR/RtsteptsliceRR1(RR.RRR!R0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/sRRR!cCs|jj||jj||jj||jj||_|jj||_|jj||_t|_|j|d|_dS(Ni( RR4RR!RRRRPR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4s  s Constructing Python slice objectc CsZ|j}|jd||jj|jj|jj||j|jfdS(Ns)%s = PySlice_New(%s, %s, %s); if (!%s) %s(R(RqRR+RR!RsR-(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc s    (RRR/RR4RRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s   tCallNodecBseZdZRS(cCs |jrt|jdndS(Ns*Calling gil-requiring function without gil(RJRR-(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRPs (RRRP(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR#stSimpleCallNodecBseZdddddgZd Zd Zd ZeZe d gZ dZ dZ dZ dZd Zd Zd ZRS( Rt coerced_selfRRFt arg_tuplecCsl|jj|}g|jD]}|j|^q}y||SWn tk rg}|j|nXdS(N(RR/RFRR1(RR.RRRFR0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/3s %cCs|j}d|_|j||js1|jr|j}|r|jsR|jrs|j|_ t |j |_q|j r|j o|j jo|j jjst|jdt|_ dSqqn&|j rt|jdt|_ dS|jj }|jr |j}n||_|jr|jrVt|jd|j|_|jj|n d|_d|_|jr|jr|jj |_ t|_n t|_ |j |d|_!nx|jD]}|j|qW|j"r|j#|_ |j r t$|j |_ n|j%r6|j&}|s6t|_ dSn|j r|jr|jdj }t |j j'|||_(|jj)d|j(qn|j*|dS(Nis4'new' operator can only be used on a C++ struct typesInvalid use of 'new' operatorRFi(+Rt is_calledRCRRRt is_cmethodtis_builtin_methodtobjRt CloneNodetis_newRRRtscopetis_cplusRR-RRR t function_typeRRFt TupleNodeR&R4RRRR,RPRRt return_typeRt is_overloadedtresolve_overloadingRR%tinserttanalyse_c_function_call(RR2Rt func_entryt func_typeRt expected_type((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4;sh                            cCs|j}g|jD]}|j^q}|jp:|jg}x6|D].}|j|rD|j|_||_|SqDWd}t|jd|||rt|jdx.|D]#}t|jd||jqWndS(NcSs&djg|D]}t|^q S(Ns, (RR(ttypesR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt display_typesss3No matching signature found for argument types (%s)sCandidates are:s(%s)( R/RFRt signaturestcplus_argless_constr_typet callable_withR1RR-(RR7Rt arg_typesR;t signatureR:((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR3s       cCs|j}|jsB|js2t|jd|ntj|_dSt|j }t|j }||ks|j r||krt |}|j rd|}nt|jd||fd|_ tj|_dSxDt |D]6}|j |j}|j |j|||j |s%s(%s)t,snew (RRRFRR/RtzipR*R R@R(RRR,(RR7t formal_argst arg_list_codet formal_argt actual_argRyR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRJs(    c Cs|jjrdS|j}|j}|jr|jrI|jj}nd}|jd||jj|||j |j fn(|j rg}|jjr|j d|nT|j }|j}|dk r|j d|j|fn|r |j dn|js|r|j}|j}|rqd|} |jrw|jjrwtt|j|}qwnd} |jd| |d j||j |j fqndS( NRs-%s = PyObject_CallObject(%s, %s); if (!%s) %ss!%ss%s == %ssPyErr_Occurred()s%s = ts%s%s; if (%s) %ss && (RRR/R(RR&R+RqRRsR-RR RCRDRRRJRRR( RR`R7R(Ryt exc_checkstexc_valt exc_checkR;tlhs((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcsN                N(RRRRRR%R&tFalseR,R R<R/R4R3R5R'RJRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR$ s   F  -  tGeneralCallNodecBs5eZddddgZdZdZdZRS(Rtpositional_argst keyword_argst starstar_argcCs|jj|}|jj|}|jj|}|jj|}y|j||||SWn tk r}|j|nXdS(N(RR/RXRYRZtupdateRR1(RR.RRXRYRZR0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/s cCs|j}|j||jj||jrB|jj|n|jr^|jj|n|jj||_|jj||_|jr|jj||_n|jr|jr|jj|_t |_ n t |_|j |d|_ dS(Ni( RR4RXRYRZRRRRRR,RPR(RR2R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4s"        cCs!|jr\|jr\|jd|jj|jj|j|jf|jj}n<|jrw|jj}n!|jr|jj}nd}|sd|jj|jjf}n%d|jj|jj|f}|j }|jd||||j|jfdS(Ns!if (PyDict_Update(%s, %s) < 0) %ssPyObject_CallObject(%s, %s)s)PyEval_CallObjectWithKeywords(%s, %s, %s)s%s = %s; if (!%s) %s( RYRZRqR+RsR-RRRXR((RR`t keyword_codet call_codeR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc1s6         (RRRR/R4Rc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRWs  t AsTupleNodecBs2eZdgZdZdZdZdZRS(RcCsG|jj|}yt|SWn tk rB}|j|nXdS(N(RR/ttupleRR1(RR.RR0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/Ys cCsH|jj||jj||_t|_|j|d|_dS(Ni(RR4RRRRPR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4`s   sConstructing Python tuplecCsB|j}|jd||jj||j|jfdS(Ns&%s = PySequence_Tuple(%s); if (!%s) %s(R(RqRR+RsR-(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcis  (RRRR/R4RRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR^Qs    t AttributeNodecBseZdZdgZejZdZdZ dZ dZ dZ dZ dZddZddd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!RS(iR*sicCs|j}|jdr<|jdr<|jd|dS|jj|}yt||SWn tk r}|j |nXdS(Nt__s6Invalid attribute name '%s' in compile-time expression( t attributet startswithtendswithRRR*R/RRR1(RR.tattrR*R0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/s  cCsdS(N((RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR3scCs|j|dddS(Nttargeti(R4(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR9scCsk|jj|}|rZ|j|j}|rZ|jrZ|j||j|dSn|j|dS(N(R*RDRRbRtmutate_into_name_nodeRR4(RR2t module_scopeR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRCs  cCsD|j||rdS| r0|j|r0dS|j||dS(N(RHtanalyse_as_unbound_cmethodtanalyse_as_ordinary_attribute(RR2Rf((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4s cCs|jj|}|r|j|j}|r|jsT|jsT|jsT|jr|j||jrs|rsn#|r|j |n |j |dSndS(Nii( R*RDRRbRRRRRgR9R(RR2Rft allow_typeRhR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRHs  cCs|jj|}|r|jj|j}|r|jrtj|jd|j |j f|j }d|_ |j |_ |j||j|dSndS(Ns%s->%sii(R*RER-RRbR(tSymtabtEntryR#t vtabptr_cnameRRRt func_cnameRgR(RR2RRt ubcm_entry((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRis      cCsS|jj|}|rO|j|j}|rO|jrO|jjrO|jSndS(N(R*RDRRbRRRvR(RR2RhR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyREs  cCsG|jj|}|rC|j|j}|rC|jrC|jSndS(N(R*RDRRbRR(RR2RhR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRDs  cCs.t|_|j|_||_|`|`dS(N(RRRbR#RR*(RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRgs    cCsz|jj||j||jrO|jjrO|j rOt|jdn|jrv|svd|_ t |_ qvndS(NsC method can only be calledi( R*R4tanalyse_attributeRR(R'RR-t is_py_attrRRR,(RR2Rf((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRjs   cCsd|_|j|_|jjjr<|jj||_n|jj}|jrf|j}d|_ n|j r{d|_ n d|_ |j rmd}|j r|jj|j}nt|jd|tj}||_|rm|j r|jdkrt|jdn|js |jr<|j|_|j|_dS|jrj|jrj|j|_t|_dSqmn|jrt|_d|_|j|n)|j st|jd||jfndS( Nis->t.s/Cannot select attribute of incomplete type '%s't __weakref__s,Illegal use of special attribute __weakref__is)Object of type '%s' has no attribute '%s'(!RrRbtmemberR*Rt is_stringRRR topRvthas_attributesRtattributes_knownR-RRR-R\RRR#RR(RR)R'RRRRRPR(RR2tobj_typeR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRqsP                       sAccessing Python attributecCs3|jr"|jp!|jjStj|SdS(N(R*RQRR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR7s cCs|jr dStj|SdS(Ni(R*RR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR=s cCs |jS(N(R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRCscCs'|jr|jjStj|SdS(N(R*RR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRFs  cCst|j}|j|j}|jrY|jjrYd|jj||j|jj|jfSd||j|jfSdS(Ns((struct %s *)%s%s%s)->%ss%s%s%s( R*R*RRR(tvtabstruct_cnameRwtvtabslot_cnameRu(RR*tobj_code((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'Ls cCsc|jr_|j}|j|j}|jd||jj|||j|jfndS(Ns*%s = PyObject_GetAttr(%s, %s); if (!%s) %s( RrR(RRbRqR*R+RsR-(RR`R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcVs   cCsH|j|j}|jd|jj|||j|jfdS(Ns(if (PyObject_SetAttr(%s, %s, %s) < 0) %s(RRbRqR*R+RsR-(RRR`R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRbs cCs|jj||jr?|j|j||j|nq|j}|jjr}|j ||j ||j n|j d||j |j f|j||jj|dS(Ns%s = %s;(R*ReRrRR+RuR(RRRaRR)RqR*R{(RR;R`t select_code((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR}ks     cCs|jj||j}|jjr|j||j||||jrt|j|j ||j |q|j ||j t |j t|j }|jd||fn-|jd|||jf|j||jj|dS(Ns%s = %s;s %s %s %s;(R*ReR(RRRcRzRrRRWR|RR)RRRqRu(RRxR;R`R~R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR|s      cCs|jj||jr]|j|j}|jd|jj||j|jfnt |jd|jj |dS(Ns$if (PyObject_DelAttr(%s, %s) < 0) %ss+Cannot delete C attribute of extension type( R*ReRrRRbRqR+RsR-RRu(RR`R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR~s  N("RRRRR\RRR&RRR'R/R3R9RCR4RHRiRERDRgRjRqRRRRRR'RcRR}RR~(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR`ss:        9      t SequenceNodecBs\eZdgZdZd ZdZdZdZdZ dZ dZ dZ RS( RFicCs#g|jD]}|j|^q S(N(RFR/(RR.R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytcompile_time_value_listscCs%x|jD]}|j|q WdS(N(RFR3(RR2R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR3scCssxMtt|jD]6}|j|}|j||j||j|         N( RRRRRRRR3R4R9R:RcR}(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs     R0cBs)eZdZdZdZdZRS(sConstructing Python tuplecCsD|j|}yt|SWn tk r?}|j|nXdS(N(RR_RR1(RR.tvaluesR0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/ s cCs|j}|jd|t|j||j|jfxltt|jD]U}|j|}|j}|js|j |n|jd|||fqTWdS(Ns!%s = PyTuple_New(%s); if (!%s) %ssPyTuple_SET_ITEM(%s, %s, %s);( R(RqR@RFRsR-RBR+RQR_(RR`R(RHRt arg_result((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s"     cCs%x|jD]}|j|q WdS(N(RFR{(RR`R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRd# s(RRRR/RRd(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR0 s  tListNodecBs)eZdZdZdZdZRS(sConstructing Python listcCs |j|S(N(R(RR.((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/0 scCs|j}|jd|t|j||j|jfxltt|jD]U}|j|}|j}|js|j |n|jd|||fqTWdS(Ns %s = PyList_New(%s); if (!%s) %ssPyList_SET_ITEM(%s, %s, %s);( R(RqR@RFRsR-RBR+RQR_(RR`R(RHRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR3 s       cCs%x|jD]}|j|q WdS(N(RFR{(RR`R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRdE s(RRRR/RRd(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR+ s  tDictNodecBs5eZdZdZdZddZdZRS(cCsog|jD]*\}}|j||j|f^q }yt|SWn tk rj}|j|nXdS(N(tkey_value_pairsR/tdictRR1(RR.tkeyRtpairsR0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/R s 7cCsg}xb|jD]W\}}|j||j||j|}|j|}|j||fqW||_t|_|j|d|_dS(Ni(RR4RR RRRPR(RR2t new_pairsRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4Z s     sConstructing Python dictcCsb|j||xK|jD]@\}}|j||j||j||j|qWdS(N(RVRR5RS(RR2R(RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR5i s    cCs|j}|jd|||j|jfx|jD]u\}}|j||j||jd||j|j|j|jf|j||j|q<WdS(Ns%s = PyDict_New(); if (!%s) %ss&if (PyDict_SetItem(%s, %s, %s) < 0) %s(R(RqRsR-RReR+Ru(RR`R(RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRes s"      N(RRR/R4RRR5Re(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRM s    t ClassNodecBs/eZdddgZdZdZdZRS(R#tbasestdoccCs|jj||jj||_|jj||jrf|jj||jj||_n|jj|_t|_ |j |d|_ dS(Ni( R#R4RRRt global_scopetqualified_nameRRRRPR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4 s   sConstructing Python classc Cs|j}|jrP|jd|jj|jj|j|jfn|jt|jd||j j|jj|j j|j ||j|jfdS(Ns3if (PyDict_SetItemString(%s, "__doc__", %s) < 0) %ss5%s = __Pyx_CreateClass(%s, %s, %s, "%s"); if (!%s) %s( R(RRqRR+RsR-Rtcreate_class_utility_codeRR#R(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc s"        (RRRR4RRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s  tUnboundMethodNodecBs)eZdgZdZdZdZRS(RcCs3|jj|t|_|j|d|_dS(Ni(RR4RRRPR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4 s  sConstructing an unbound methodcCsH|j}|jd||jj|j||j|jfdS(Ns)%s = PyMethod_New(%s, 0, %s); if (!%s) %s(R(RqRR+t class_cnameRsR-(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc s  (RRRR4RRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s  tPyCFunctionNodecBs eZdZdZdZRS(cCs5t|_|jj|_|j|d|_dS(Ni(RRRRRPR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4 s  sConstructing Python functioncCsK|j}|jd||j|j|j||j|jfdS(Ns/%s = PyCFunction_NewEx(&%s, 0, %s); if (!%s) %s(R(Rqtpymethdef_cnameRRRsR-(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc s (RRR4RRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s tnott~t-t+tUnopNodecBsYeZdgZdZdZdZdZdZdZdZ dZ RS( toperandcCsytj|j}|s2t|jd|jn|jj|}y||SWn tk rt}|j|nXdS(Ns3Unary '%s' not supported in compile-time expression( tcompile_time_unary_operatorstgetRxRR-RR/RR1(RR.tfuncRR0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/ s cCs\|jj||jrK|j|t|_|j|d|_n |j|dS(Ni( RR4tis_py_operationtcoerce_operand_to_pyobjectRRRPRtanalyse_c_operation(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4 s     cCs|jjdS(N(RR6(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR6! scCs |jjjS(N(RRR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR$ scCs|jj||_dS(N(RR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR' scCs<|jjjr|j|n|jr8|j|ndS(N(RRRtgenerate_py_operation_codeRtgenerate_c_operation_code(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc* s cCsQ|j}|j}|jd|||jj||j|jfdS(Ns%s = %s(%s); if (!%s) %s(tpy_operation_functionR(RqRR+RsR-(RR`RR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR1 s   cCsE|jjjs5t|jd|j|jjfntj|_dS(Ns"Invalid operand type for '%s' (%s)(RRRRR-RxR\R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt type_error< s ( RRRR/R4R6RRRcRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s      tNotNodecBs5eZdZdgZdZdZdZRS(cCsB|jj|}y | SWn tk r=}|j|nXdS(N(RR/RR1(RR.RR0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/H s  RcCs5|jj||jj||_tj|_dS(N(RR4R=R\t c_int_typeR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4Q scCsd|jjS(Ns(!%s)(RR((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'V scCsdS(N((RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcY s(RRR/RR4R'Rc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRC s     t UnaryPlusNodecBs)eZdZdZdZdZRS(RcCs|jj|_dS(N(RR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRb scCsdS(NtPyNumber_Positive((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRe scCs |jjS(N(RR((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'h s(RRRxRRR'(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR] s  tUnaryMinusNodecBs)eZdZdZdZdZRS(RcCs/|jjjr!|jj|_n |jdS(N(RRt is_numericR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRq scCsdS(NtPyNumber_Negative((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRw scCsd|jjS(Ns(-%s)(RR((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'z s(RRRxRRR'(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRl s  t TildeNodecBs#eZdZdZdZRS(cCs/|jjjr!|jj|_n |jdS(N(RRRR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR scCsdS(NtPyNumber_Invert((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR scCsd|jjS(Ns(~%s)(RR((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR' s(RRRRR'(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR~ s  t AmpersandNodecBs>eZdgZdZdZdZdZdZRS(RcCsu|jj||jj}|jp1|jjsE|jddS|jr_|jddStj||_dS(NsTaking address of non-lvalues&Cannot take address of Python variable( RR4RRRRRR\t c_ptr_type(RR2targtype((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4 s    cCs|jjdS(N(RRN(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR6 scCs)t|j|tj|_d|_dS(Ns(RR-R\RRR&(Rtmess((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s cCsd|jjS(Ns(&%s)(RR((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR' scCsdS(N((RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc s(RRRR4R6RR'Rc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s     cCst||d|d|S(NRxR(tunop_node_classes(R-RxR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt unop_node s t TypecastNodecBs>eZdgZdZdZdZdZdZRS(RcCs|jj|}|jj||\}|_|jjr[t|jdtj|_n|j j ||jj }|j jj }|r| r|j j rt|jdn|r| r|j j ||_ ndS(NsCannot cast to a function types2Casting temporary Python object to non-Python type(R tanalyset declaratorRRRR-R\RRR4RRR(RR2R t_tto_pytfrom_py((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4 s    cCs|jjdS(N(RR6(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR6 scCs%|j}|jj|j}|S(N(RRt cast_codeR((RtopndR&((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR' s cCsC|j r/|jr/|jjr/|jj|Stj||SdS(N(RRRRR*R(RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR* scCsI|jrE|jd|j|jjf|j|jndS(Ns%s = %s;(RRqR(RR+R_(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc s   (RRRR4R6R'R*Rc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s      t SizeofNodecBs;eZgZdZdZdZdZdZRS(cCsdS(N((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR6 scCs|j|tj|_dS(N(tanalyse_argumentR\t c_size_t_typeR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4 s cCs{|jrt|jdn?|jr8t|jdn#|js[t|jd|n|jd}d||_dS(Ns Cannot take sizeof Python objectsCannot take sizeof voids'Cannot take sizeof incomplete type '%s'RQs (sizeof(%s))(RRR-R[t is_completetdeclaration_codet sizeof_code(Rtarg_typeRy((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytanalyse_type_argument s   cCs|jS(N(R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR' scCsdS(N((RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc s(RRRR6R4RR'Rc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s    tSizeofTypeNodecBseZdZRS(cCs>|jj|}|jj||\}}|j|dS(N(R RRR(RR2R RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s(RRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR st SizeofVarNodecBseZdZRS(cCsd}|j}|j|ddrO|jjrld}|j|jjqln|jj||jj|sd|j|_ ndS(NiRkis (sizeof(%s))( RRHRRRRR4R^R(R(RR2RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR$ s   (RRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR st=t>tistis_nott&t/s//s<>t^cCs ||kS(N((txty((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytN stincCs ||kS(N((RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRO stnot_incCs6tj|j}|s2t|jd|jn|S(Ns4Binary '%s' not supported in compile-time expression(tcompile_time_binary_operatorsRRxRR-(RZR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytget_compile_time_binopR s  t BinopNodecBsSeZddgZdZdZdZdZdZdZdZ RS( toperand1toperand2cCsht|}|jj|}|jj|}y|||SWn tk rc}|j|nXdS(N(RRR/RRR1(RR.RRRR0((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/i s cCsl|jj||jj||jr[|j|t|_|j|d|_n |j |dS(Ni( RR4RRtcoerce_operands_to_pyobjectsRRRPRR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4r s     cCs|jjjp|jjjS(N(RRRR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR} scCs.|jj||_|jj||_dS(N(RRR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR scCs|jj|jjdS(N(RR6R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR6 s c Cs|jjjr|j}|dkr0d}nd}|j}|jd|||jj|jj|||j|j fn|j r|j |ndS(NtPyNumber_Powers , Py_NoneRQs%s = %s(%s, %s%s); if (!%s) %s( RRRRR(RqR+RRsR-RR(RR`Rt extra_argsR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc s"       cCs]|jjjp|jjjsMt|jd|j|jj|jjfntj|_dS(Ns'Invalid operand types for '%s' (%s; %s)( RRRRRR-RxR\R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s  ( RRRR/R4RRR6RcR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRZ s     t NumBinopNodecBseZdZdZdZdZdZi dd6dd6d d 6d d 6d d6dd6dd6dd6dd6dd6dd6ZRS(cCs|jj}|jj}|jdkrV|jrV|jrVt|jdt|_dS|j|||_|js|j ndS(Ns**s$** with two C int types is ambiguous( RRRRxRRR-Rtcompute_c_result_typeR(RR2ttype1ttype2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s  !  cCs*|j||r"tj||SdSdS(N(t c_types_okayR\twidest_numeric_typeR(RRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR scCs"|js|jo!|jp!|jS(N(Rtis_enum(RRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR scCs&d|jj|j|jjfS(Ns (%s %s %s)(RR(RxR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR' s cCs|j|jS(N(t py_functionsRx(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR st PyNumber_OrRt PyNumber_XorRt PyNumber_AndRtPyNumber_Lshifts<>t PyNumber_AddRtPyNumber_SubtractRtPyNumber_MultiplyRtPyNumber_DivideRtPyNumber_RemainderRRs**(RRRRRR'RR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s"    t IntBinopNodecBseZdZRS(cCs"|js|jo!|jp!|jS(N(RR(RRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s(RRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR stAddNodecBseZdZdZRS(cCs3|jjjr"|jjjr"dStj|SdS(Ni(RRRvRRR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR scCsg|js|jr(|js$|jr(|S|js:|jrP|jsL|jrP|Stj|||SdS(N(RRRRRR(RRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s $$(RRRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s tSubNodecBseZdZRS(cCsj|js|jr(|js$|jr(|S|js:|jrS|jsL|jrStjStj|||SdS(N(RRRRR\RRR(RRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s $$(RRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR stMulNodecBseZdZRS(cCsQ|jj}|jj}|jr*|js<|jr@|jr@dStj|SdS(Ni(RRRRvRRR(RRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s   (RRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR stModNodecBseZdZRS(cCs+|jjjp*|jjjp*tj|S(N(RRRvRRR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s(RRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR stPowNodecBs#eZdZdZdZRS(cCsd|_tj||dS(Ni(tpow_function_usedRR4(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4 s cCs!|j||rtjSdSdS(N(RR\RR(RRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR! scCs d|jj|jjfS(Ns pow(%s, %s)(RR(R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'' s(RRR4RR'(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s  t BoolBinopNodecBsyeZdZdddgZdZdZdZddZdZ dZ id d 6d d 6Z d Z dZ RS(RRRAcCsW|jdkr1|jj|o0|jj|S|jj|pR|jj|SdS(Ntand(RxRR/R(RR.((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/8 s cCs |jj||jj||jjjs>|jjjr|jj||_|jj||_t|jtj ||_ t |_|j |n6|jj ||_|jj ||_tj |_|jj||_|jj||_d|_dS(Ni(RR4RRRRRR-R\RRARRPR=R@R(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4@ s    sTruth-testing Python objectcCsl|j|||jj||j|jrR|jj||jj|n|jj||jdS(N(RVRR5R&RARSR(RR2R&((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR5W s  cCs|jj|jjdS(N(RR6R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR6m s cCs-d|jj|j|j|jjfS(Ns (%s %s %s)(RR(t py_to_c_opRxR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'q s  s&&Rs||torcCs|jj||j|}|jdkr7d}nd}|jd||f|jj||jj||jddS(NRRQt!s if (%s%s) {R(RRetgenerate_operand1_testRxRqRuR(RR`t test_resulttsense((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRey s  cCsc|jjrP|jj}|jd||jj||j|jfn|jj}|S(Ns(%s = PyObject_IsTrue(%s); if (%s < 0) %s( RRRAR(RqRR+RsR-(RR`R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s  N(RRRRARR/R4RR5R6R'RReR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR, s      tCmpNodecBs>eZdZdZdZdZdZdZRS(cCst|}|jj|}y|||}Wn&tk rY}|j|d}nX|r|j}|r|o|j||}qn|S(N(RRR/RR1Rtcascade(RRR.RRR(R0R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pytcascaded_compile_time_value s    cCs1|jp0|jr$|jjp0|jdkS(NRR(sinR(thas_python_operandsRtis_python_comparisonRx(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR  s cCsB|j|||s>t|jd|j|j|jfndS(NsInvalid types for '%s' (%s, %s)(t types_okayRR-RxR(RR2RRwR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt check_types s cCs|j}|j}|js$|jr(dS|jr5dS|jsG|jr~|jp}|jp}|jsk|jo}|jj|jS|jr|js|j r|j s|j|s|j r|j r|dkrdSdSdS(NiRRi(sissis_not( RRRRRt is_null_ptrR tsame_asRRR(RRRwRRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR  s    ! c Cs|dks|dkry|jd||j|j||j|jf|dkr|jd||fqn |jjr|d kr|jd|j|j||j|jf|jd|||fn|j}|j}|js|jrD|jj|j rD|j t }|j t } n|j }|j } |jd |||j || fdS( NRRs0%s = PySequence_Contains(%s, %s); if (%s < 0) %ss %s = !%s;RRs%if (PyObject_Cmp(%s, %s, &%s) < 0) %ss %s = %s %s 0;s%s = %s %s %s;(sissis_not( RqR+RsR-RRRvR)RR*RR(t c_operator( RR`R(RRwRRRtcode1tcode2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR sH             cCs(|dkrdS|dkr dS|SdS(NRs==Rs!=((RRw((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s   (RRR R R R RR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s      )tPrimaryCmpNodecBsqeZd ZdZdZdZdZdZdZ dZ dZ dZ d Z d ZRS( cCs"|jj|}|j||S(N(RR/R (RR.R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR/ scCs|jj||jj||jrB|jj||jn|j|_|jrj|j|n|jr|jj||_|jj|n|j |t j |_ |js|jrd|_ ndS(Ni(RR4RRR tis_pycmpRRt coerce_cascaded_operands_to_temptcheck_operand_typesR\RRR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4 s     cCsE|j||j|j|j|jrA|jj||jndS(N(R RRxRRR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s  cCs|jjjp|jjjS(N(RRRR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR # scCsJ|jj||_|jj||_|jrF|jj|ndS(N(RRRRR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR' s cCs@|jj||jj||jr<|jj|ndS(N(RR5RRRR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRR- s cCs@|jj||jj||jr<|jj|ndS(N(RRSRRRT(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRT3 s cCs4|jj|jj|jr0|jndS(N(RR6RRRL(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR69 s   cCs/d|jj|j|j|jjfS(Ns (%s %s %s)(RR(RRxR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'? s cCs|jj||jj||jr|j}|j|||j|j|j|jr||jj|||jn|jj||jj|ndS(N( RReRRR(RRxRRu(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyReE s     cCs$|jj||jj|dS(N(RRuR(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRdR sN(RRRRR/R4RR RRRRTR6R'ReRd(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s          tCascadedCmpNodecBsVeZdZdZdZdZdZdZdZ dZ dZ RS( cCs6|jj||jr2|jj||jndS(N(RR4R(RR2R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR4e s cCsB|j|||j|j|jr>|jj||jndS(N(R RxRRR(RR2R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRj s  cCs |jjjS(N(RRR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR p scCs5|jj||_|jr1|jj|ndS(N(RRRR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs s cCs5|jr1|jj||_|jj|ndS(N(RRRR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRx s cCs0|jj||jr,|jj|ndS(N(RR5RRR(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRR~ s cCs0|jj||jr,|jj|ndS(N(RRSRRT(RR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRT s cCs|jd||jj||j||||j|j|jre|jj|||jn|jj||jddS(Ns if (%s) {R(RqRReRRxRRu(RR`R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRe s   N( RRRRR4RR RRRRRTRe(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRY s        RRcCs t||d|d|d|S(NRxRR(tbinop_node_classes(R-RxRR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyt binop_node s t CoercionNodecBseZdgZdZRS(RcCs2|j|_||_tr.|GdG|jGHndS(NtCoercing(R-RR(RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s  (RRRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s tCastNodecBs#eZdZdZdZRS(cCstj||||_dS(N(RRR(RRtnew_type((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR scCs|jj|jS(N(RR*R(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR' scCs|jj|dS(N(RRc(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc s(RRRR'Rc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s  RcBsDeZdZdZdZdZdZdZdZRS(cCsN|jstdtj||||_|j|_|j|dS(Ns PyTypeTest on non extension type(RvRRRRR)R,RP(RRRR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s  sPython type testcCs |jjS(N(RRQ(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRQ scCs |jjS(N(RR(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR scCs |jjS(N(RR((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR' scCsh|jjrT|jt|jd|jj|jj|j|j fnt |j ddS(Nsif (!__Pyx_TypeTest(%s, %s)) %ssICannot test type of extern C class without type object name specification( Rttypeobj_is_availableRttype_test_utility_codeRqRR+RwRsR-R(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc s   cCs|jj|dS(N(RR{(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR{ s( RRRRRQRR'RcR{(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s     RcBs eZdZdZdZRS(cCsYtj||t|_|j|d|_|jjsUt|jd|jndS(Nis$Cannot convert '%s' to Python object( RRRRRPRtto_py_functionRR-(RRR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs     sConverting to Python objectcCsT|jjj}|j}|jd|||jj||j|jfdS(Ns%s = %s(%s); if (!%s) %s(RRR R(RqRsR-(RR`RR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc s   (RRRRRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR s RcBseZdZdZRS(cCsttj||||_d|_|jsBt|jd|n|jjrp|jj rpt|jdndS(Nis$Cannot convert Python object to '%s's,Obtaining char * from temporary Python value( RRRRtfrom_py_functionRR-RvRR(Rt result_typeRR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs     cCs|jj}|jj}d||f}|jjrOt|jt|}n|j}|jjrtd|}nd}|j d||||j |j fdS(Ns%s(%s)s!%ssPyErr_Occurred()s%s = %s; if (%s) %s( RR!RR+RRRR(RvRqRsR-(RR`RRR;R(terr_code((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRc's      (RRRRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRs RcBs2eZdZdZdZdZdZRS(cCsNtj||tj|_|jjrJ|jr>|jnd|_ndS(Ni( RRR\RRRRJROR(RRR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR=s     sTruth-testing Python objectcCs'|jr|jn|jjdS(N(RRLRR6(R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR6Gs  cCsd|jjS(Ns (%s != 0)(RR((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'LscCsT|jjjrP|j}|jd||jj||j|jfndS(Ns(%s = PyObject_IsTrue(%s); if (%s < 0) %s(RRRR(RqR+RsR-(RR`R(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcOs  (RRRRR6R'Rc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR9s    RcBs eZdZdZdZRS(cCsQtj|||jj|_d|_|jjrM|j|t|_ndS(Ni( RRRRRRRPRR,(RRR2((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR_s    s#Creating temporary Python referencecCsU|jd|j|jj|jf|jjrQ|j|jndS(Ns%s = %s;( RqR(RR*R)RRR_R+(RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcjs & (RRRRRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRZs R+cBs2eZgZdZdZdZdZRS(cCs,tj|||j|_|j|_dS(N(RRRR,(RR((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR}s cCs |jjS(N(RR((R((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR'scCsdS(N((RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRescCsdS(N((RR`((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyRcs(RRRRR'ReRc(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyR+ss    sG static PyObject *__Pyx_GetName(PyObject *dict, char *name); /*proto*/ s static PyObject *__Pyx_GetName(PyObject *dict, char *name) { PyObject *result; result = PyObject_GetAttrString(dict, name); if (!result) PyErr_SetString(PyExc_NameError, name); return result; } sK static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ s static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { PyObject *result; result = PyObject_GetAttr(dict, name); if (!result) PyErr_SetObject(PyExc_NameError, name); return result; } sO static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ sw static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) { PyObject *__import__ = 0; PyObject *empty_list = 0; PyObject *module = 0; PyObject *global_dict = 0; PyObject *empty_dict = 0; PyObject *list; __import__ = PyObject_GetAttrString(%(BUILTINS)s, "__import__"); if (!__import__) goto bad; if (from_list) list = from_list; else { empty_list = PyList_New(0); if (!empty_list) goto bad; list = empty_list; } global_dict = PyModule_GetDict(%(GLOBALS)s); if (!global_dict) goto bad; empty_dict = PyDict_New(); if (!empty_dict) goto bad; module = PyObject_CallFunction(__import__, "OOOO", name, global_dict, empty_dict, list); bad: Py_XDECREF(empty_list); Py_XDECREF(__import__); Py_XDECREF(empty_dict); return module; } tBUILTINStGLOBALSsl static PyObject *__Pyx_UnpackItem(PyObject *); /*proto*/ static int __Pyx_EndUnpack(PyObject *); /*proto*/ sA static void __Pyx_UnpackError(void) { PyErr_SetString(PyExc_ValueError, "unpack sequence of wrong size"); } static PyObject *__Pyx_UnpackItem(PyObject *iter) { PyObject *item; if (!(item = PyIter_Next(iter))) { if (!PyErr_Occurred()) __Pyx_UnpackError(); } return item; } static int __Pyx_EndUnpack(PyObject *iter) { PyObject *item; if ((item = PyIter_Next(iter))) { Py_DECREF(item); __Pyx_UnpackError(); return -1; } else if (!PyErr_Occurred()) return 0; else return -1; } sI static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ sp static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { if (!type) { PyErr_Format(PyExc_SystemError, "Missing type object"); return 0; } if (obj == Py_None || PyObject_TypeCheck(obj, type)) return 1; PyErr_Format(PyExc_TypeError, "Cannot convert %s to %s", obj->ob_type->tp_name, type->tp_name); return 0; } so static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, char *modname); /*proto*/ s static PyObject *__Pyx_CreateClass( PyObject *bases, PyObject *dict, PyObject *name, char *modname) { PyObject *py_modname; PyObject *result = 0; py_modname = PyString_FromString(modname); if (!py_modname) goto bad; if (PyDict_SetItemString(dict, "__module__", py_modname) < 0) goto bad; result = PyClass_New(bases, dict, name); bad: Py_XDECREF(py_modname); return result; } sI static PyObject *__Pyx_GetItemInt(PyObject *o, Py_ssize_t i); /*proto*/ s| static PyObject *__Pyx_GetItemInt(PyObject *o, Py_ssize_t i) { PyTypeObject *t = o->ob_type; PyObject *r; if (t->tp_as_sequence && t->tp_as_sequence->sq_item) r = PySequence_GetItem(o, i); else { PyObject *j = PyInt_FromLong(i); if (!j) return 0; r = PyObject_GetItem(o, j); Py_DECREF(j); } return r; } sP static int __Pyx_SetItemInt(PyObject *o, Py_ssize_t i, PyObject *v); /*proto*/ s static int __Pyx_SetItemInt(PyObject *o, Py_ssize_t i, PyObject *v) { PyTypeObject *t = o->ob_type; int r; if (t->tp_as_sequence && t->tp_as_sequence->sq_item) r = PySequence_SetItem(o, i, v); else { PyObject *j = PyInt_FromLong(i); if (!j) return -1; r = PyObject_SetItem(o, j, v); Py_DECREF(j); } return r; } (RxtstringRtErrorsRRRtNodesRR\RRRRRR R RltOptionstPyrex.DebuggingR t DebugFlagsR R RRRRRRRRRRRRRRRRRRRRRRRRR R#R$RWR^R`RR0RRRRRtnot_tinvtnegR-RRRRRRRRRRRRRtlttleteqtnetgetgttis_Rtaddtand_tdivtfloordivtlshifttmodtmultor_tpowtrshifttsubtxorRRRRRRRRRRRRRRRRRRRRRRRR+tget_name_utility_codeRRRRRRRRR(((s</usr/lib/python2.7/site-packages/Pyrex/Compiler/ExprNodes.pyts&   4  \   (&  g+M"/b("<0     F!  4                        N1    la`<  *!!!  ! .