Ë
    èÿæiª0  ã                   ój  — d Z ddlZddlZddlmZmZmZmZ ddl	m
Z
 ddlmZ ddlmZmZ ddlmZmZmZmZ ej*                   G d„ d	e
j,                  «      «       Z ed
e
j0                  dd fde
j0                  fg¬«      Z ej4                  eej6                  «        G d„ dej6                  «      Zej*                   G d„ de
j,                  «      «       Z ej<                  eed
dg«       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' G d„ de«      Z( G d„ dee«      Z) eed«      d„ «       Z* eed «      d!„ «       Z+ G d"„ d#ee«      Z,d$„ Z-d%„ Z. G d&„ d'ee«      Z/ej*                   G d(„ d)e
j,                  «      «       Z0 e0d*e
jb                  fd+e
jb                  ff¬«      Z2 G d,„ d-ej6                  «      Z3ed.„ «       Z4ed/„ «       Z5 ej<                  e3e0d*d+g«        ee0d0«      d1„ «       Z6 ee0d «      d2„ «       Z7 G d3„ d4ee«      Z8y)5z%
Test mutable struct, aka, structref
é    N)ÚtypedÚnjitÚerrorsÚtypeof)Útypes)Ú	structref)Úoverload_methodÚoverload_attribute)ÚMemoryLeakMixinÚTestCaseÚtemp_directoryÚoverride_configc                   ó   — e Zd ZdZy)ÚMySimplerStructTypezV
    Test associated with this type represent the lowest level uses of structref.
    N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úp/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_struct_ref.pyr   r      ó   „ ñð 	r   r   ÚvaluesÚcounter)Úfieldsc                   ór   — e Zd Zd„ Zed„ «       Zej                  d„ «       Zed„ «       Zd„ Zed„ «       Z	d„ Z
y)	ÚMyStructc                 óD   — t         j                  j                  | ||«      S ©N©r   ÚStructRefProxyÚ__new__)Úclsr   r   s      r   r#   zMyStruct.__new__"   s   € ô ×'Ñ'×/Ñ/°°V¸WÓEÐEr   c                 ó   — t        | «      S r    )Ú
get_values©Úselfs    r   r   zMyStruct.values*   s   € ä˜$ÓÐr   c                 ó   — t        | |«      S r    )Ú
set_values)r(   Úvals     r   r   zMyStruct.values.   s   € ä˜$ Ó$Ð$r   c                 ó   — t        | «      S r    )Úget_counterr'   s    r   r   zMyStruct.counter2   s   € ä˜4Ó Ð r   c                 ó:   — | j                   |z  | j                  z   S r    ©r   r   ©r(   Úargs     r   ÚtestmezMyStruct.testme6   ó   € Ø�{‰{˜SÑ  4§<¡<Ñ/Ð/r   c                 ó2   — | j                   | j                  fS r    r/   r'   s    r   ÚpropzMyStruct.prop9   s   € à�{‰{˜DŸL™LÐ(Ð(r   c                 ó   — t        | «      S r    )Úcompute_fieldsr'   s    r   Ú__hash__zMyStruct.__hash__=   s   € Ü˜dÓ#Ð#r   N)r   r   r   r#   Úpropertyr   Úsetterr   r2   r5   r8   r   r   r   r   r       sf   „ òFð ñ ó ð ð ‡]�]ñ%ó ð%ð ñ!ó ð!ò0ð ñ)ó ð)ó$r   r   c                   ó   — e Zd ZdZy)ÚMyStructTypezTTest associated with this type represent the higher-level uses of
    structef.
    Nr   r   r   r   r<   r<   A   r   r   r<   c                 óR   — t        j                  t        «      }t        || |«       |S r    )r   ÚnewÚmy_struct_tyÚmy_struct_init)r   r   Ústs      r   Ú	my_structrB   S   s!   € ä	�‰”|Ó	$€BÜ�2�v˜wÔ'Ø€Ir   c                 ó    — || _         || _        y r    r/   )r(   r   r   s      r   r@   r@   Z   s   € à€D„KØ€D…Lr   c                 óˆ   — t        | |¬«      }|xj                  |j                  z  c_        |xj                  |z  c_        |S )N©r   )rB   r   r   )ÚvsÚctrrA   s      r   Úctor_by_intrinsicrH   `   s3   € ä	�2˜sÔ	#€BØ‡I‚I�—‘Ñ…IØ‡J‚J�#Ñ…JØ€Ir   c                 ó   — t        | |¬«      S ©Nr/   ©r   )rF   rG   s     r   Úctor_by_classrL   h   s   € ä˜2 sÔ+Ð+r   c                 ó   — | j                   S r    ©r   ©rA   s    r   r&   r&   m   s   € à�9‰9Ðr   c                 ó   — || _         y r    rN   )rA   r+   s     r   r*   r*   r   s	   € à€B…Ir   c                 ó   — | j                   S r    rE   rO   s    r   r-   r-   w   s   € à�:‰:Ðr   c                 ó4   — | j                   | j                  z   S r    r/   rO   s    r   r7   r7   |   s   € à�9‰9�r—z‘zÑ!Ð!r   c                  óB   — t        dd«      } t        dd«      }| | u | |u fS )Né   é   rK   )ÚcÚds     r   Útest_structref_isrX   �   s+   € ä��A‹€AÜ��A‹€AØ�ˆF�A˜�FÐÐr   c                   ó   — e Zd Zd„ Zy)ÚTestStructRefIsc                 óh   — t        «       }| j                  |d   «       | j                  |d   «       y ©Nr   é   )rX   Ú
