ó
    „ñ:i3  ã                   óŠ  • S r SSKrSSKrSSKrSSKrSSKJr  SSKrSSK	J
r
JrJrJr  SSKJrJrJr  SSKJs  Js  Jr  SSKJrJrJrJr  SSKrSSKJr  S rS	 rS
 r Sr!Sr"Sr#S r$Sr%S r&\&" \5      r'\&" \5      r(S r)\)" \5      r*\)" \5      r+\RX                  " \RZ                  " \R\                  5      \RZ                  " \R\                  5      \R^                  \R^                  5      r0\RX                  " \RZ                  " \Rb                  5      \RZ                  " \Rb                  5      \R^                  \R^                  5      r2\RX                  " \Rf                  \Rf                  \R^                  \R^                  5      r4 " S S\5      r5 " S S\5      r6\ " S S\5      5       r7\8S:X  a  \Rr                  " 5         gg)z
Tests for @cfunc and friends.
é    N)Ú
namedtuple)ÚcfuncÚcarrayÚfarrayÚnjit)ÚtypesÚtypingÚutils)ÚTestCaseÚskip_unless_cffiÚtagÚcaptured_stderr)Únumpy_supportc                 ó
   • X-   $ ©N© ©ÚaÚbs     ÚY/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_cfunc.pyÚadd_usecaser      s	   € Ø‰5€Ló    c                 ó   • X-  nU$ r   r   )r   r   Úcs      r   Údiv_usecaser      s   € Ø	‰€AØ€Hr   c                 ó   • U S-  $ )Né   r   )r   s    r   Úsquare_usecaser      s   € Ø�‰6€Mr   zfloat64(float64, float64)zfloat64(int64, int64)zfloat64(float64)c                 ó   • [        5         X-   $ r   )Úobjectr   s     r   Úobjmode_usecaser!   '   s   € Ü
