ó
C]c           @   s	  d  d l  Z  d  d l m Z d  d l m Z e j Z d e f d „  ƒ  YZ e  j	 ƒ  Z
 d „  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z e ƒ  Z  e ƒ  Z! e ƒ  Z" e ƒ  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 Z0 d e1 f d „  ƒ  YZ2 d e1 f d „  ƒ  YZ3 d e j4 f d „  ƒ  YZ4 d e j5 f d „  ƒ  YZ5 i d e 6d e 6d e 6d e 6d  e 6d! e 6Z6 i d e 6d e 6d  e 6d! e 6Z7 i d e 6d  e 6d! e 6d e 6d e 6d e 6d" e 6Z8 i d e 6d  e 6d! e 6d e  6d e! 6d e" 6d# e# 6Z9 d$ e j: f d% „  ƒ  YZ; d& e j< f d' „  ƒ  YZ< d( e1 f d) „  ƒ  YZ= d* e j> f d+ „  ƒ  YZ> d S(,   iÿÿÿÿN(   t   ir(   t   bindingt   LLVMExceptionc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyR   	   s   c           C   s
   t  t ƒ S(   N(   t   nextt   _icmp_ct(    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   <lambda>   t    s	   llvm.fabss   llvm.exps   llvm.logs
   llvm.log10s   llvm.sins   llvm.coss	   llvm.powis   llvm.pows
   llvm.floort   externalt   internalt   linkonce_odrt	   nocapturet   Typec           B   s‰   e  Z e d  d „ ƒ Z e d „  ƒ Z e d „  ƒ Z e d d „ ƒ Z e e d „ ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 e d	 „  ƒ Z RS(
   i    c         C   s   t  j |  ƒ S(   N(   R    t   IntType(   t   width(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   int<   s    c           C   s
   t  j ƒ  S(   N(   R    t	   FloatType(    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   float@   s    c           C   s
   t  j ƒ  S(   N(   R    t
   DoubleType(    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   doubleD   s    i    c         C   s   t  j |  | ƒ S(   N(   R    t   PointerType(   t   tyt	   addrspace(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   pointerH   s    c         C   s   t  j |  | d | ƒS(   Nt   var_arg(   R    t   FunctionType(   t   rest   argsR   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   functionL   s    c         C   s   t  j |  ƒ S(   N(   R    t   LiteralStructType(   t   members(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   structP   s    c         C   s   t  j |  | ƒ S(   N(   R    t	   ArrayType(   t   elementt   count(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   arrayT   s    c           C   s
   t  j ƒ  S(   N(   R    t   VoidType(    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   voidX   s    (   R   R   t   staticmethodR   R   R   R   t   FalseR   R    R$   R&   (    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyR   ;   s   t   Constantc           B   s¼   e  Z e d  „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 e d „  ƒ Z e d	 „  ƒ Z e d
 „  ƒ Z e d „  ƒ Z RS(   c         C   sB   t  |  t j ƒ r2 t j |  t d |  j d ƒ ƒ St |  ƒ ‚ d  S(   Nt   1i   (   t
   isinstanceR    R   R)   R   R   t   NotImplementedError(   R   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   all_ones^   s     c         C   s   t  j |  | ƒ S(   N(   R    R)   (   R   t   n(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyR   e   s    c         C   s   t  j |  | ƒ S(   N(   R    R)   (   R   R.   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   int_signextendi   s    c         C   s   t  j |  | ƒ S(   N(   R    R)   (   R   R.   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   realm   s    c         C   s   t  j j |  ƒ S(   N(   R    R)   t   literal_struct(   t   elems(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyR    q   s    c         C   s   t  j |  d  ƒ S(   N(   R    R)   t   None(   R   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   nullu   s    c         C   s   t  j |  t  j ƒ S(   N(   R    R)   t	   Undefined(   R   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   undefy   s    c         C   sk   t  |  ƒ d } t d | j d ƒ ƒ } d | d <|  j d ƒ | d *t j t j t j d ƒ | ƒ | ƒ S(   Ni   t    t   asciii    iÿÿÿÿs   utf-8i   (   t   lent	   bytearrayt   encodeR    R)   R!   R   (   t   stringR.   t   buf(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   stringz}   s
    
c         C   s"   t  j t  j |  t | ƒ ƒ | ƒ S(   N(   R    R)   R!   R9   (   t   typt   val(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyR$   …   s    c         C   s   |  j  | ƒ S(   N(   t   bitcast(   t   constR?   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyRA   ‰   s    c         C   s   |  j  | ƒ S(   N(   t   inttoptr(   RB   R?   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyRC      s    c         C   s   |  j  | ƒ S(   N(   t   gep(   RB   t   indices(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyRD   ‘   s    (   R   R   R'   R-   R   R/   R0   R    R4   R6   R>   R$   RA   RC   RD   (    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyR)   ]   s   t   Modulec           B   sA   e  Z d  „  Z d „  Z d „  Z d d „ Z d „  Z d „  Z RS(   c         C   s1   | |  j  k r |  j  | St j |  | | ƒ Sd  S(   N(   t   globalsR    t   Function(   t   selft   fntyt   name(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   get_or_insert_function˜   s    c         C   s   t  j t |  ƒ ƒ d  S(   N(   t   llvmt   parse_assemblyt   str(   RI   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   verifyž   s    c         C   s   t  j |  | | ƒ S(   N(   R    RH   (   RI   RJ   RK   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   add_function¡   s    i    c         C   s   t  j |  | |  j | ƒ | ƒ S(   N(   R    t   GlobalVariablet   get_unique_name(   RI   R   RK   R   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   add_global_variable¤   s    c         C   s3   y |  j  | SWn t k
 r. t | ƒ ‚ n Xd  S(   N(   RG   t   KeyErrorR   (   RI   RK   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   get_global_variable_named¨   s    c         C   s3   y |  j  | ƒ SWn t k
 r. |  j | ƒ SXd  S(   N(   t   get_named_metadataRU   t   add_named_metadata(   RI   RK   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   get_or_insert_named_metadata®   s    (   R   R   RL   RP   RQ   RT   RV   RY   (    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyRF   –   s   				RH   c           B   s)   e  Z e d  d „ ƒ Z e d „  ƒ Z RS(   R   c         C   s   |  | | | ƒ S(   N(    (   t   clst
   module_objt   functyRK   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   new·   s    c         C   s   |  j  | | ƒ S(   N(   t   declare_intrinsic(   t   modulet	   intrinsict   tys(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyR`   »   s    (   R   R   t   classmethodR]   R'   R`   (    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyRH   µ   s   s   ==s   !=t   <s   <=t   >s   >=t   ordt   unot   Builderc           B   s    e  Z d  d „ Z d  d „ Z RS(   R   c         C   sJ   | t  k r) |  j t  | | | d | ƒS|  j t | | | d | ƒSd  S(   NRK   (   t
   _icmp_umapt   icmp_unsignedt   icmp_signedt
   _icmp_smap(   RI   t   predt   lhst   rhsRK   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   icmpè   s    c         C   sJ   | t  k r) |  j t  | | | d | ƒS|  j t | | | d | ƒSd  S(   NRK   (   t
   _fcmp_umapt   fcmp_unorderedt   fcmp_orderedt
   _fcmp_omap(   RI   Rl   Rm   Rn   RK   (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   fcmpî   s    (   R   R   Ro   Rt   (    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyRg   æ   s   t   MetaDataStringc           B   s   e  Z e d  „  ƒ Z RS(   c         C   s   t  |  | ƒ S(   N(   Ru   (   R_   t   text(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   getö   s    (   R   R   R'   Rw   (    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyRu   õ   s   t   MetaDatac           B   s   e  Z e d  „  ƒ Z RS(   c         C   s   |  j  | ƒ S(   N(   t   add_metadata(   R_   t   values(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyRw   ü   s    (   R   R   R'   Rw   (    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyRx   û   s   t	   InlineAsmc           B   s   e  Z e d  „  ƒ Z RS(   c          O   s   t  |  | Ž  S(   N(   R{   (   R   t   kwargs(    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyRw     s    (   R   R   R'   Rw   (    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyR{     s   (?   t	   itertoolst   llvmliteR    R   RM   t	   CallInstrt   CallOrInvokeInstructiont	   ExceptionR   R#   R   t	   _icmp_gett   ICMP_EQt   ICMP_NEt   ICMP_SLTt   ICMP_SLEt   ICMP_SGTt   ICMP_SGEt   ICMP_ULTt   ICMP_ULEt   ICMP_UGTt   ICMP_UGEt   FCMP_OEQt   FCMP_OGTt   FCMP_OGEt   FCMP_OLTt   FCMP_OLEt   FCMP_ONEt   FCMP_ORDt   FCMP_UEQt   FCMP_UGTt   FCMP_UGEt   FCMP_ULTt   FCMP_ULEt   FCMP_UNEt   FCMP_UNOt	   INTR_FABSt   INTR_EXPt   INTR_LOGt
   INTR_LOG10t   INTR_SINt   INTR_COSt	   INTR_POWIt   INTR_POWt
   INTR_FLOORt   LINKAGE_EXTERNALt   LINKAGE_INTERNALt   LINKAGE_LINKONCE_ODRt   ATTR_NO_CAPTUREt   objectR   R)   RF   RH   Rh   Rk   Rs   Rp   t	   IRBuilderRg   Ru   Rx   R{   (    (    (    s3   lib/python2.7/site-packages/llvmlite/llvmpy/core.pyt   <module>   sž   																										"9