assertTrueÚassertFalse)r(   Úress     r   Útest_is_identityz TestStructRefIs.test_is_identity‰   s,   € ÜÓ!ˆØ�‰˜˜A™ÔØ×Ñ˜˜Q™Õ r   N)r   r   r   ra   r   r   r   rZ   rZ   ˆ   s   „ ó!r   rZ   c                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)ÚTestStructRefBasicc                 óð  — t        j                  dt         j                  fg«      }| j                  |j                  d   t         j                  «       t        j                  dt         j                  fdt         j
                  fg«      }| j                  |j                  d   t         j                  «       | j                  |j                  d   t         j
                  «       | j                  t        d«      5  t        j                  dt         j                  fg«       d d d «       | j                  t        d«      5  t        j                  dg«       d d d «       y # 1 sw Y   Œ?xY w# 1 sw Y   y xY w)NÚaÚbzexpecting a str for field namer]   z%expecting a Numba Type for field type)re   é{   )r   Ú	StructRefÚint64ÚassertEqualÚ
field_dictÚfloat64ÚassertRaisesRegexÚ
ValueError)r(   Úsrs     r   Útest_structref_typez&TestStructRefBasic.test_structref_type�   s  € Ü�_‰_˜s¤E§K¡KÐ0Ð1Ó2ˆØ×Ñ˜Ÿ™ sÑ+¬U¯[©[Ô9Ü�_‰_˜s¤E§K¡KÐ0°3¼¿¹Ð2FÐGÓHˆØ×Ñ˜Ÿ™ sÑ+¬U¯[©[Ô9Ø×Ñ˜Ÿ™ sÑ+¬U¯]©]Ô;à×#Ñ#¤JØ$DõFä�O‰O˜a¤§¡Ð-Ð.Ô/÷Fð ×#Ñ#¤JØ$KõMä�O‰O˜Z˜LÔ)÷Mð M÷Fð Fú÷Mð Mús   Ã;'E Å E,Å E)Å,E5c                 óF  — | j                  t        d«      5  t        j                  t        j
                  «       d d d «       | j                  t        d«      5  t        j                  t        j
                  t        «       d d d «       y # 1 sw Y   ŒQxY w# 1 sw Y   y xY w)Nzcannot register)rm   rn   r   Úregisterr   rh   Údefine_boxingr   r'   s    r   Útest_invalid_usesz$TestStructRefBasic.test_invalid_usesž   sj   € Ø×#Ñ#¤JÐ0AÕBÜ×ÑœuŸ™Ô/÷ Cà×#Ñ#¤JÐ0AÕBÜ×#Ñ#¤E§O¡O´XÔ>÷ CÐB÷ CÐBúçBÐBús   —$BÁ)BÂBÂB c                 ó   — t        j                  dt         j                  ¬«      }d}||z   }t        ||«      }| j	                  |t
        «       | j                  |t        |«      «       |||z  z   }t        |«      }| j                  ||«       y )Né
   ©Údtypeé   )	ÚnpÚarangeÚintprH   ÚassertNotIsInstancer   ÚassertPreciseEqualr&   r7   )r(   rF   rG   Úfirst_expectedÚ	first_gotÚsecond_expectedÚ
second_gots          r   Útest_MySimplerStructTypez+TestStructRefBasic.test_MySimplerStructType¤   s   € Ü�Y‰Y�r¤§¡Ô)ˆØˆà˜b™ˆÜ% b¨#Ó.ˆ	ð 	× Ñ  ¬HÔ5Ø×Ñ ´
¸9Ó0EÔFà(¨C°#©IÑ6ˆÜ# IÓ.ˆ
Ø×Ñ °Õ<r   c                 ó†  — t        j                  dt         j                  ¬«      }d}t        ||«      }| j	                  |t
        j                  «       | j                  t        d«      5  |j                   d d d «       | j                  t        d«      5  |j                   d d d «       y # 1 sw Y   Œ5xY w# 1 sw Y   y xY w)Nrv   rw   ry   r   r   )rz   r{   r|   rH   ÚassertIsInstancer   r"   rm   ÚAttributeErrorr   r   )r(   rF   rG   Úwrappers       r   Ú-test_MySimplerStructType_wrapper_has_no_attrsz@TestStructRefBasic.test_MySimplerStructType_wrapper_has_no_attrs³   sˆ   € Ü�Y‰Y�r¤§¡Ô)ˆØˆÜ# B¨Ó,ˆØ×Ñ˜g¤y×'?Ñ'?Ô@Ø×#Ñ#¤N°HÕ=Ø�NŠN÷ >à×#Ñ#¤N°IÕ>Ø�OŠO÷ ?Ð>÷ >Ð=úç>Ð>ús   Á*B+ÂB7Â+B4Â7C c                 ój  — t        j                  dt         j                  ¬«      }d}|j                  «       }t	        ||«      }| j                  |t        «       | j                  ||j                  «       ||z   }t        |«      }| j                  ||«       | j                  |j                  |«       y ©Nrv   rw   é   )rz   r{   rl   ÚcopyrL   r…   r   r~   r   r7   rj   r   )r(   rF   rG   Úfirst_expected_arrr€   r�   r‚   s          r   Útest_MyStructTypez$TestStructRefBasic.test_MyStructType½   s”   € Ü�Y‰Y�r¤§¡Ô,ˆØˆàŸW™W›YÐÜ! " cÓ*ˆ	Ø×Ñ˜i¬Ô2Ø×ÑÐ 2°I×4DÑ4DÔEà,¨sÑ2ˆÜ# IÓ.ˆ