„HØ‰5€Lr   é   c                 ó   ^ • U 4S jnU$ )Nc                 óV  >• T	" XU45      nT	" U[         5      nUR                  US'   UR                  USS& UR                  USS& UR                  R
                  US'   UR                  R                  US'   Sn[        R                  " X#5       H  u  pxXdXx4   Xx-
  -  -  nM     XeS'   g )Nr   é   é   é   é   é   )	ÚCARRAY_USECASE_OUT_LENÚndimÚshapeÚstridesÚflagsÚc_contiguousÚf_contiguousÚnpÚndindex©
Úin_ptrÚout_ptrÚmÚnÚin_ÚoutÚsÚiÚjÚfuncs
            €r   Úcfarray_usecaseÚ-make_cfarray_usecase.<locals>.cfarray_usecase1   s¥   ø€ á�6˜q˜6Ó"ˆá�7Ô2Ó3ˆØ—‘ˆˆA‰Ø—9‘9ˆˆAˆaˆØ—;‘;ˆˆAˆaˆØ—‘×'Ñ'ˆˆA‰Ø—‘×'Ñ'ˆˆA‰ØˆÜ—J’J˜qÖ$‰DˆAØ�Q�T‘˜a™eÑ$Ñ$ŠAñ %àˆAŠr   r   ©r=   r>   s   ` r   Úmake_cfarray_usecaserA   /   s   ø€ õð Ðr   c                 ó   ^ • U 4S jnU$ )Nc                 óŽ  >• T	" XU4[         R                  S9nT	" U[        [         R                  5      nUR                  US'   UR                  USS& UR
                  USS& UR                  R                  US'   UR                  R                  US'   Sn[         R                  " X#5       H  u  pxXdXx4   Xx-
  -  -  nM     XeS'   g )N©Údtyper   r%   r&   r'   r(   r)   )
r1   Úfloat32r*   r+   r,   r-   r.   r/   r0   r2   r3   s
            €r   r>   Ú3make_cfarray_dtype_usecase.<locals>.cfarray_usecaseI   s±   ø€ á�6˜q˜6¬¯©Ñ4ˆá�7Ô2´B·J±JÓ?ˆØ—‘ˆˆA‰Ø—9‘9ˆˆAˆaˆØ—;‘;ˆˆAˆaˆØ—‘×'Ñ'ˆˆA‰Ø—‘×'Ñ'ˆˆA‰ØˆÜ—J’J˜qÖ$‰DˆAØ�Q�T‘˜a™eÑ$Ñ$ŠAñ %àˆAŠr   r   r@   s   ` r   Úmake_cfarray_dtype_usecaserH   F   s   ø€ õð Ðr   c                   óB   • \ rS rSrS r\S 5       rS rS rS r	S r
Srg	)
Ú	TestCFuncéi   c                 óZ  • [        [        5      " [        5      nU R                  UR                  S5        U R                  UR
                  S5        U R                  UR                  [        5        UR                  nU R                  U[        5        U R                  SU5        UR                  nU R                  U[        5        UR                  nU R                  [        R                  " U[        R                   5      R"                  U5        U R%                  U" SS5      S5        g)z(
Basic usage and properties of a cfunc.
r   ç       @g      @g      @N)r   Úadd_sigr   ÚassertEqualÚ__name__Ú__qualname__ÚassertIsÚ__wrapped__Únative_nameÚassertIsInstanceÚstrÚassertInÚaddressÚintÚctypesÚcastÚc_void_pÚvalueÚassertPreciseEqual)ÚselfÚfÚsymbolÚaddrÚcts        r   Ú
test_basicÚTestCFunc.test_basick   sÐ   € ô ”'ŒNœ;Ó'ˆà×Ñ˜Ÿ™ ]Ô3Ø×Ñ˜Ÿ™¨Ô7Ø�‰�a—m‘m¤[Ô1à—‘ˆØ×Ñ˜f¤cÔ*Ø�‰�m VÔ,à�y‰yˆØ×Ñ˜d¤CÔ(à�X‰XˆØ×ÑœŸš R¬¯©Ó9×?Ñ?ÀÔFà×Ñ¡ 3¨£¨cÕ2r   c                 óÀ   • SSK Jn  UR                  5       u  p#[        [        5      " [
        5      nUR                  UR                  5      nU R                  US5        g )Nr   )Úcffi_usecasesg      @)	Únumba.testsrg   Úload_inline_moduler   Ú
square_sigr   Ú_numba_test_funcptrÚcffir^   )r_   rg   ÚffiÚlibr`   Úress         r   Ú	test_cffiÚTestCFunc.test_cffi�   sH   € å-Ø ×3Ñ3Ó5‰ˆä”*ÔœnÓ-ˆà×%Ñ% a§f¡fÓ-ˆØ×Ñ  TÕ*r   c                 ó˜   • [        [        S[        R                  0S9" [        5      nU R                  UR                  SS5      S5        g )Nr   )Úlocalsr"   r&   rM   )r   Údiv_sigr   Úint64r   r^   rZ   )r_   r`   s     r   Útest_localsÚTestCFunc.test_locals‹   s8   € ô ”' 3¬¯©Ð"4Ò5´kÓBˆØ×Ñ §¡¨¨A£°Õ4r   c                 óú  • [        [        5      " [        5      n[        5        nU R	                  UR                  SS5      S5        S S S 5        U R                  WR                  5       S5        [        5        nUR                  SS5      nU R	                  US5        S S S 5        UR                  5       nU R                  SU5        U R                  SU5        g ! , (       d  f       Nš= f! , (       d  f       NT= f)	Nr'   r   g      @Ú r   g        zZeroDivisionError:zException ignored)	r   rt   r   r   r^   rZ   rO   ÚgetvaluerW   )r_   r`   Úerrro   s       r   Útest_errorsÚTestCFunc.test_errors‘   s¸   € Ü”'ŒNœ;Ó'ˆäÔ #Ø×#Ñ# A§H¡H¨Q°£N°CÔ8÷ à×Ñ˜Ÿ™›¨Ô,äÔ #Ø—(‘(˜1˜a“.ˆCð ×#Ñ# C¨Ô-÷	 ð
 �l‰l‹nˆØ�‰Ð*¨CÔ0Ø�‰Ð)¨3Õ/÷ Õú÷ Õús   ¤#CÁ9%C,Ã
C)Ã,
C:c                 ó²   • [        [        5      " [        5      nUR                  5       nU R	                  UR
                  U5        U R	                  SU5        g )Nzfadd double)r   rN   r   Úinspect_llvmrW   rT   )r_   r`   Úirs      r   Útest_llvm_irÚTestCFunc.test_llvm_ir¡   s<   € Ü”'ŒNœ;Ó'ˆØ�^‰^ÓˆØ�‰�a—m‘m RÔ(Ø�‰�m RÕ(r   c                 ób  • U R                  [        5         [        [        SS9" [        5        SSS5        U R                  5        n[        [        5      " [        5        SSS5        U R                  S[        WR                  5      5        g! , (       d  f       Nf= f! , (       d  f       NE= f)z'
Object mode is currently unsupported.
T)ÚforceobjNzUntyped global name 'object')
ÚassertRaisesÚNotImplementedErrorr   rN   r   ÚassertTypingErrorr!   rW   rV   Ú	exception)r_   Úraisess     r   Útest_object_modeÚTestCFunc.test_object_mode§   sp   € ð ×ÑÔ2Õ3Ü”' DÒ)¬+Ô6÷ 4à×#Ñ#Ô%¨Ü”'ŒNœ?Ô+÷ &à�‰Ð4´c¸&×:JÑ:JÓ6KÕL÷	 4Õ3úç%Õ%ús   –BÁB Â
BÂ 
B.r   N)rP   Ú
__module__rQ   Ú__firstlineno__rd   r   rp   rv   r|   r�   rŠ   Ú__static_attributes__r   r   r   rJ   rJ   i   s0   † ò3ð, ñ+ó ð+ò5ò0ò )õMr   rJ   c                   ó`   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rSrg)Ú
TestCArrayé²   z"
Tests for carray() and farray().
c                 ó  • [         R                  " SS5      R                  S5      R                  [         R                  5      n[         R
                  " [        [         R                  S9nU" U" U5      U" U5      /UR                  Q76   U$ )Né
   é   ©r   r&   rD   )r1   ÚarangeÚreshapeÚastyperF   Úemptyr*   r,   )r_   Úpointer_factoryr=   r   r9   s        r   Úrun_carray_usecaseÚTestCArray.run_carray_usecase·   sc   € Ü�IŠI�b˜"Ó×%Ñ% fÓ-×4Ñ4´R·Z±ZÓ@ˆÜ�hŠhÔ-´R·Z±ZÑ@ˆÙ‰_˜QÓ¡°Ó!5Ð@¸¿¹Ó@Øˆ
