
    sh                     j   S SK JrJrJrJr  S SKJr  S SKJr  S r	S r
S r\\/\R                  R                  l        \/\R                  R                  l        \\R                  R                  l        \\" \5      /\R                  R"                  l        \\R                  R"                  l        g)    )c_void_pc_char_pc_boolPOINTER)ffi)_encode_stringc                 R    [         R                  R                  [        U 5      5      $ )zo
Get the in-process address of symbol named *name*.
An integer is returned, or None if the symbol isn't found.
)r   libLLVMPY_SearchAddressOfSymbolr   )names    j/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/llvmlite/binding/dylib.pyaddress_of_symbolr      s    
 77//t0DEE    c                 h    [         R                  R                  [        U 5      [	        U5      5        g)zy
Register the *address* of global symbol *name*.  This will make
it usable (e.g. callable) from LLVM-compiled functions.
N)r   r
   LLVMPY_AddSymbolr   r   )r   addresss     r   
add_symbolr      s"    
 GG^D18G3DEr   c                     [         R                  " 5        n[         R                  R                  [	        U 5      U5      (       a  [        [        U5      5      e SSS5        g! , (       d  f       g= f)z
Load an external library
N)r   OutputStringr
   LLVMPY_LoadLibraryPermanentlyr   RuntimeErrorstr)filenameouterrs     r   load_library_permanentlyr      sS     
			v7700x(&2 2s6{++2 
		s   AA##
A1N)ctypesr   r   r   r   llvmlite.bindingr   llvmlite.binding.commonr   r   r   r   r
   r   argtypesr   restyper    r   r   <module>r"      s    6 6   2FF, %   !
 2:
 $ $ -/7 $ $ ,2:GH<M1N % % .06 % % -r   