Ø×Ñ °Ô<Ø×Ñ˜×*Ñ*¨CÕ0r   c                 ó  — t         d„ «       } |dddd«      \  }}| j                  |j                  d«       | j                  |j                  d«       | j                  |j                  d«       | j                  |j                  d«       y )Nc                 ó2   — t        | |«      t        ||«      fS r    rK   )ÚxÚyÚmÚns       r   Ú
mixed_typezDTestStructRefBasic.test_MyStructType_mixed_types.<locals>.mixed_typeÍ   s   € ä˜A˜q“>¤8¨A¨q£>Ð1Ð1r   r]   çffffff@y        333333@)rU   )r   rj   r   r   )r(   r•   re   rf   s       r   Útest_MyStructType_mixed_typesz0TestStructRefBasic.test_MyStructType_mixed_typesË   sz   € ä	ñ	2ó 
ð	2ñ ˜!˜S $¨Ó-‰ˆˆ1Ø×Ñ˜Ÿ™ 1Ô%Ø×Ñ˜Ÿ™ CÔ(Ø×Ñ˜Ÿ™ 4Ô(Ø×Ñ˜Ÿ™ DÕ)r   c                 ó*  — t        j                  «       }t        dd«      |d<   | j                  |d   j                  d«       | j                  |d   j
                  d«       t        dd«      |d<   | j                  |d   j                  d«       | j                  |d   j
                  d«       |d   xj                  dz  c_        | j                  |d   j                  d«       | j                  |d   j
                  d«       t        dd	«      |d
<   y )Nr]   r–   re   é   gffffff
@rv   é   rU   gffffff@rf   )r   ÚDictr   rj   r   r   ©r(   Útds     r   Útest_MyStructType_in_dictz,TestStructRefBasic.test_MyStructType_in_dict×   sß   € Ü�Z‰Z‹\ˆÜ˜1˜cÓ"ˆˆ3‰Ø×Ñ˜˜C™Ÿ™¨Ô+Ø×Ñ˜˜C™Ÿ™¨#Ô.ä˜1˜cÓ"ˆˆ3‰Ø×Ñ˜˜C™Ÿ™¨Ô+Ø×Ñ˜˜C™Ÿ™¨#Ô.à
ˆ3‰�Š˜"Ñ�Ø×Ñ˜˜C™Ÿ™¨Ô,Ø×Ñ˜˜C™Ÿ™¨#Ô.ä˜1˜cÓ"ˆˆ3Šr   c                 ón  — | j                  «        t        j                  «       }t        dd«      |d<   | j	                  |d   j
                  d«       | j	                  |d   j                  d«       | j                  t        j                  d«      5  t        dd«      |d<   d d d «       y # 1 sw Y   y xY w)Nr]   r–   re   zCannot cast numba.MyStructTyperf   )