r   c                 ój   • U R                  X5      nU R                  X5      nU R                  XE5        g r   )r›   r^   )r_   rš   Úpyfuncr   ÚexpectedÚgots         r   Úcheck_carray_usecaseÚTestCArray.check_carray_usecase½   s0   € Ø×*Ñ*¨?ÓCˆØ×%Ñ% oÓ=ˆØ×Ñ Õ.r   c                 óT   • UR                   R                  [         R                  5      $ r   )rZ   Údata_asr\   ©r_   Úarrs     r   Úmake_voidptrÚTestCArray.make_voidptrÂ   s   € Ø�z‰z×!Ñ!¤&§/¡/Ó2Ð2r   c                 ó|   • UR                   R                  [         R                  " [         R                  5      5      $ r   )rZ   r¤   ÚPOINTERÚc_floatr¥   s     r   Úmake_float32_pointerÚTestCArray.make_float32_pointerÅ   s$   € Ø�z‰z×!Ñ!¤&§.¢.´·±Ó"@ÓAÐAr   c                 ó|   • UR                   R                  [         R                  " [         R                  5      5      $ r   )rZ   r¤   rª   Úc_doubler¥   s     r   Úmake_float64_pointerÚTestCArray.make_float64_pointerÈ   s$   € Ø�z‰z×!Ñ!¤&§.¢.´·±Ó"AÓBÐBr   c                 óÀ  ^ • U 4S jn[         R                  " S5      R                  S5      R                  [         R                  5      R                  US9nU" T R                  U5      UR                  5      nU" XT5        U" T R                  U5      UR                  5      nU" XTR                  S5      5        U" T R                  U5      UR                  UR                  5      nU" XT5        U" T R                  U5      UR                  [         R                  5      nU" XT5        U" T R                  U5      UR                  UR                  5      nU" XT5        U" T R                  U5      UR                  [         R                  5      nU" XTR                  [         R                  5      5        T R                  [        5         U" T R                  U5      UR                  5        S S S 5        T R                  [        5         U" UR                   R"                  UR                  5        S S S 5        T R                  [        5       nU" T R                  U5      UR                  [         R                  5        S S S 5        T R%                  S['        WR(                  5      5        g ! , (       d  f       NÈ= f! , (       d  f       N”= f! , (       d  f       NV= f)Nc                 óœ   >• TR                  X5        TR                  U R                  R                  UR                  R                  5        g r   )r^   rO   rZ   Údata)r    rŸ   r_   s     €r   ÚeqÚ*TestCArray.check_carray_farray.<locals>.eqÌ   s3   ø€ à×#Ñ# CÔ2à×Ñ˜SŸZ™ZŸ_™_¨h¯o©o×.BÑ.BÕCr   r(   r•   )ÚorderÚKz%mismatching dtype 'int32' for pointer)r1   r–   r—   r˜   rF   Úcopyr¬   r,   ÚsizeÚravelrE   r§   Úint32Úviewr…   Ú	TypeErrorrZ   r´   rW   rV   rˆ   )r_   r=   r·   rµ   Úbaser   r‰   s   `      r   Úcheck_carray_farrayÚTestCArray.check_carray_farrayË   s
  ø€ õ	Dô �yŠy˜‹|×#Ñ# FÓ+×2Ñ2´2·:±:Ó>×CÑCÈ%ÐCÐPˆñ �×*Ñ*¨4Ó0°$·*±*Ó=ˆÙ
ˆ1Œá�×*Ñ*¨4Ó0°$·)±)Ó<ˆÙ
ˆ1�j‰j˜‹oÔñ �×*Ñ*¨4Ó0°$·*±*¸d¿j¹jÓIˆÙ
ˆ1ŒÙ�×*Ñ*¨4Ó0°$·*±*¼b¿j¹jÓIˆÙ
ˆ1Œñ �×"Ñ" 4Ó(¨$¯*©*°d·j±jÓAˆÙ
ˆ1ŒÙ�×"Ñ" 4Ó(¨$¯*©*´b·h±hÓ?ˆÙ
ˆ1�i‰iœŸ™Ó!Ô"ð ×ÑœyÕ)Ù�×"Ñ" 4Ó(¨$¯*©*Ô5÷ *ð ×ÑœyÕ)Ù�—‘×!Ñ! 4§:¡:Ô.÷ *ð ×ÑœyÔ)¨VÙ�×*Ñ*¨4Ó0°$·*±*¼b¿h¹hÔG÷ *à�‰Ð=Ü˜&×*Ñ*Ó+õ	-÷ *Õ)ú÷ *Õ)ú÷ *Õ)ús$   Ç#J-È(J>É2KÊ-
J;Ê>
KË
Kc                 ó0   • U R                  [        S5        g)z
Test pure Python carray().
ÚCN)rÀ   r   ©r_   s    r   Útest_carrayÚTestCArray.test_carrayó   ó   € ð 	× Ñ ¤¨Õ-r   c                 ó0   • U R                  [        S5        g)z
Test pure Python farray().
ÚFN)rÀ   r   rÄ   s    r   Útest_farrayÚTestCArray.test_farrayù   rÇ   r   c              #   ó4  ^#   • [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  4 H3  m[        U4S jUR                   5       5      nUR                  " U6 v •  M5     g7f)zr
Generate a bunch of concrete signatures by varying the width
and signedness of size arguments (see issue #1923).
c              3   óT   >#   • U  H  nU[         R                  :X  a  TOUv •  M     g 7fr   )r   Úintp)Ú.0r   Úactual_sizes     €r   Ú	<genexpr>Ú.TestCArray.make_carray_sigs.<locals>.<genexpr>  s'   øé € ð 3Ú"1˜Qð )*¬U¯Z©Z«™¸QÔ>Ú"1ùs   ƒ%(N)
r   rÎ   r¼   ÚintcÚuintpÚuint32ÚuintcÚtupleÚargsÚreturn_type)r_   Ú
formal_sigrØ   rÐ   s      @r   Úmake_carray_sigsÚTestCArray.make_carray_sigsÿ   sh   øé € ô
 "ŸJ™J¬¯©´U·Z±ZÜ!ŸK™K¬¯©´u·{±{óDˆKäô 3Ø",§/¢/ó3ó 3ˆDà×(Ò(¨$Ð/Ô/ò	Dùs   ƒBBc                 óÊ  • UnU R                  [        5       H:  n[        U5      " U5      nU R                  U R                  X5R
                  5        M<     UnU R                  [        5       H:  n[        U5      " U5      nU R                  U R                  X5R
                  5        M<     U R                  5        n[        [        5      " U5      nS S S 5        U R                  S[        WR                  5      5        UnU R                  [        5       H:  n[        U5      " U5      nU R                  U R                  X5R
                  5        M<     g ! , (       d  f       N‰= f)Nz7mismatching dtype 'float32' for pointer type 'float64*')rÛ   Úcarray_float32_usecase_sigr   r¡   r¬   rZ   r‡   Úcarray_float64_usecase_sigrW   rV   rˆ   Úcarray_voidptr_usecase_sig)r_   ÚusecaseÚdtype_usecaserž   Úsigr`   r‰   s          r   Úcheck_numba_carray_farrayÚ$TestCArray.check_numba_carray_farray
  s  € àˆØ×(Ñ(Ô)CÖDˆCÜ�c”
˜6Ó"ˆAØ×%Ñ% d×&?Ñ&?ÀÏÉÖRñ Eð
 ˆØ×(Ñ(Ô)CÖDˆCÜ�c”
˜6Ó"ˆAØ×%Ñ% d×&?Ñ&?ÀÏÉÖRñ Eð ×#Ñ#Ô%¨ÜÔ0Ô1°&Ó9ˆA÷ &à�‰ÐOÜ˜&×*Ñ*Ó+ô	-ð ˆØ×(Ñ(Ô)CÖDˆCÜ�c”
˜6Ó"ˆAØ×%Ñ% d×&?Ñ&?ÀÏÉÖRò E÷ &Õ%ús   Â;EÅ
E"c                 ó8   • U R                  [        [        5        g)z;
Test Numba-compiled carray() against pure Python carray()
N)rä   Úcarray_usecaseÚcarray_dtype_usecaserÄ   s    r   Útest_numba_carrayÚTestCArray.test_numba_carray"  ó   € ð 	×&Ñ&¤~Ô7KÕLr   c                 ó8   • U R                  [        [        5        g)z;
Test Numba-compiled farray() against pure Python farray()
N)rä   Úfarray_usecaseÚfarray_dtype_usecaserÄ   s    r   Útest_numba_farrayÚTestCArray.test_numba_farray(  rë   r   r   N)rP   rŒ   rQ   r�   Ú__doc__r›   r¡   r§   r¬   r°   rÀ   rÅ   rÊ   rÛ   rä   ré   rï   rŽ   r   r   r   r�   r�   ²   sI   † ñòò/ò
3òBòCò&-òP.ò.ò	0òSò0MõMr   r�   c                   ó6   • \ rS rSrSr\4S jrS rS rS rSr	g)	ÚTestCffiStructi/  zÎ
typedef struct _big_struct {
    int    i1;
    float  f2;
    double d3;
    float  af4[9];
} big_struct;

typedef struct _error {
    int bits:4;
} error;

typedef double (*myfunc)(big_struct*, size_t);
c                 óB   • SSK Jn  U" 5       nUR                  U5        U$ )Nr   )ÚFFI)rl   rõ   Úcdef)r_   Úsrcrõ   rm   s       r   Úget_ffiÚTestCffiStruct.get_ffi@  s   € Ýá‹eˆØ�‰�ŒØˆ
r   c                 ó$  • U R                  5       nUR                  S5      n[        R                  " USS9nU R	                  U[
        R                  5        U R                  [        U5      S5        U R                  UR                  S5      [
        R                  5        U R                  UR                  S5      [
        R                  5        U R                  UR                  S5      [
        R                  5        U R                  UR                  S5      [
        R                  " [
        R                  S	S
95        UR                  S5      n[        R                  " USS9nU R	                  U[        R                  5        U R                  UR                  S   [
        R                   " U5      5        U R                  UR                  S   [
        R"                  5        U R                  UR$                  [
        R                  5        g )NÚ
big_structT©Úuse_record_dtypeé   Úi1Úf2Úd3Úaf4)é	   )rE   r,   Úmyfuncr   r%   )rø   ÚtypeofÚcffi_supportÚmap_typerU   r   ÚRecordrO   Úlenr¼   rF   Úfloat64ÚNestedArrayr	   Ú	SignaturerØ   ÚCPointerrÔ   rÙ   )r_   rm   rû   Únbtyper  rã   s         r   Útest_type_parsingÚ TestCffiStruct.test_type_parsingG  sg  € Ø�l‰l‹nˆà—Z‘Z Ó-ˆ
Ü×&Ò& zÀDÑIˆØ×Ñ˜f¤e§l¡lÔ3Ø×Ñœ˜V› aÔ(Ø×Ñ˜Ÿ™ tÓ,¬e¯k©kÔ:Ø×Ñ˜Ÿ™ tÓ,¬e¯m©mÔ<Ø×Ñ˜Ÿ™ tÓ,¬e¯m©mÔ<Ø×ÑØ�M‰M˜%Ó Ü×Ò¤E§M¡M¸Ñ>ô	
ð —‘˜HÓ%ˆÜ×#Ò# F¸TÑBˆØ×Ñ˜c¤6×#3Ñ#3Ô4Ø×Ñ˜Ÿ™ !™¤e§n¢n°VÓ&<Ô=Ø×Ñ˜Ÿ™ !™¤e§k¡kÔ2Ø×Ñ˜Ÿ™¬%¯-©-Õ8r   c                 ó  ^• U R                  5       nUR                  S5      n[        R                  " USS9n[        R                  " UR                  S5      SS9n[        S 5       m[        U5      U4S j5       nUR                  S5      nUR                  SU5      n[        S	5       HS  nUS
-  Xx   l	        US-  Xx   l
        SU-   S-  Xx   l        [        S5       H  n	US-  U	-   Xx   R                  U	'   M     MU     [        UR                  SU5      5      n
UR                  U
S	5      n[        R                   " UR#                  U5      [$        R&                  " U5      S	S9nT" U5      nU R)                  X½5        g )Nrû   Trü   r  c                 óØ   • Sn[        U R                  5       HN  nX   nXR                  UR                  -  UR                  -  -  nXU   R
                  R                  5       -  nMP     U$ )Nr   )Úrangerº   rÿ   r   r  r  Úsum)r¿   Útmpr;   Úelems       r   ÚcalcÚ0TestCffiStruct.test_cfunc_callback.<locals>.calcd  s]   € àˆCÜ˜4Ÿ9™9Ö%�Ø‘w�Ø—w‘w §¡Ñ(¨4¯7©7Ñ2Ñ2�Ø˜A‘w—{‘{—‘Ó(Ñ(’ñ &ð ˆJr   c                 ó*   >• [        X5      nT" U5      $ r   )r   )Úptrr7   r¿   r  s      €r   ÚfooÚ/TestCffiStruct.test_cfunc_callback.<locals>.foom  s   ø€ ä˜#“>ˆDÙ˜“:Ðr   zbig_struct[3]zbig_struct*r&   é{   éÕ   r%   r  r“   Úsize_t)ÚbufferrE   r,   )rø   r  r  r  r   r   Únewr[   r  rÿ   r   r  r  rY   rZ   r1   Úndarrayr   r   Úas_dtyperO   )r_   rm   rû   Únb_big_structrã   r  Úmydatar  r;   r<   rb   r    ÚarrayÚexpectr  s                 @r   Útest_cfunc_callbackÚ"TestCffiStruct.test_cfunc_callback^  s^  ø€ Ø�l‰l‹nˆØ—Z‘Z Ó-ˆ
Ü$×-Ò-¨jÈ4ÑPˆÜ×#Ò# C§J¡J¨xÓ$8È4ÑPˆä	ñ	ó 
ð	ô 
ˆs‹ô	ó 
ð	ð
 —‘˜Ó)ˆØ�h‰h�} fÓ-ˆÜ�q–ˆAØ˜C™ˆC‰FŒIØ˜C™ˆC‰FŒIØ˜Q™ #™ˆC‰FŒIÜ˜1–X�Ø ! B¡¨¡
�‘—
‘
˜1“ó ñ	 ô �3—8‘8˜H cÓ*Ó+ˆØ�j‰j˜˜qÓ!ˆô —
’
Ø—:‘:˜fÓ%Ü×(Ò(¨Ó7Øñˆñ
 �e“ˆØ×Ñ˜Õ%r   c                 ó  • U R                  5       nU R                  [        5       n[        R                  " UR                  S5      SS9  S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)NÚerrorTrü   z0field 'bits' has bitshift, this is not supported)	rø   r…   Ú
ValueErrorr  r  r  rO   rV   rˆ   )r_   rm   r‰   s      r   Útest_unsupport_bitsizeÚ%TestCffiStruct.test_unsupport_bitsize‰  si   € Ø�l‰l‹nˆØ×ÑœzÔ*¨fÜ×!Ò!Ø—
‘
˜7Ó#Ø!%ò÷ +ð 	×ÑØ>Ü�× Ñ Ó!õ	
÷ +Õ*ús   ¦%A9Á9
Br   N)
rP   rŒ   rQ   r�   Úc_sourcerø   r  r(  r-  rŽ   r   r   r   ró   ró   /  s#   † ð€Hð #ô ò9ò.)&õV
r   ró   Ú__main__):rñ   rZ   ÚosÚ
subprocessÚsysÚcollectionsr   Únumpyr1   Únumbar   r   r   r   Ú
numba.corer   r	   r
   Únumba.core.typing.cffi_utilsÚcoreÚ
cffi_utilsr  Únumba.tests.supportr   r   r   r   ÚunittestÚnumba.npr   r   r   r   rN   rt   rj   r!   r*   rA   rç   rí   rH   rè   rî   Úvoidr  rF   rÎ   rÞ   r
  rß   Úvoidptrrà   rJ   r�   ró   rP   Úmainr   r   r   Ú<module>rA     s£  ðñó
 Û 	Û Û 
Ý "ã ç -Ó -ß +Ñ +ß 3Ó 3÷2ó 2ã Ý "òòòð &€à
!€à€
òð Ð òñ& & fÓ-€Ù% fÓ-€òñ( 2°&Ó9Ð Ù1°&Ó9Ð à"ŸZšZ¨¯ª°u·}±}Ó(EØ(-¯ª°u·}±}Ó(EØ(-¯
©
°E·J±Jó@Ð ð #ŸZšZ¨¯ª°u·}±}Ó(EØ(-¯ª°u·}±}Ó(EØ(-¯
©
°E·J±Jó@Ð ð #ŸZšZ¨¯©°u·}±}Ø(-¯
©
°E·J±Jó@Ð ôFM�ô FMôRzM�ô zMðz ôd
�Xó d
ó ðd
ðN ˆzÓØ‡M‚M…Oð r   