Ë
    ìmxi€  ã                   ó  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmc m	Z
 e j                  j                  e j                  j                  e«      «      Ze j                   j#                  dd«      Ze j&                  dk(  rdgZne j&                  dk(  rddgZng Zd	Zd
„ Zej.                  j0                  ej.                  j2                  d„ «       «       Zej.                  j0                  ej.                  j2                  d„ «       «       Zy)é    NÚPYARROW_TEST_LD_PATHÚ Úposixz
-std=c++20Úntz"-D_ENABLE_EXTENDED_ALIGNED_STORAGEz
/std:c++20a[  if 1:
    from setuptools import setup
    from Cython.Build import cythonize

    import numpy as np

    import pyarrow as pa

    ext_modules = cythonize({pyx_file!r})
    compiler_opts = {compiler_opts!r}
    custom_ld_path = {test_ld_path!r}

    for ext in ext_modules:
        # XXX required for numpy/numpyconfig.h,
        # included from arrow/python/api.h
        ext.include_dirs.append(np.get_include())
        ext.include_dirs.append(pa.get_include())
        ext.libraries.extend(pa.get_libraries())
        ext.library_dirs.extend(pa.get_library_dirs())
        if custom_ld_path:
            ext.library_dirs.append(custom_ld_path)
        ext.extra_compile_args.extend(compiler_opts)
        print("Extension module:",
              ext, ext.include_dirs, ext.libraries, ext.library_dirs)

    setup(
        ext_modules=ext_modules,
    )
c                 óT  — t        j                  g d¢«      }| j                  |«      dk(  sJ ‚t        j                  t
        d¬«      5  | j                  d «       d d d «       t        j                  d«      }| j                  |t        j                  «       «      }|t        j                  d«      k(  sJ ‚t        j                  t        d¬«      5  | j                  |t        j                  t        j                  «       «      «       d d d «       y # 1 sw Y   Œ¸xY w# 1 sw Y   y xY w)N)é   é   é   r
   znot an array©Úmatché{   Ú123z<Unsupported cast from int64 to list using function cast_list)ÚpaÚarrayÚget_array_lengthÚpytestÚraisesÚ	TypeErrorÚscalarÚcast_scalarÚutf8ÚNotImplementedErrorÚlist_Úint64)ÚmodÚarrÚscalÚ	cast_scals       úP/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/test_cython.pyÚcheck_cython_example_moduler    D   sã   € Ü
�(‰(’9Ó
€CØ×Ñ Ó$¨Ò)Ð)Ð)Ü	�‰”y¨Ô	7ñ #Ø×Ñ˜TÔ"÷#ô �9‰9�S‹>€DØ—‘ ¤b§g¡g£iÓ0€IØœŸ	™	 %Ó(Ò(Ð(Ð(Ü	�‰Ô*ð)ô
*ñ 4ð 	�‰˜œbŸh™h¤r§x¡x£zÓ2Ô3÷4ð 4÷#ð #ú÷4ð 4ús   Á	DÃ8DÄDÄD'c           	      ó  — ddl }| j                  «       5  d}t        j                  t        j
                  j                  t        |«      t        j
                  j                  t        | «      |«      «       t        j                  |t        t        ¬«      }t        dd«      5 }|j                  |«       ddd«       t        j                   «       }t#        j$                  t&        j(                  dddg|¬	«       t&        j
                  dd }t&        j
                  j+                  dt        | «      «       	 t-        d
«      }t/        |«       |t&        _        dt1        j2                  «       › d�}d}	t&        j4                  dk(  rt7        t        d«      s$d\  }
}	nt&        j4                  dk(  rd\  }
}	nd\  }
}	|	rct&        j
                  }|t1        j2                  «       z  }||j9                  |	d«      gz  }|D �cg c]  }|sŒ|‘Œ	 }}
j                  |«      ||	<   t#        j$                  t&        j(                  d|gt"        j:                  |¬«       ddd«       y# 1 sw Y   �Œ«xY w# |t&        _        w xY wc c}w # 1 sw Y   yxY w)z(
    Basic test for the Cython API.
    r   Nzpyarrow_cython_example.pyx©Úpyx_fileÚcompiler_optsÚtest_ld_pathúsetup.pyÚwÚ	build_extú	--inplace©ÚenvÚpyarrow_cython_examplezûif 1:
            import sys
            import os

            try:
                # Add dll directory was added on python 3.8
                # and is required in order to find extra DLLs
                # only for win32
                for dir in a*  :
                    os.add_dll_directory(dir)
            except AttributeError:
                pass

            mod = __import__('pyarrow_cython_example')
            arr = mod.make_null_array(5)
            assert mod.get_array_length(arr) == 5
            assert arr.null_count == 5
        Úwin32Úadd_dll_directory)ú;ÚPATHÚdarwin)ú:ÚDYLD_LIBRARY_PATH)r2   ÚLD_LIBRARY_PATHr   z-c)Ústdoutr+   )ÚcythonÚas_cwdÚshutilÚcopyfileÚosÚpathÚjoinÚhereÚstrÚsetup_templateÚformatr$   r%   ÚopenÚwriteÚ	test_utilÚ get_modified_env_with_pythonpathÚ