Údisable_leak_checkr   r›   r   rj   r   r   rm   r   ÚTypingErrorrœ   s     r   Ú*test_MyStructType_in_dict_mixed_type_errorz=TestStructRefBasic.test_MyStructType_in_dict_mixed_type_errorç   sš   € Ø×ÑÔ!ä�Z‰Z‹\ˆÜ˜1˜cÓ"ˆˆ3‰Ø×Ñ˜˜C™Ÿ™¨Ô+Ø×Ñ˜˜C™Ÿ™¨#Ô.ð ×#Ñ#¤F×$6Ñ$6Ø$EõGô ˜s AÓ&ˆBˆs‰G÷	G÷ Gñ Gús   ÂB+Â+B4c                 óh   — t        dd«      }t        |«       | j                  t        |«      d«       y )Nr]   r™   rT   )r   r   rj   Úhash)r(   rA   s     r   Ú*test_MyStructType_hash_no_typeof_recursionz=TestStructRefBasic.test_MyStructType_hash_no_typeof_recursionö   s*   € ô �a˜‹^ˆÜˆrŒ
à×Ñœ˜b› 1Õ%r   N)r   r   r   rp   rt   rƒ   rˆ   rŽ   r—   rž   r¢   r¥   r   r   r   rc   rc   �   s/   „ ò*ò?ò=òò1ò
*ò#ò 'ó&r   rc   r2   c                 ó   — d„ }|S )Nc                 ó:   — | j                   |z  | j                  z   S r    r/   r0   s     r   Úimplz%_ol_mystructtype_testme.<locals>.impl  r3   r   r   )r(   r1   r¨   s      r   Ú_ol_mystructtype_testmer©   ÿ   s   € ò0à€Kr   r5   c                 ó   — d„ }|S )Nc                 ó2   — | j                   | j                  fS r    r/   r'   s    r   Úgetz"_ol_mystructtype_prop.<locals>.get  s   € Ø�{‰{˜DŸL™LÐ(Ð(r   r   ©r(   r¬   s     r   Ú_ol_mystructtype_propr®     s   € ò)à€Jr   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestStructRefExtendingc                 óv   — t         d„ «       }d} ||«      }|j                  |«      }| j                  ||«       y )Nc                 óŠ   — t        j                  dt         j                  ¬«      }d}t        ||«      }|j	                  | «      S rŠ   )rz   r{   rl   r   r2   )r‘   rF   rG   Úobjs       r   Úcheckz:TestStructRefExtending.test_overload_method.<locals>.check  s5   € ä—‘˜2¤R§Z¡ZÔ0ˆBØˆCÜ˜2˜sÓ#ˆCØ—:‘:˜a“=Ð r   rT   ©r   Úpy_funcr~   ©r(   r´   r‘   ÚgotÚexpects        r   Útest_overload_methodz+TestStructRefExtending.test_overload_method  sB   € Ü	ñ	!ó 
ð	!ð ˆÙ�A‹hˆØ—‘˜qÓ!ˆØ×Ñ  VÕ,r   c                 ón   — t         d„ «       } |«       }|j                  «       }| j                  ||«       y )Nc                  ó€   — t        j                  dt         j                  ¬«      } d}t        | |«      }|j                  S rŠ   )rz   r{   rl   r   r5   )rF   rG   r³   s      r   r´   z=TestStructRefExtending.test_overload_attribute.<locals>.check  s0   € ä—‘˜2¤R§Z¡ZÔ0ˆBØˆCÜ˜2˜sÓ#ˆCØ—8‘8ˆOr   rµ   ©r(   r´   r¸   r¹   s       r   Útest_overload_attributez.TestStructRefExtending.test_overload_attribute  s8   € Ü	ñ	ó 
ð	ñ ‹gˆØ—‘“ˆØ×Ñ  VÕ,r   N)r   r   r   rº   r¾   r   r   r   r°   r°     s   „ ò-ó
-r   r°   c                 ó    — t        | |¬«      }|S rJ   rK   )r‘   r’   Ústructs      r   Úcaching_test_makerÁ   (  s   € Ü˜Q¨Ô*€FØ€Mr   c                 ó$   — | j                  |«      S r    )r2   )rÀ   Úzs     r   Úcaching_test_userÄ   -  s   € Ø�=‰=˜ÓÐr   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestStructRefCachingc                 ó  — t        t        j                  «      | _        t	        d| j                  «      | _        | j
                  j                  «        t        j                  d«       t        j                  dd¬«       y )NÚ	CACHE_DIRÚerrorÚignoreÚ	typeguard)ÚactionÚmodule)
r   rÆ   r   Ú
_cache_dirr   Ú_cache_overrideÚ	__enter__ÚwarningsÚsimplefilterÚfilterwarningsr'   s    r   ÚsetUpzTestStructRefCaching.setUp2  sX   € Ü(Ô)=×)FÑ)FÓGˆŒÜ.¨{¸D¿O¹OÓLˆÔØ×Ñ×&Ñ&Ô(Ü×Ñ˜gÔ&Ü×Ñ x¸ÖDr   c                 óf   — | j                   j                  d d d «       t        j                  «        y r    )rÏ   Ú__exit__rÑ   Úresetwarningsr'   s    r   ÚtearDownzTestStructRefCaching.tearDown9  s&   € Ø×Ñ×%Ñ% d¨D°$Ô7Ü×ÑÕ r   c                 óP   ‡ ‡‡— ˆ fd„Šˆ fd„Šˆˆˆ fd„} |d¬«        |d¬«       y )Nc                 óš   •— ‰j                  t        | j                  «      d«       ‰j                  t        | j                  «      d«       y )Nr]   r   ©rj   ÚlenÚ
cache_hitsÚcache_misses©Ústatsr(   s    €r   Úassert_cachedzBTestStructRefCaching.test_structref_caching.<locals>.assert_cached>  ó9   ø€ Ø×ÑœS ×!1Ñ!1Ó2°AÔ6Ø×ÑœS ×!3Ñ!3Ó4°aÕ8r   c                 óš   •— ‰j                  t        | j                  «      d«       ‰j                  t        | j                  «      d«       y r\   rÛ   rß   s    €r   Úassert_not_cachedzFTestStructRefCaching.test_structref_caching.<locals>.assert_not_cachedB  râ   r   c                 ó’  •—  t        d¬«      t        «      } t        d¬«      t        «      }t        j                  j	                  d«      }d}d} |||«      } |||«      }||z  |z   }‰j                  ||«       | r% ‰	|j                  «        ‰	|j                  «       y  ‰
|j                  «        ‰
|j                  «       y )NT)ÚcacherT   é   )r   rÁ   rÄ   rz   Úrandomr~   rà   )ÚcachedÚ
check_makeÚ	check_userF   rG   ÚfactorrA   r¸   r¹   rá   rä   r(   s            €€€r   r´   z:TestStructRefCaching.test_structref_caching.<locals>.checkF  s²   ø€ Ø)œ DÔ)Ô*;Ó<ˆJØ(œ 4Ô(Ô)9Ó:ˆIÜ—‘×!Ñ! !Ó$ˆBØˆCØˆFÙ˜B Ó$ˆBÙ˜B Ó'ˆCØ˜&‘[ 3Ñ&ˆFØ×#Ñ# C¨Ô0áÙ˜j×.Ñ.Ô/Ù˜iŸo™oÕ.á! *×"2Ñ"2Ô3Ù! )§/¡/Õ2r   F)ré   Tr   )r(   r´   rá   rä   s   ` @@r   Útest_structref_cachingz+TestStructRefCaching.test_structref_caching=  s$   ú€ ô	9ô	9ö	3ñ$ 	�UÕÙ�TÖr   N)r   r   r   rÔ   rØ   rí   r   r   r   rÆ   rÆ   1  s   „ òEò!ór   rÆ   c                   ó   — e Zd Zd„ Zy)ÚPolygonStructTypec                 ó¶   — dt        | «      › �| _        t        dt        j                  t        j
                  «      fdt        j                  | «      fg«      }|S )Nznumba.PolygonStructType#ÚvalueÚparent)ÚidÚnameÚtupler   ÚOptionalri   )r(   r   s     r   Úpreprocess_fieldsz#PolygonStructType.preprocess_fields_  sP   € à.¬r°$«x¨jÐ9ˆŒ	ÜØ”e—n‘n¤U§[¡[Ó1Ð2Ø”u—~‘~ dÓ+Ð,ð