subprocessÚ
check_callÚsysÚ
executableÚinsertÚ
__import__r    r   Úget_library_dirsÚplatformÚhasattrÚgetÚPIPE)Útmpdirr6   r#   Ú
setup_codeÚfÚsubprocess_envÚ	orig_pathr   ÚcodeÚpath_varÚdelimÚpathsr;   s                r   Útest_cython_apirY   U   s/  € ó à	�‰‹ñ F2à/ˆÜ�‰œŸ™Ÿ™¤T¨8Ó4ÜŸ™Ÿ™¤S¨£[°(Ó;ô	=ô $×*Ñ*°HÜ9FÜ8Dð +ó Fˆ
ô �*˜cÓ"ð 	  aØ�G‰G�JÔ÷	 ô
 #×CÑCÓEˆô 	×ÑœsŸ~™~¨zØ*¨Kð9à"0õ	2ô
 —H‘H™Q�Kˆ	Ü�‰�‰˜œ3˜v›;Ô'ð	!ÜÐ5Ó6ˆCÜ'¨Ô,à ŒCŒHðô ×/Ñ/Ó1Ð2ð 	3	ðˆð& ˆÜ�<‰<˜7Ò"Üœ2Ð2Ô3ð #.‘�‘xÜ�\‰\˜XÒ%Ø6‰OˆE‘8à4‰OˆE�8áÜ—H‘HˆEØ”R×(Ñ(Ó*Ñ*ˆEØ�n×(Ñ(¨°2Ó6Ð7Ñ7ˆEØ&+Ö4˜dªt’TÐ4ˆEÐ4Ø',§z¡z°%Ó'8ˆN˜8Ñ$Ü×ÑœsŸ~™~¨t°TÐ:Ü%/§_¡_Ø"0õ	2÷IF2ð F2÷	 ñ 	 ûð& !ŒC�HüòL 5÷EF2ð F2úsQ   •BJ Â#IÂ5BJ Ä7I+ÅB/J Ç<I;ÈI;ÈAJ ÉI(	É#J É+I8É8J Ê J	c           	      ór  — | j                  «       5  d}t        j                  t        j                  j                  t        |«      t        j                  j                  t        | «      |«      «       t        j                  |t        t        ¬«      }t        dd«      5 }|j                  |«       d d d «       t        j                  «       }t!        j"                  t$        j&                  dddg|¬«       d d d «       t$        j                  j)                  dt        | «      «       t+        d	«      }g d
¢}g }|j-                  ||j.                  «       ||k(  sJ ‚t1        j2                  t4        d¬«      5  d„ }|j-                  ||«       d d d «       y # 1 sw Y   ŒåxY w# 1 sw Y   Œ¬xY w# 1 sw Y   y xY w)Nz bound_function_visit_strings.pyxr"   r&   r'   r(   r)   r*   r   Úbound_function_visit_strings)ÚaÚbÚcÚwtfr   c                 ó$   — | dk(  rt        d«      ‚y )Nr]   r_   )Ú
ValueError)Úss    r   Ú
raise_on_bz&test_visit_strings.<locals>.raise_on_bÇ   s   € Ø�CŠxÜ  Ó'Ð'ð ó    )r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   r$   r%   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   Ú_visit_stringsÚappendr   r   ra   )	rP   r#   rQ   rR   rS   r   ÚstringsÚvisitedrc   s	            r   Útest_visit_stringsri   §   sl  € ð 
�‰‹ñ 2à5ˆÜ�‰œŸ™Ÿ™¤T¨8Ó4ÜŸ™Ÿ™¤S¨£[°(Ó;ô	=ô $×*Ñ*°HÜ9FÜ8Dð +ó Fˆ
ô �*˜cÓ"ð 	  aØ�G‰G�JÔ÷	 ô #×CÑCÓEˆô 	×ÑœsŸ~™~¨zØ*¨Kð9à"0õ	2÷2ô& ‡H�H‡O�O�A”s˜6“{Ô#Ü
Ð3Ó
4€Câ€GØ€GØ×Ñ�w §¡Ô/à�gÒÐÐä	�‰”z¨Ô	/ñ 0ò	(ð 	×Ñ˜7 JÔ/÷0ð 0÷'	 ð 	 ú÷2ð 2ú÷80ð 0ús1   ‘BF!ÂFÂ1AF!Å6F-ÆF	ÆF!Æ!F*Æ-F6)r:   r8   rE   rG   r   Úpyarrowr   Úpyarrow.tests.utilÚtestsÚutilrC   r;   ÚdirnameÚabspathÚ__file__r=   ÚenvironrN   r%   Únamer$   r?   r    ÚmarkÚnumpyr6   rY   ri   © rd   r   ú<module>rv      sï   ðó$ 
Û Û Û 
ã ã ß &Ð &à	‡w�w‡��r—w‘w—‘ xÓ0Ó1€Ø�z‰z�~‰~Ð4°bÓ9€Ø‡7�7ˆgÒØ!�N�MØ‡W�W�‚_Ø9¸<ÐH�Mà€Mð€ò>4ð" ‡�×ÑØ‡�×ÑñM2ó ó ðM2ð` ‡�×ÑØ‡�×Ññ"0ó ó ñ"0rd   