ó ˆð
 ˆr   N)r   r   r   r÷   r   r   r   rï   rï   \  s   „ ór   rï   rñ   rò   c                   ó2   — e Zd Zd„ Zed„ «       Zed„ «       Zy)ÚPolygonStructc                 óD   — t         j                  j                  | ||«      S r    r!   )r$   rñ   rò   s      r   r#   zPolygonStruct.__new__q  s   € Ü×'Ñ'×/Ñ/°°U¸FÓCÐCr   c                 ó   — t        | «      S r    )ÚPolygonStruct_get_valuer'   s    r   rñ   zPolygonStruct.valuet  s   € ä& tÓ,Ð,r   c                 ó   — t        | «      S r    )ÚPolygonStruct_get_parentr'   s    r   rò   zPolygonStruct.parentx  s   € ä'¨Ó-Ð-r   N)r   r   r   r#   r9   rñ   rò   r   r   r   rù   rù   p  s0   „ òDð ñ-ó ð-ð ñ.ó ñ.r   rù   c                 ó   — | j                   S r    ©rñ   r'   s    r   rü   rü   }  s   € à�:‰:Ðr   c                 ó   — | j                   S r    )rò   r'   s    r   rþ   rþ   ‚  s   € à�;‰;Ðr   Úflipc                 ó   — d„ }|S )Nc                 óB   — | j                   �| j                    | _         y y r    r   r'   s    r   r¨   z%_ol_polygon_struct_flip.<locals>.impl�  s   € Ø�:‰:Ð!ØŸ*™*˜ˆD�Jð "r   r   )r(   r¨   s     r   Ú_ol_polygon_struct_flipr  Ž  s   € ò%ð €Kr   c                 ó   — d„ }|S )Nc                 ó2   — | j                   | j                  fS r    )rñ   rò   r'   s    r   r¬   z$_ol_polygon_struct_prop.<locals>.get˜  s   € Ø�z‰z˜4Ÿ;™;Ð&Ð&r   r   r­   s     r   Ú_ol_polygon_struct_propr  –  s   € ò'à€Jr   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestStructRefForwardTypingc                 óX   — t         d„ «       }d} ||«      }|}| j                  ||«       y )Nc                 óˆ   — t        d d «      }t        d d «      }| |_        ||_        | |_        |j                  j                  S r    )rù   rñ   rò   ©r‘   ÚpolyÚp_polys      r   r´   zCTestStructRefForwardTyping.test_same_type_assignment.<locals>.checkŸ  s?   € ä   tÓ,ˆDÜ" 4¨Ó.ˆFØˆDŒJØ ˆDŒKØˆFŒLØ—;‘;×$Ñ$Ð$r   r‹   ©r   r~   r·   s        r   Útest_same_type_assignmentz4TestStructRefForwardTyping.test_same_type_assignmentž  s9   € Ü	ñ	%ó 
ð	%ð ˆÙ�A‹hˆØˆØ×Ñ  VÕ,r   c                 óZ   — t         d„ «       }d} ||«      }| }| j                  ||«       y )Nc                 óÜ   — t        d d «      }t        d d «      }| |_        ||_        | |_        |j                  «        |j                  j                  «        |j                  j                  S r    )rù   rñ   rò   r  r  s      r   r´   z>TestStructRefForwardTyping.test_overload_method.<locals>.check®  sX   € ä   tÓ,ˆDÜ" 4¨Ó.ˆFØˆDŒJØ ˆDŒKØˆFŒLØ�I‰IŒKØ�K‰K×ÑÔØ—;‘;×$Ñ$Ð$r   rT   r  r·   s        r   rº   z/TestStructRefForwardTyping.test_overload_method­  s;   € Ü	ñ	%ó 
ð	%ð ˆÙ�A‹hˆØ�ˆØ×Ñ  VÕ,r   c                 óR   — t         d„ «       } |«       }d}| j                  ||«       y )Nc                  ó8   — t        dd «      } | j                  d   S )Né   r   )rù   r5   )r³   s    r   r´   zATestStructRefForwardTyping.test_overload_attribute.<locals>.check¿  s   € ä  4Ó(ˆCØ—8‘8˜A‘;Ðr   r  r  r½   s       r   r¾   z2TestStructRefForwardTyping.test_overload_attribute¾  s2   € Ü	ñ	ó 
ð	ñ ‹gˆØˆØ×Ñ  VÕ,r   N)r   r   r   r  rº   r¾   r   r   r   r
  r
  �  s   „ ò-ò-ó"-r   r
  )9r   rÑ   Únumpyrz   Únumbar   r   r   r   Ú
numba.corer   Únumba.experimentalr   Únumba.extendingr	   r
   Únumba.tests.supportr   r   r   r   rr   rh   r   r|   r?   rs   r"   r   r<   Údefine_proxyrB   r@   rH   rL   r&   r*   r-   r7   rX   rZ   rc   r©   r®   r°   rÁ   rÄ   rÆ   rï   ÚAnyÚpolygon_struct_typerù   rü   rþ   r  r  r
  r   r   r   Ú<module>r      s
  ðñó ã ç -Ó -Ý Ý (ß ?÷ó ð
 ×Ñô	˜%Ÿ/™/ó 	ó ð	ñ #Ø�u—z‘z¡!�}Ð%¨	°5·:±:Ð'>Ð?ô€ð €	× Ñ Ð+¨Y×-EÑ-EÔ Fô$ˆy×'Ñ'ô $ðB ×Ñô	�5—?‘?ó 	ó ð	ð €	× Ñ ØØØˆyÐôð ñó ðð ñó ðð
 ñó ðð ñ,ó ð,ð ñó ðð ñó ðð ñó ðð ñ"ó ð"ð ñó ðô!�hô !ôm&˜¨(ô m&ñ` �˜xÓ(ñó )ðñ �L &Ó)ñó *ðô-˜_¨hô -ò6ò
ô(˜?¨Hô (ðV ×Ñô
˜Ÿ™ó 
ó ð
ñ (Øˆe�i‰iÐØˆu�y‰yÐð0ô Ð ô
.�I×,Ñ,ô 
.ð ñó ðð ñó ðð €	× Ñ ØØØˆhÐôñ Ð" FÓ+ñó ,ðñ Ð% vÓ.ñó /ðô)- °(õ )-r   