Ë
    èÿæiÞé  ã                   ó€  — 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Z d dl	Z
d dlmZmZmZmZmZmZmZmZmZ d dlmZmZ d dlmZ d dlmZmZ d dlmZ d dlm Z  d d	l!m"Z" d d
l#m$Z$ d dl%m&Z&m'Z'm(Z( d dl%m)Z)  G d„ de*«      Z+ G d„ de*«      Z,d„ Z- G d„ de'e&«      Z. G d„ de&e'«      Z/e0dk(  r ejb                  «        yy)é    N)ÚOrderedDict)	ÚbooleanÚdeferred_typeÚfloat32Úfloat64Úint16Úint32ÚnjitÚoptionalÚtypeof)ÚerrorsÚtypes)Ú
Dispatcher)ÚLoweringErrorÚTypingError)ÚMemInfo)Újitclass)Ú_box)ÚJitClassType)ÚMemoryLeakMixinÚTestCaseÚskip_if_typeguard)Úskip_unless_scipyc                   ó   — e Zd Zdddœd„Zy)Ú
TestClass1é   ©Úac                ó<   — || _         || _        || _        || _        y ©N)ÚxÚyÚzr   )Úselfr!   r"   r#   r   s        úp/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_jitclasses.pyÚ__init__zTestClass1.__init__   s   € ØˆŒØˆŒØˆŒØˆ�ó    N©é   ©Ú__name__Ú
__module__Ú__qualname__r&   © r'   r%   r   r      s   „ ð qõ r'   r   c                   ó   — e Zd Zdddœd„Zy)Ú
TestClass2r   r   c                óJ   — || _         || _        || _        || _        || _        y r    )r!   r"   r#   Úargsr   )r$   r!   r"   r#   r   r2   s         r%   r&   zTestClass2.__init__!   s%   € ØˆŒØˆŒØˆŒØˆŒ	Øˆ�r'   Nr(   r*   r.   r'   r%   r0   r0       s   „ ð¨1õ r'   r0   c                 óf   — t        j                  | «      }t        |«      }|j                  «        |S r    )r   Úbox_get_meminfoptrr   Úacquire)ÚboxÚptrÚmis      r%   Ú_get_meminfor9   )   s)   € Ü
×
!Ñ
! #Ó
&€CÜ	�‹€BØ‡J�J„LØ€Ir'   c                   ó&  — e Zd Zd/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„ 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e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'„ Z)d(„ Z*d)„ Z+d*„ Z,d+„ Z-d,„ Z.d-„ Z/d.„ Z0y)0ÚTestJitClassNc                 ó4  — |€t        |«       G d„ dt        «      «       }|}|j                  j                  }t	        |j
                  j                  «       «      }t	        |j
                  j                  «       «      }|€#t        |t        «      r|j                  «       }n|}|€J ‚| j                  t        |«      t        |«      «       t        t        ||«      |«      D ]5  \  }}	| j                  |d   |	d   «       | j                  |d   |	d   «       Œ7 y )Nc                   ó   — e Zd Zd„ Zy)ú&TestJitClass._check_spec.<locals>.Testc                  ó   — y r    r.   ©r$   s    r%   r&   z/TestJitClass._check_spec.<locals>.Test.__init__7   s   € Ør'   Nr*   r.   r'   r%   ÚTestr>   4   s   „ ór'   rA   r   r)   )r   ÚobjectÚ
class_typeÚinstance_typeÚlistÚstructÚkeysÚvaluesÚ
isinstancer   ÚitemsÚassertEqualÚlenÚzip)
r$   ÚspecÚtest_clsÚall_expectedrA   ÚclstyÚnamesrH   ÚgotÚexpecteds
             r%   Ú_check_speczTestJitClass._check_spec2   sý   € ØÐÜ�d‹^ô”vó ó ðð ˆHà×#Ñ#×1Ñ1ˆÜ�U—\‘\×&Ñ&Ó(Ó)ˆÜ�e—l‘l×)Ñ)Ó+Ó,ˆàÐÜ˜$¤Ô,Ø#Ÿz™z›|‘à#�àÐ'Ð'Ð'à×Ñœ˜U›¤S¨Ó%6Ô7Ü ¤ U¨FÓ!3°\ÖB‰MˆC�Ø×Ñ˜S ™V X¨a¡[Ô1Ø×Ñ˜S ™V X¨a¡[Õ1ñ Cr'   c                 ó^   — t        «       }t        |d<   t        |d<   | j                  |«       y ©Nr!   r"   )r   r	   r   rU   ©r$   rN   s     r%   Útest_ordereddict_specz"TestJitClass.test_ordereddict_specL   s)   € Ü‹}ˆÜˆˆS‰	ÜˆˆS‰	Ø×Ñ˜Õr'   c                 óF   — dt         fdt        fg}| j                  |«       y rW   )r	   r   rU   rX   s     r%   Útest_list_speczTestJitClass.test_list_specR   s%   € Ø”e�Ø”g�ð ˆà×Ñ˜Õr'   c           	      ó°   — dt         fg}t        |«       G d„ dt        «      «       }| j                  |||dt	        j
                  t        «      fgz   «       y )Nr!   c                   óB   — e Zd ZU eed<   ej                  e   ed<   d„ Zy)ú1TestJitClass.test_type_annotations.<locals>.Test1r!   r"   c                  ó   — y r    r.   r@   s    r%   r&   z:TestJitClass.test_type_annotations.<locals>.Test1.__init___   ó   € Ør'   N)	r+   r,   r-   ÚintÚ__annotations__ÚptÚListÚfloatr&   r.   r'   r%   ÚTest1r^   Z   s   … à‹FØ�w‰w�u‰~Óór'   rf   r"   )r	   r   rB   rU   r   ÚListTyper   )r$   rN   rf   s      r%   Útest_type_annotationsz"TestJitClass.test_type_annotationsW   sT   € Ø”e�ˆ~ˆä	�$‹ô	”Fó 	ó 
ð	ð 	×Ñ˜˜u d¨s´E·N±NÄ7Ó4KÐ.LÐ-MÑ&MÕNr'   c                 ó–   —  G d„ d«      }t          G d„ d|«      «       }| j                  |dt        d«      fdt        d«      fg¬	«       y )
Nc                   ó   — e Zd ZU eed<   y)ú:TestJitClass.test_type_annotation_inheritance.<locals>.Foor!   N)r+   r,   r-   ra   rb   r.   r'   r%   ÚFoork   f   s   … ØŒFr'   rl   c                   ó(   — e Zd ZU eed<   deddfd„Zy)ú:TestJitClass.test_type_annotation_inheritance.<locals>.Barr"   ÚvalueÚreturnNc                 ó2   — t        |«      | _        || _        y r    )ra   r!   r"   ©r$   ro   s     r%   r&   zCTestJitClass.test_type_annotation_inheritance.<locals>.Bar.__init__m   s   € Ü˜U›�”Ø�•r'   ©r+   r,   r-   re   rb   r&   r.   r'   r%   ÚBarrn   i   s   … à‹Hð eð °ô r'   rt   r!   r   r"   ç        )rO   rP   )r   rU   r   )r$   rl   rt   s      r%   Ú test_type_annotation_inheritancez-TestJitClass.test_type_annotation_inheritanced   sX   € ÷	ñ 	ô 
ô	�#ó 	ó 
ð	ð 	×ÑØ¨¬f°Q«iÐ(8¸3ÄÀsÃÐ:LÐ'Mð 	õ 	
r'   c                 óÚ  — dt         fdt        d d  fg}dt        fdt        d d  fg} G d„ dt        «      }| j	                  t
        «      5 }t        ||«       d d d «       | j                  dt        j                  «      «       | j	                  t
        «      5 }t        ||«       d d d «       | j                  t        |j                  «      d«       y # 1 sw Y   Œ~xY w# 1 sw Y   Œ;xY w)Nr!   r"   r)   c                   ó   — e Zd Zd„ Zy)ú+TestJitClass.test_spec_errors.<locals>.Testc                  ó   — y r    r.   r@   s    r%   r&   z4TestJitClass.test_spec_errors.<locals>.Test.__init__{   r`   r'   Nr*   r.   r'   r%   rA   ry   y   ó   „ ór'   rA   z*spec values should be Numba type instancesz"spec keys should be strings, got 1)ra   r   r	   rB   ÚassertRaisesÚ	TypeErrorr   ÚassertInÚstrÚ	exceptionrK   )r$   Úspec1Úspec2rA   Úraisess        r%   Útest_spec_errorszTestJitClass.test_spec_errorsu   sÉ   € Ø”s�˜c¤7©1 :Ð.Ð/ˆØ”U�˜c¤7©1 :Ð.Ð/ˆô	”6ô 	ð
 ×ÑœyÔ)¨VÜ�T˜5Ô!÷ *à�‰ÐBÜ˜&×*Ñ*Ó+ô	-à×ÑœyÔ)¨VÜ�T˜5Ô!÷ *à×Ñœ˜V×-Ñ-Ó.Ø=õ	?÷ *Ð)ú÷ *Ð)ús   ÁCÂC!ÃCÃ!C*c                 óô   — t        g «       G d„ d«      «       }| j                  t        j                  «      5 } |«        d d d «       | j	                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)Nc                   ó   — e Zd Zd„ Zy)ú+TestJitClass.test_init_errors.<locals>.Testc                  ó   — y©Né   r.   r@   s    r%   r&   z4TestJitClass.test_init_errors.<locals>.Test.__init__‹   ó   € Ør'   Nr*   r.   r'   r%   rA   r‡   ‰   s   „ ór'   rA   z"__init__() should return None, not)r   r|   r   r   r~   r   r€   )r$   rA   rƒ   s      r%   Útest_init_errorszTestJitClass.test_init_errors‡   sg   € ä	�"‹÷	ð 	ó 
ð	ð ×Ñœv×1Ñ1Ô2°fÙŒF÷ 3ð 	�‰Ð:Ü˜&×*Ñ*Ó+õ	-÷ 3Ð2ús   ¸A.Á.A7c                 ó�   — t        «       }t        |d<   t        |d<   t        d d  |d<   t        |«       G d„ dt        «      «       }|S )Nr!   r"   Úarrc                   ó   — e Zd Zd„ Zd„ Zy)ú9TestJitClass._make_Float2AndArray.<locals>.Float2AndArrayc                 ó.   — || _         || _        || _        y r    ©r!   r"   rŽ   )r$   r!   r"   rŽ   s       r%   r&   zBTestJitClass._make_Float2AndArray.<locals>.Float2AndArray.__init__�   s   € Ø�”Ø�”Ø�•r'   c                 óZ   — | xj                   |z  c_         | xj                  |z  c_        |S r    ©r!   r"   ©r$   Úvals     r%   Úaddz=TestJitClass._make_Float2AndArray.<locals>.Float2AndArray.add¢   s!   € Ø—’˜#‘•Ø—’˜#‘•Ø�
r'   N)r+   r,   r-   r&   r—   r.   r'   r%   ÚFloat2AndArrayr�   š   s   „ òó
r'   r˜   )r   r   r   rB   )r$   rN   r˜   s      r%   Ú_make_Float2AndArrayz!TestJitClass._make_Float2AndArray”   sM   € Ü‹}ˆÜˆˆS‰	ÜˆˆS‰	Ü™a�jˆˆU‰ä	�$‹ô
	œVó 
	ó 
ð
	ð Ðr'   c                 óx   — t        «       }t        |d<   t        |d<   t        |«       G d„ dt        «      «       }|S )Nr!   r"   c                   ó   — e Zd Zd„ Zy)ú+TestJitClass._make_Vector2.<locals>.Vector2c                 ó    — || _         || _        y r    r”   )r$   r!   r"   s      r%   r&   z4TestJitClass._make_Vector2.<locals>.Vector2.__init__±   s   € Ø�”Ø�•r'   Nr*   r.   r'   r%   ÚVector2rœ   ®   s   „ ór'   rž   )r   r	   r   rB   )r$   rN   rž   s      r%   Ú_make_Vector2zTestJitClass._make_Vector2©   s?   € Ü‹}ˆÜˆˆS‰	ÜˆˆS‰	ä	�$‹ô	”fó 	ó 
ð	ð ˆr'   c                 óP  ‡‡‡— | j                  «       Š| j                  «       Št        d„ «       Št        ˆˆˆfd„«       }t        j                  dt        j
                  ¬«      } ||«      \  }}}| j                  |d«       | j                  |d«       | j                  ||«       y )Nc                 ó4   — | j                   | j                  z   S r    r”   ©Úobjs    r%   Úbarz*TestJitClass.test_jit_class_1.<locals>.bar»   s   € à—5‘5˜3Ÿ5™5‘=Ð r'   c                 ó‚   •—  ‰dd| «      }|j                  d«        ‰dd«      } ‰|«       ‰|«      |j                  fS )Nr)   é   é{   é   é   )r—   rŽ   )r   r£   Úvecr˜   rž   r¤   s      €€€r%   Úfooz*TestJitClass.test_jit_class_1.<locals>.foo¿   s@   ø€ á   A qÓ)ˆCØ�G‰G�CŒLá˜!˜Q“-ˆCÙ�s“8™S ›X s§w¡wÐ.Ð.r'   é
   ©Údtypeéù   rŠ   )r™   rŸ   r
   ÚnpÚonesr   rK   ÚassertPreciseEqual)	r$   r«   Úinpr   ÚbÚcr˜   rž   r¤   s	         @@@r%   Útest_jit_class_1zTestJitClass.test_jit_class_1·   s›   ú€ Ø×2Ñ2Ó4ˆØ×$Ñ$Ó&ˆä	ñ	!ó 
ð	!ô 
õ	/ó 
ð	/ô �g‰g�b¤§
¡
Ô+ˆÙ�c“(‰ˆˆ1ˆaØ×Ñ˜Ð-Ô.Ø×Ñ˜˜EÔ"Ø×Ñ  3Õ'r'   c                 ó4  — | j                  «       }t        d„ «       }t        d„ «       }t        j                  dt        j                  ¬«      } |dd|«      }t        |«      }| j                  |j                  d«       | j                  |j                  t        j                  |«      «       | j                  |j                  j                  |j                  «        ||«      }t        |«      }| j                  |j                  d«       | j                  |j                  d«       | j                  |j                  t        j                  |«      «       | j                  |j                  |j                  «       ~~| j                  |j                  d«        ||«      \  }	}
}| j                  |	d«       | j                  |
d«       | j                  ||«       | j                  |j                  d«       | j                  |j                  d«       | j                  |j                   |«       | j                  |j#                  d«      d«       | j                  |j                  d	«       | j                  |j                  d
«       d|_        d|_        t        j                  dt        j                  ¬«      x|_        }| j                  |j                  d«       | j                  |j                  d«       | j                  |j                   |«       y )Nc                 ó   — | S r    r.   r¢   s    r%   Úidentityz>TestJitClass.test_jitclass_usage_from_python.<locals>.identityÐ   s   € àˆJr'   c                 óH   — | j                   | j                  | j                  fS r    r’   r¢   s    r%   Úretrieve_attributeszITestJitClass.test_jitclass_usage_from_python.<locals>.retrieve_attributesÔ   s   € à—5‘5˜#Ÿ%™% §¡Ð(Ð(r'   r¬   r­   r)   r¦   r©   r§   é|   é}   iM  i¼  r   )r™   r
   r°   Úaranger   r9   rK   ÚrefcountÚdatar   Úbox_get_dataptrÚ_numba_type_rC   ÚassertIsr!   r"   rŽ   r—   )r$   r˜   r¹   r»   rŽ   r£   Úobj_meminfoÚotherÚother_meminfoÚout_xÚout_yÚout_arrÚnewarrs                r%   Útest_jitclass_usage_from_pythonz,TestJitClass.test_jitclass_usage_from_pythonÍ   s  € Ø×2Ñ2Ó4ˆä	ñ	ó 
ð	ô 
ñ	)ó 
ð	)ô �i‰i˜¤"§*¡*Ô-ˆÙ˜Q  3Ó'ˆÜ" 3Ó'ˆØ×Ñ˜×-Ñ-¨qÔ1Ø×Ñ˜×)Ñ)¬4×+?Ñ+?ÀÓ+DÔEØ×Ñ˜×)Ñ)×4Ñ4Ø'×2Ñ2ô	4ñ ˜“ˆÜ$ UÓ+ˆØ×Ñ˜×-Ñ-¨qÔ1Ø×Ñ˜×/Ñ/°Ô3Ø×Ñ˜×+Ñ+¬T×-AÑ-AÀ%Ó-HÔIØ×Ñ˜×+Ñ+¨[×-=Ñ-=Ô>ð �=Ø×Ñ˜×-Ñ-¨qÔ1ñ !4°CÓ 8Ñˆˆu�gØ×Ñ˜ Ô"Ø×Ñ˜ Ô"Ø�‰�g˜sÔ#ð 	×Ñ˜Ÿ™ Ô"Ø×Ñ˜Ÿ™ Ô"Ø�‰�c—g‘g˜sÔ#ð 	×Ñ˜Ÿ™ › sÔ+Ø×Ñ˜Ÿ™ Ô(Ø×Ñ˜Ÿ™ Ô(ð ˆŒØˆŒÜŸ9™9 Q¬b¯j©jÔ9Ð9ˆŒ�&Ø×Ñ˜Ÿ™ Ô$Ø×Ñ˜Ÿ™ Ô$Ø�‰�c—g‘g˜vÕ&r'   c                 óè   — t        «       }t        |d<   t        |«       G d„ dt        «      «       }| j	                   |d«      j
                  «       | j                   |d«      j
                  «       y )Nr–   c                   ó   — e Zd Zd„ Zy)ú2TestJitClass.test_jitclass_datalayout.<locals>.Fooc                 ó   — || _         y r    ©r–   r•   s     r%   r&   z;TestJitClass.test_jitclass_datalayout.<locals>.Foo.__init__  ó	   € Ø�•r'   Nr*   r.   r'   r%   rl   rÎ     s   „ ór'   rl   TF)r   r   r   rB   Ú
assertTruer–   ÚassertFalse)r$   rN   rl   s      r%   Útest_jitclass_datalayoutz%TestJitClass.test_jitclass_datalayout  s[   € Ü‹}ˆäˆˆU‰ä	�$‹ô	”&ó 	ó 
ð	ð
 	�‰™˜D›	Ÿ™Ô&Ø×Ñ™˜U›Ÿ™Õ(r'   c                 óš  ‡	— t        «       }t        «       }t        |d<   t        |«      |d<   t        d„ «       Š	t        |«       G ˆ	fd„dt        «      «       }|j                  |j                  j                  «        |dd «      }| j                  |j                  d«       | j                  |j                  «        |d|«      }t        |«      }t        |«      }| j                  |j                  d«       | j                  |j                  j                  |j                  «       | j                  |j                  d«       | j                  |j                  d	«       |j!                  «       }| j                  ||j                  «       | j                  |j                  «       |j#                   |d
d «      «       | j%                  |j                  «       | j                  |j                  j                  d
«       | j                  |j                  j                  «       |j#                   |dd «      «       | j%                  |j                  j                  «       | j                  |j                  j                  j                  d«       | j                  |j                  d«       ~~| j                  |j                  d	«       y )NrÀ   Únextc                 ó   — | j                   S r    ©rÀ   )Únodes    r%   Úget_dataz1TestJitClass.test_deferred_type.<locals>.get_data  s   € à—9‘9Ðr'   c                   ó$   •— e Zd Zd„ Zˆ fd„Zd„ Zy)ú3TestJitClass.test_deferred_type.<locals>.LinkedNodec                 ó    — || _         || _        y r    )rÀ   rÖ   )r$   rÀ   rÖ   s      r%   r&   z<TestJitClass.test_deferred_type.<locals>.LinkedNode.__init__  s   € Ø �”	Ø �•	r'   c                 ó(   •—  ‰| j                   «      S r    ©rÖ   )r$   rÚ   s    €r%   Úget_next_datazATestJitClass.test_deferred_type.<locals>.LinkedNode.get_next_data#  s   ø€ á §	¡	Ó*Ð*r'   c                 ó`   — | }|j                   �|j                   }|j                   �Œ||_         y r    rß   )r$   rÅ   Úcurs      r%   Úappend_to_tailzBTestJitClass.test_deferred_type.<locals>.LinkedNode.append_to_tail'  s-   € Ø�Ø—h‘hÐ*ØŸ(™(�Cð —h‘hÑ*à �•r'   N)r+   r,   r-   r&   rà   rã   )rÚ   s   €r%   Ú
LinkedNoderÜ     s   ø„ ò!ô+ó!r'   rä   r§   éA  r¨   r¦   é7  i¦  )r   r   r   r   r
   r   rB   ÚdefinerC   rD   rK   rÀ   ÚassertIsNonerÖ   r9   r¿   rà   rã   ÚassertIsNotNone)
r$   Ú	node_typerN   rä   ÚfirstÚsecondÚfirst_meminfoÚsecond_meminfoÚ	first_valrÚ   s
            @r%   Útest_deferred_typezTestJitClass.test_deferred_type  s0  ø€ Ü!“Oˆ	ä‹}ˆÜˆˆV‰Ü 	Ó*ˆˆV‰ä	ñ	ó 
ð	ô 
�$‹ö	!œó 	!ó 
ð	!ð  	×Ñ˜×.Ñ.×<Ñ<Ô=á˜3 Ó%ˆØ×Ñ˜Ÿ™ SÔ)Ø×Ñ˜%Ÿ*™*Ô%á˜C Ó'ˆä$ UÓ+ˆÜ% fÓ-ˆØ×Ñ˜×/Ñ/°Ô3Ø×Ñ˜Ÿ™×)Ñ)¨5¯:©:Ô6Ø×Ñ˜×/Ñ/°Ô3Ø×Ñ˜×0Ñ0°!Ô4ð ×(Ñ(Ó*ˆ	Ø×Ñ˜ E§J¡JÔ/ð 	×Ñ˜%Ÿ*™*Ô%Ø×Ñ™j¨¨dÓ3Ô4Ø×Ñ˜UŸZ™ZÔ(Ø×Ñ˜Ÿ™Ÿ™¨#Ô.Ø×Ñ˜%Ÿ*™*Ÿ/™/Ô*Ø×Ñ™j¨¨dÓ3Ô4Ø×Ñ˜UŸZ™ZŸ_™_Ô-Ø×Ñ˜Ÿ™Ÿ™×-Ñ-¨sÔ3ð 	×Ñ˜×/Ñ/°Ô3Ø�NØ×Ñ˜×/Ñ/°Õ3r'   c                 óZ  — t        «       }t        |d<   t        |d<   t        |d<   t	        |«       G d„ dt
        «      «       } |ddd«      } G d	„ d
t        j                  «      }t        j                  t        j                  |«      «      }t        j                  |t        j                  |«      «      d   }| j                  |j                  |j                  «       | j                  |j                  |j                  «       | j                  |j                   |j                   «       y )Nr   r´   rµ   c                   ó   — e Zd Zd„ Zy)ú-TestJitClass.test_c_structure.<locals>.Structc                 ó.   — || _         || _        || _        y r    )r   r´   rµ   )r$   r   r´   rµ   s       r%   r&   z6TestJitClass.test_c_structure.<locals>.Struct.__init__X  ó   € Ø�”Ø�”Ø�•r'   Nr*   r.   r'   r%   ÚStructró   U  s   „ ór'   rö   iÍ«  éï   çoƒÀÊ!	@c                   ó^   — e Zd Zdej                  fdej
                  fdej                  fgZy)ú.TestJitClass.test_c_structure.<locals>.CStructr   r´   rµ   N)r+   r,   r-   ÚctypesÚc_int32Úc_int16Úc_doubleÚ_fields_r.   r'   r%   ÚCStructrú   _  s-   „ à�f—n‘nÐ%Ø�f—n‘nÐ%Ø�f—o‘oÐ&ð‰Hr'   r   r   )r   r	   r   r   r   rB   rû   Ú	StructureÚc_void_pr   rÁ   ÚcastÚPOINTERrK   r   r´   rµ   )r$   rN   rö   Ústr   r7   Úcstructs          r%   Útest_c_structurezTestJitClass.test_c_structureO  sä   € Ü‹}ˆÜˆˆS‰	ÜˆˆS‰	ÜˆˆS‰	ä	�$‹ô	”Vó 	ó 
ð	ñ �F˜D &Ó)ˆô	”f×&Ñ&ô 	ô �o‰oœd×2Ñ2°2Ó6Ó7ˆÜ—+‘+˜c¤6§>¡>°'Ó#:Ó;¸AÑ>ˆØ×Ñ˜Ÿ™ B§D¡DÔ)Ø×Ñ˜Ÿ™ B§D¡DÔ)Ø×Ñ˜Ÿ™ B§D¡DÕ)r'   c                 óþ   — | j                  «       } |dd«      }t        d„ «       }| j                  t        «      5 } |||«       d d d «       | j	                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)Nr)   r¦   c                 ó
   — | |u S r    r.   ©r   r´   s     r%   Údo_isz#TestJitClass.test_is.<locals>.do_isp  s   € à˜�6ˆMr'   zno default `is` implementation)rŸ   r
   r|   r   r~   r   r€   )r$   ÚVectorÚvec_ar  rƒ   s        r%   Útest_iszTestJitClass.test_isl  ss   € Ø×#Ñ#Ó%ˆÙ�q˜!“ˆä	ñ	ó 
ð	ð ×Ñœ}Ô-°á�%˜Ô÷ .ð 	�‰Ð6¼¸F×<LÑ<LÓ8MÕN÷ .Ð-ús   »
A3Á3A<c                 óZ   — | j                  «       } |dd«      }| j                  ||«       y ©Nr)   r¦   )rŸ   ÚassertIsInstance)r$   rž   rª   s      r%   Útest_isinstancezTestJitClass.test_isinstancey  s+   € Ø×$Ñ$Ó&ˆÙ�a˜‹mˆØ×Ñ˜c 7Õ+r'   c                 óØ   — | j                  «       }| j                  t        «      5 } G d„ d|«      }d d d «       | j                  t	        j
                  «      d«       y # 1 sw Y   Œ/xY w)Nc                   ó   — e Zd Zy)ú+TestJitClass.test_subclassing.<locals>.SubVN)r+   r,   r-   r.   r'   r%   ÚSubVr  �  s   „ Ør'   r  zcannot subclass from a jitclass)rŸ   r|   r}   rK   r   r€   )r$   rž   rƒ   r  s       r%   Útest_subclassingzTestJitClass.test_subclassing~  sZ   € Ø×$Ñ$Ó&ˆØ×ÑœyÔ)¨Vô�wô ÷ *ð 	×Ñœ˜V×-Ñ-Ó.Ø:õ	<÷ *Ð)ús   ¦A Á A)c                 ó²   —  G d„ dt         «      }t        dt        fg«       G d„ d|«      «       } |d«      }| j                  |j	                  «       d«       y )Nc                   ó   — e Zd Zd„ Zy)ú*TestJitClass.test_base_class.<locals>.Basec                 ó   — | j                   S r    ©Úattrr@   s    r%   Úwhatz/TestJitClass.test_base_class.<locals>.Base.what‰  s   € Ø—y‘yÐ r'   N)r+   r,   r-   r  r.   r'   r%   ÚBaser  ‡  s   „ ó!r'   r  r  c                   ó   — e Zd Zd„ Zy)ú*TestJitClass.test_base_class.<locals>.Testc                 ó   — || _         y r    r  ©r$   r  s     r%   r&   z3TestJitClass.test_base_class.<locals>.Test.__init__�  ó	   € Ø �•	r'   Nr*   r.   r'   r%   rA   r!  Œ  s   „ ó!r'   rA   r§   )rB   r   r	   rK   r  )r$   r  rA   r£   s       r%   Útest_base_classzTestJitClass.test_base_class†  sV   € ô	!”6ô 	!ô
 
�FœE�?Ð#Ó	$ô	!�4ó 	!ó 
%ð	!ñ
 �3‹iˆØ×Ñ˜Ÿ™› SÕ)r'   c                 óÖ   —  G d„ dt         «      }| j                  t        «      5 }t        |«       d d d «       | j	                  t        j                  «      d«       y # 1 sw Y   Œ/xY w)Nc                   ó   — e Zd ZdZd„ Zy)ú'TestJitClass.test_globals.<locals>.Miner§   c                  ó   — y r    r.   r@   s    r%   r&   z0TestJitClass.test_globals.<locals>.Mine.__init__š  r`   r'   N)r+   r,   r-   Úconstantr&   r.   r'   r%   ÚMiner(  —  s   „ ØˆHór'   r+  z-class members are not yet supported: constant©rB   r|   r}   r   rK   r   r€   )r$   r+  rƒ   s      r%   Útest_globalszTestJitClass.test_globals•  sV   € ô	”6ô 	ð ×ÑœyÔ)¨VÜ�TŒN÷ *ð 	×Ñœ˜V×-Ñ-Ó.ØHõ	J÷ *Ð)úó   ¥AÁA(c                 óè  — t        dt        fg«       G d„ dt        «      «       } |d«      }| j                  |j                  d«       | j                  |j
                  d«       d|_        | j                  |j                  d«       | j                  |j
                  d«       t        d„ «       } ||d	«      \  }}}| j                  |d«       | j                  |d	«       | j                  |d
«       y )Nr  c                   óF   — e Zd Zd„ Zed„ «       Zej                  d„ «       Zy)ú1TestJitClass.test_user_getter_setter.<locals>.Fooc                 ó   — || _         y r    r  r#  s     r%   r&   z:TestJitClass.test_user_getter_setter.<locals>.Foo.__init__§  r$  r'   c                 ó    — | j                   dz   S ©Nr)   r  r@   s    r%   ro   z7TestJitClass.test_user_getter_setter.<locals>.Foo.valueª  s   € à—y‘y 1‘}Ð$r'   c                 ó   — |dz
  | _         y r4  r  r•   s     r%   ro   z7TestJitClass.test_user_getter_setter.<locals>.Foo.value®  s   € à !™G�•	r'   N)r+   r,   r-   r&   Úpropertyro   Úsetterr.   r'   r%   rl   r1  ¤  s3   „ ò!ð ñ%ó ð%ð �\‰\ñ$ó ñ$r'   rl   r§   r¼   i  i  c                 ób   — | j                   }|| _         | j                   }| j                  }|||fS r    )ro   r  )r«   r–   r   r´   rµ   s        r%   r¤   z1TestJitClass.test_user_getter_setter.<locals>.bar¼  s/   € à—	‘	ˆAØˆCŒIØ—	‘	ˆAØ—‘ˆAØ�a˜�7ˆNr'   ræ   i6  )r   r	   rB   rK   r  ro   r
   )r$   rl   r«   r¤   r   r´   rµ   s          r%   Útest_user_getter_setterz$TestJitClass.test_user_getter_setter£  sà   € Ü	�FœE�?Ð#Ó	$ô	$”&ó 	$ó 
%ð	$ñ �#‹hˆØ×Ñ˜Ÿ™ 3Ô'à×Ñ˜Ÿ™ GÔ,àˆŒ	Ø×Ñ˜Ÿ™ 7Ô+Ø×Ñ˜Ÿ™ CÔ(ô 
ñ	ó 
ð	ñ �c˜3“-‰ˆˆ1ˆaØ×Ñ˜˜CÔ Ø×Ñ˜˜CÔ Ø×Ñ˜˜GÕ$r'   c                 óÖ   —  G d„ dt         «      }| j                  t        «      5 }t        |«       d d d «       | j	                  t        j                  «      d«       y # 1 sw Y   Œ/xY w)Nc                   óF   — e Zd Zd„ Zed„ «       Zej                  d„ «       Zy)ú1TestJitClass.test_user_deleter_error.<locals>.Fooc                  ó   — y r    r.   r@   s    r%   r&   z:TestJitClass.test_user_deleter_error.<locals>.Foo.__init__Ì  r`   r'   c                  ó   — yr4  r.   r@   s    r%   ro   z7TestJitClass.test_user_deleter_error.<locals>.Foo.valueÏ  s   € àr'   c                  ó   — y r    r.   r@   s    r%   ro   z7TestJitClass.test_user_deleter_error.<locals>.Foo.valueÓ  ó   € àr'   N)r+   r,   r-   r&   r6  ro   Údeleterr.   r'   r%   rl   r<  Ê  s3   „ òð ñó ðð �]‰]ñó ñr'   rl   zdeleter is not supported: valuer,  ©r$   rl   rƒ   s      r%   Útest_user_deleter_errorz$TestJitClass.test_user_deleter_errorÉ  sS   € ô	”&ô 	ð ×ÑœyÔ)¨VÜ�SŒM÷ *à×Ñœ˜V×-Ñ-Ó.Ø:õ	<÷ *Ð)úr.  c                 óª  —  G d„ dt         «      }| j                  t        «      5 }t        |dt        fg«       d d d «       | j                  t        j                  «      d«       | j                  t        «      5 }t        |dt        fg«       d d d «       | j                  t        |j                  «      d«       y # 1 sw Y   Œ…xY w# 1 sw Y   Œ;xY w)Nc                   ó(   — e Zd Zd„ Zed„ «       Zd„ Zy)ú3TestJitClass.test_name_shadowing_error.<locals>.Fooc                  ó   — y r    r.   r@   s    r%   r&   z<TestJitClass.test_name_shadowing_error.<locals>.Foo.__init__ß  r`   r'   c                  ó   — y r    r.   r@   s    r%   Úmy_propertyz?TestJitClass.test_name_shadowing_error.<locals>.Foo.my_propertyâ  r@  r'   c                  ó   — y r    r.   r@   s    r%   Ú	my_methodz=TestJitClass.test_name_shadowing_error.<locals>.Foo.my_methodæ  r`   r'   N)r+   r,   r-   r&   r6  rI  rK  r.   r'   r%   rl   rF  Ý  s    „ òð ñó ðór'   rl   rI  zname shadowing: my_propertyrK  zname shadowing: my_method)rB   r|   Ú	NameErrorr   r	   rK   r   r€   rB  s      r%   Útest_name_shadowing_errorz&TestJitClass.test_name_shadowing_errorÜ  s¨   € ô
	”&ô 
	ð ×ÑœyÔ)¨VÜ�S˜M¬5Ð1Ð2Ô3÷ *à×Ñœ˜V×-Ñ-Ó.Ð0MÔNà×ÑœyÔ)¨VÜ�S˜K¬Ð/Ð0Ô1÷ *à×Ñœ˜V×-Ñ-Ó.Ð0KÕL÷ *Ð)ú÷ *Ð)ús   ¥B=Á;C	Â=CÃ	Cc                 ó¬  — t        dt        fg«       G d„ dt        «      «       }|}t        dt        fg«       G d„ dt        «      «       }|} |d«      }| j                  |j                  d«       | j                  |j                  «       d«        |d«      }| j                  |j                  d«       | j                  |j                  «       d	«       y )
Nr!   c                   ó   — e Zd Zd„ Zd„ Zy)ú/TestJitClass.test_distinct_classes.<locals>.Fooc                 ó   — |dz   | _         y ©Nr¦   ©r!   ©r$   r!   s     r%   r&   z8TestJitClass.test_distinct_classes.<locals>.Foo.__init__ö  ó   € Ø˜Q™�•r'   c                 ó    — | j                   dz   S r4  rS  r@   s    r%   Úrunz3TestJitClass.test_distinct_classes.<locals>.Foo.runù  ó   € Ø—v‘v ‘zÐ!r'   N©r+   r,   r-   r&   rW  r.   r'   r%   rl   rP  ó  ó   „ òó"r'   rl   c                   ó   — e Zd Zd„ Zd„ Zy)rP  c                 ó   — |dz
  | _         y rR  rS  rT  s     r%   r&   z8TestJitClass.test_distinct_classes.<locals>.Foo.__init__  rU  r'   c                 ó    — | j                   dz
  S r4  rS  r@   s    r%   rW  z3TestJitClass.test_distinct_classes.<locals>.Foo.run  rX  r'   NrY  r.   r'   r%   rl   z/TestJitClass.test_distinct_classes.<locals>.Fooþ  rZ  r'   r   rŠ   é   r¨   r¦   )r   r	   rB   rK   r!   rW  )r$   rl   ÚFirstFooÚ	SecondFoor«   s        r%   Útest_distinct_classesz"TestJitClass.test_distinct_classesñ  s¾   € ä	�Cœ�<�.Ó	!ô	"”&ó 	"ó 
"ð	"ð ˆä	�Cœ�<�.Ó	!ô	"”&ó 	"ó 
"ð	"ð ˆ	Ù�q‹kˆØ×Ñ˜Ÿ™ Ô"Ø×Ñ˜Ÿ™› AÔ&Ù˜‹lˆØ×Ñ˜Ÿ™ Ô"Ø×Ñ˜Ÿ™› AÕ&r'   c                 óÚ  ‡—  G d„ dt         «      Šˆfd„} |d«      }| j                  |j                  d«        |d«      }| j                  |j                  d«        |t        j                  dg«      «      }t        j
                  j                  |j                  dg«        |t        j                  dg«      «      }t        j
                  j                  |j                  dg«       y )Nc                   ó   — e Zd Zd„ Zy)ú0TestJitClass.test_parameterized.<locals>.MyClassc                 ó   — || _         y r    ©ro   rr   s     r%   r&   z9TestJitClass.test_parameterized.<locals>.MyClass.__init__  ó	   € Ø"�•
r'   Nr*   r.   r'   r%   ÚMyClassrd    s   „ ó#r'   rh  c                 óD   •— t        ‰dt        | «      fg«      } || «      S )Nro   )r   r   )ro   Úclsrh  s     €r%   Úcreate_my_classz8TestJitClass.test_parameterized.<locals>.create_my_class  s%   ø€ Ü˜7 g¬v°e«}Ð%=Ð$>Ó?ˆCÙ�u“:Ðr'   r§   gš™™™™™(@)rB   rK   ro   r°   ÚarrayÚtestingÚassert_equal)r$   rk  r   r´   rµ   Údrh  s         @r%   Útest_parameterizedzTestJitClass.test_parameterized  s¯   ø€ ô	#”fô 	#ô
	ñ ˜CÓ ˆØ×Ñ˜Ÿ™ #Ô&á˜DÓ!ˆØ×Ñ˜Ÿ™ $Ô'áœBŸH™H c U›OÓ,ˆÜ
�
‰
×Ñ §¡¨#¨Ô/áœBŸH™H d VÓ,Ó-ˆÜ
�
‰
×Ñ §¡¨$¨Õ0r'   c                 óˆ  — t         t        t         t         dœ}t        |«       G d„ dt        «      «       }d} ||«      }| j	                  |j
                  |«       | j	                  |j                  |dz  «       | j	                  |j                  |dz  «       | j	                  |j                  |j                  «       |j                  }|xj                  dz  c_        | j	                  |j                  |dz
  «       | j	                  |j                  d«      |dz  «       | j	                  |j                  |dz  «      d«       | j	                  |j                  d«      |j                  dz  «       | j	                  |j                  d«      |j                  dz  «       | j	                  |j                  |dz
  «       |xj                  d	z  c_        | j	                  |j                  |d
z
  «       t        d„ «       }| j                  t        j                   «      5 } ||«       d d d «       | j#                  dt%        j&                  «      «       | j                  t(        «      5 }|j+                  |«       d d d «       | j#                  dt%        |j&                  «      «       y # 1 sw Y   ŒƒxY w# 1 sw Y   Œ;xY w)N)ro   Ú_valueÚ__valueÚ	__value__c                   ó¢   — e Zd Zd„ Zed„ «       Zed„ «       Zej                  d„ «       Zed„ «       Zej                  d„ «       Zd„ Z	d„ Z
d	„ Zd
„ Zy)ú2TestJitClass.test_protected_attrs.<locals>.MyClassc                 óN   — || _         |dz  | _        |dz  | _        |dz
  | _        y )Nr¦   r)   )ro   rr  Ú_MyClass__valuert  rr   s     r%   r&   z;TestJitClass.test_protected_attrs.<locals>.MyClass.__init__0  s*   € Ø"�”
Ø# a™i�”Ø$ q™y�”Ø!&¨¡�•r'   c                 ó   — | j                   S r    ©rx  r@   s    r%   Úprivate_valuez@TestJitClass.test_protected_attrs.<locals>.MyClass.private_value6  ó   € à—|‘|Ð#r'   c                 ó   — | j                   S r    ©rr  r@   s    r%   Ú_inner_valuez?TestJitClass.test_protected_attrs.<locals>.MyClass._inner_value:  s   € à—{‘{Ð"r'   c                 ó   — || _         y r    r~  ©r$   Úvs     r%   r  z?TestJitClass.test_protected_attrs.<locals>.MyClass._inner_value>  s	   € à�•r'   c                 ó   — | j                   S r    rz  r@   s    r%   Ú__private_valuezBTestJitClass.test_protected_attrs.<locals>.MyClass.__private_valueB  r|  r'   c                 ó   — || _         y r    rz  r�  s     r%   r„  zBTestJitClass.test_protected_attrs.<locals>.MyClass.__private_valueF  s	   € à �•r'   c                 ó,   — | j                   }|| _         |S r    )Ú_MyClass__private_value)r$   ÚnewÚolds      r%   Úswap_private_valuezETestJitClass.test_protected_attrs.<locals>.MyClass.swap_private_valueJ  s   € Ø×*Ñ*�Ø'*�Ô$Ø�
r'   c                 ó    — | j                   |z  S r    r~  ©r$   Úfactors     r%   Ú_protected_methodzDTestJitClass.test_protected_attrs.<locals>.MyClass._protected_methodO  s   € Ø—{‘{ VÑ+Ð+r'   c                 ó    — | j                   |z  S r    rz  rŒ  s     r%   Ú__private_methodzCTestJitClass.test_protected_attrs.<locals>.MyClass.__private_methodR  s   € Ø—|‘| fÑ,Ð,r'   c                 ó$   — | j                  |«      S r    )Ú_MyClass__private_methodrŒ  s     r%   Úcheck_private_methodzGTestJitClass.test_protected_attrs.<locals>.MyClass.check_private_methodU  s   € Ø×,Ñ,¨VÓ4Ð4r'   N)r+   r,   r-   r&   r6  r{  r  r7  r‡  rŠ  rŽ  r’  r“  r.   r'   r%   rh  rv  -  s‹   „ ò+ð ñ$ó ð$ð ñ#ó ð#ð × Ñ ñ ó !ð ð ñ$ó ð$ð ×#Ñ#ñ!ó $ð!òò
,ò-ó5r'   rh  r§   r¦   r)   rå   r¨   éd   ée   c                 ó   — | j                   S r    )Ú_TestJitClass__value)Úinsts    r%   Úaccess_dunderz8TestJitClass.test_protected_attrs.<locals>.access_dundero  s   € à—<‘<Ðr'   r—  )r	   r   r   rB   rK   ro   rr  r{  r  rŠ  rŽ  r“  rt  r
   r|   r   r   r~   r   r€   ÚAttributeErrorÚpy_func)r$   rN   rh  ro   r˜  Úfreeze_inst_valuer™  rƒ   s           r%   Útest_protected_attrsz!TestJitClass.test_protected_attrs%  sE  € äÜÜÜñ	
ˆô 
�$‹ô(	5”fó (	5ó 
ð(	5ðT ˆÙ�u‹~ˆà×Ñ˜Ÿ™ UÔ+Ø×Ñ˜Ÿ™ e¨a¡iÔ0Ø×Ñ˜×+Ñ+¨U°Q©YÔ7à×Ñ˜×*Ñ*¨D¯K©KÔ8Ø ŸK™KÐØ×Ò˜QÑÕØ×Ñ˜×*Ñ*Ð,=ÀÑ,AÔBà×Ñ˜×0Ñ0°Ó5°u¸q±yÔAØ×Ñ˜×0Ñ0°¸±Ó;¸SÔAà×Ñ˜×/Ñ/°Ó2°D·K±KÀ!±OÔDØ×Ñ˜×2Ñ2°1Ó5°t×7IÑ7IÈAÑ7MÔNà×Ñ˜Ÿ™¨°©Ô3Ø�Š˜#Ñ�Ø×Ñ˜Ÿ™¨°©Ô5ô 
ñ	 ó 
ð	 ð ×Ñœv×1Ñ1Ô2°fÙ˜$Ô÷ 3ð 	�‰Ð,¬c°&×2BÑ2BÓ.CÔDà×Ñœ~Ô.°&Ø×!Ñ! $Ô'÷ /à�‰Ð,¬c°&×2BÑ2BÓ.CÕD÷ 3Ð2ú÷ /Ð.ús   È!	J,É,J8Ê,J5Ê8Kc                 óÂ   — ddl m} dt        i}t        ||«      } |d«      }| j	                  |j
                  d«       | j	                  |j                  d«      d«       y)zM
        Methods with annotations should compile fine (issue #1911).
        r)   )ÚAnnotatedClassr!   r   r¦   rŠ   N)Úannotation_usecasesrŸ  r	   r   rK   r!   r—   )r$   rŸ  rN   rj  r£   s        r%   Útest_annotationszTestJitClass.test_annotations}  sQ   € õ
 	8à”Uˆ|ˆÜ�~ tÓ,ˆá�!‹fˆØ×Ñ˜Ÿ™ Ô"Ø×Ñ˜Ÿ™ › QÕ'r'   c                 óP  — t          G d„ dt        «      «       }| j                  |j                  d«       | j                  |j                  j                  d«       | j                  |j
                  j                  d«       | j                  |j                  j                  d«       y )Nc                   ó,   — e Zd ZdZd„ Zd„ Zed„ «       Zy)ú*TestJitClass.test_docstring.<locals>.AppleúClass docstringc                  ó   — y)úinit docstringNr.   r@   s    r%   r&   z3TestJitClass.test_docstring.<locals>.Apple.__init__‘  ó   � r'   c                  ó   — y)úfoo method docstringNr.   r@   s    r%   r«   z.TestJitClass.test_docstring.<locals>.Apple.foo”  r¨  r'   c                  ó   — y)úaval property docstringNr.   r@   s    r%   Úavalz/TestJitClass.test_docstring.<locals>.Apple.aval—  r¨  r'   N)r+   r,   r-   Ú__doc__r&   r«   r6  r­  r.   r'   r%   ÚAppler¤  �  s#   „ áò!ò'ð ñ*ó ñ*r'   r¯  r¥  r§  rª  r¬  )r   rB   rK   r®  r&   r«   r­  )r$   r¯  s     r%   Útest_docstringzTestJitClass.test_docstring‹  sƒ   € ä	ô	*”Fó 	*ó 
ð	*ð 	×Ñ˜Ÿ™Ð(9Ô:Ø×Ñ˜Ÿ™×/Ñ/Ð1AÔBØ×Ñ˜Ÿ™×*Ñ*Ð,BÔCØ×Ñ˜Ÿ™×+Ñ+Ð-FÕGr'   c                 óþ   — dt         fdt        fg}t        |«       G d„ dt        «      «       }d}d}d}||dœ} |d	ddi|¤Ž}| j	                  |j
                  ||z  «       | j	                  |j                  |«       y )
Nr   r´   c                   ó   — e Zd Zd„ Zy)ú+TestJitClass.test_kwargs.<locals>.TestClassc                 ó&   — ||z  | _         || _        y r    r
  ©r$   r!   r"   r#   s       r%   r&   z4TestJitClass.test_kwargs.<locals>.TestClass.__init__¦  s   € Ø˜Q™�”Ø�•r'   Nr*   r.   r'   r%   Ú	TestClassr³  ¤  s   „ ór'   r¶  r¦   gš™™™™™ñ?)r"   r#   r!   r.   )r	   r   r   rB   rK   r   r´   )r$   rN   r¶  r!   r"   r#   ÚkwargsÚtcs           r%   Útest_kwargszTestJitClass.test_kwargs   s�   € Ø”e�Ø”g�ð ˆô 
�$‹ô	œó 	ó 
ð	ð
 ˆØˆØˆØ˜qÑ!ˆÙÑ%˜Ð%˜fÑ%ˆØ×Ñ˜Ÿ™˜q 1™uÔ%Ø×Ñ˜Ÿ™˜qÕ!r'   c                 ó   — dt         fdt         fdt         fg}t        |«       G d„ dt        «      «       } |ddd«      }| j                  |j                  d«       | j                  |j
                  d«       | j                  |j                  d«        |dd«      }| j                  |j                  d«       | j                  |j
                  d«       | j                  |j                  d«        |dd	d¬
«      }| j                  |j                  d«       | j                  |j
                  d«       | j                  |j                  d	«       y )Nr!   r"   r#   c                   ó   — e Zd Zdd„Zy)ú1TestJitClass.test_default_args.<locals>.TestClassc                 ó.   — || _         || _        || _        y r    )r!   r"   r#   rµ  s       r%   r&   z:TestJitClass.test_default_args.<locals>.TestClass.__init__¹  rõ   r'   Nr(   r*   r.   r'   r%   r¶  r¼  ·  s   „ ôr'   r¶  r)   r¦   r¨   r   )r"   r#   r!   )r	   r   rB   rK   r!   r"   r#   ©r$   rN   r¶  r¸  s       r%   Útest_default_argszTestJitClass.test_default_args²  s  € Ø”e�Ø”e�Ø”e�ðˆô 
�$‹ô	œó 	ó 
ð	ñ �q˜!˜QÓˆØ×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!á�q˜!‹_ˆØ×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!á˜˜a 1Ô%ˆØ×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÕ!r'   c                 ó4  — dt         fdt         fdt         fdt         fg}t        t        |«      } |dd«      }| j                  |j                  d«       | j                  |j
                  d«       | j                  |j                  d«       | j                  |j                  d«        |d	dd
d¬«      }| j                  |j                  d«       | j                  |j
                  d	«       | j                  |j                  d«       | j                  |j                  d
«        |d	dd
¬«      }| j                  |j                  d«       | j                  |j
                  d	«       | j                  |j                  d«       | j                  |j                  d
«        |d	d¬«      }| j                  |j                  d«       | j                  |j
                  d	«       | j                  |j                  d«       | j                  |j                  d«       y )Nr!   r"   r#   r   r¦   r¨   r)   r   r©   é*   r”  )r"   r!   r   r#   )r"   r!   r   )r"   r!   )r	   r   r   rK   r!   r"   r#   r   r¾  s       r%   Útest_default_args_keyonlyz&TestJitClass.test_default_args_keyonlyÍ  s¨  € Ø”e�Ø”e�Ø”e�Ø”e�ðˆô
 œZ¨Ó.ˆ	á�q˜!‹_ˆØ×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!á˜˜a 2¨Ô-ˆØ×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜sÔ#Ø×Ñ˜Ÿ™˜rÔ"á˜˜a 2Ô&ˆØ×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜rÔ"á˜˜aÔ ˆØ×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÔ!Ø×Ñ˜Ÿ™˜qÕ!r'   c                 óL  — dt         fdt         fdt         fdt        j                  t         d«      fdt         fg}| j                  t        j
                  «      5 }t        t        |«       d d d «       d}| j                  |t        j                  «      «       y # 1 sw Y   Œ1xY w)Nr!   r"   r#   r2   r¦   r   z(VAR_POSITIONAL argument type unsupported)r	   r   ÚUniTupler|   r   ÚUnsupportedErrorr   r0   r~   r   r€   )r$   rN   rƒ   Úmsgs       r%   Ú&test_default_args_starargs_and_keyonlyz3TestJitClass.test_default_args_starargs_and_keyonlyí  sˆ   € Ø”e�Ø”e�Ø”e�ØœŸ™¬¨qÓ1Ð2Ø”e�ð	ˆð ×Ñœv×6Ñ6Ô7¸6Ü”Z Ô&÷ 8ð 9ˆØ�‰�cœ3˜v×/Ñ/Ó0Õ1÷	 8Ð7ús   ÁBÂB#c                 óè   — g }t        |«       G d„ dt        «      «       }d„ }t        d«      D ]B  }t         ||«       |«       j	                  |«      «      D ]  \  }}| j                  ||«       Œ ŒD y )Nc                   ó   — e Zd Zd„ Zd„ Zy)ú5TestJitClass.test_generator_method.<locals>.TestClassc                  ó   — y r    r.   r@   s    r%   r&   z>TestJitClass.test_generator_method.<locals>.TestClass.__init__ÿ  r`   r'   c              3   óZ   K  — t        |«      D ]  }t        j                  |«      –— Œ y ­wr    ©Úranger°   r¾   )r$   ÚniterÚis      r%   Úgenz9TestJitClass.test_generator_method.<locals>.TestClass.gen  s"   è ø€ Ü˜už�AÜŸ)™) A›,Ó&ñ &ùó   ‚)+N)r+   r,   r-   r&   rÑ  r.   r'   r%   r¶  rÊ  ý  s   „ òó'r'   r¶  c              3   óZ   K  — t        | «      D ]  }t        j                  |«      –— Œ y ­wr    rÍ  )rÏ  rÐ  s     r%   Úexpected_genz8TestJitClass.test_generator_method.<locals>.expected_gen  s"   è ø€ Ü˜5–\�Ü—i‘i “lÓ"ñ "ùrÒ  r¬   )r   rB   rÎ  rM   rÑ  r²   )r$   rN   r¶  rÔ  rÏ  ÚexpectrS   s          r%   Útest_generator_methodz"TestJitClass.test_generator_methodú  so   € Øˆä	�$‹ô	'œó 	'ó 
ð	'ò	#ô ˜2–YˆEÜ"¡<°Ó#6¹	»¿¹ÈÓ8NÖO‘�˜Ø×'Ñ'¨°Õ4ñ  Pñ r'   c                 ó0  ‡— dt         d d  fg}t        |«       G d„ dt        «      «       Št        ˆfd„«       }t        d„ «       } |«       }| j	                   ||d«      d«       | j	                   ||d«      d«       | j	                   ||d«      d«       y )	NrÀ   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ú,TestJitClass.test_getitem.<locals>.TestClassc                 óX   — t        j                  dt         j                  ¬«      | _        y ©Nr¬   r­   ©r°   Úzerosr	   rÀ   r@   s    r%   r&   z5TestJitClass.test_getitem.<locals>.TestClass.__init__  ó   € ÜŸH™H R¬r¯x©xÔ8�•	r'   c                 ó"   — || j                   |<   y r    rØ   ©r$   ÚkeyrÀ   s      r%   Ú__setitem__z8TestJitClass.test_getitem.<locals>.TestClass.__setitem__  ó   € Ø!%�—	‘	˜#’r'   c                 ó    — | j                   |   S r    rØ   ©r$   rá  s     r%   Ú__getitem__z8TestJitClass.test_getitem.<locals>.TestClass.__getitem__  ó   € Ø—y‘y ‘~Ð%r'   N©r+   r,   r-   r&   râ  ræ  r.   r'   r%   r¶  rÙ    ó   „ ò9ò&ó&r'   r¶  c                  ó4   •—  ‰«       } d| d<   d| d<   d| d<   | S )Nr)   r¦   r¨   r.   )Útr¶  s    €r%   Úcreate_and_set_indicesz9TestJitClass.test_getitem.<locals>.create_and_set_indices  s*   ø€ á“ˆAØˆAˆa‰DØˆAˆa‰DØˆAˆa‰DØˆHr'   c                 ó   — | |   S r    r.   )rë  Úns     r%   Ú	get_indexz,TestJitClass.test_getitem.<locals>.get_index$  s   € à�Q‘4ˆKr'   r)   r¦   r¨   ©r	   r   rB   r
   rK   )r$   rN   rì  rï  rë  r¶  s        @r%   Útest_getitemzTestJitClass.test_getitem  s¥   ø€ Øœ™q˜Ð"Ð#ˆä	�$‹ô	&œó 	&ó 
ð	&ô 
ó	ó 
ð	ô 
ñ	ó 
ð	ñ #Ó$ˆØ×Ñ™ 1 a›¨!Ô,Ø×Ñ™ 1 a›¨!Ô,Ø×Ñ™ 1 a›¨!Õ,r'   c                 óä   — dt         d d  fg}t        |«       G d„ dt        «      «       } |«       }d|d<   t        d„ «       } ||«      }| j	                  |d«       | j	                  |d   d«       y )	NrÀ   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ú2TestJitClass.test_getitem_unbox.<locals>.TestClassc                 óX   — t        j                  dt         j                  ¬«      | _        y rÛ  rÜ  r@   s    r%   r&   z;TestJitClass.test_getitem_unbox.<locals>.TestClass.__init__2  rÞ  r'   c                 ó"   — || j                   |<   y r    rØ   rà  s      r%   râ  z>TestJitClass.test_getitem_unbox.<locals>.TestClass.__setitem__5  rã  r'   c                 ó    — | j                   |   S r    rØ   rå  s     r%   ræ  z>TestJitClass.test_getitem_unbox.<locals>.TestClass.__getitem__8  rç  r'   Nrè  r.   r'   r%   r¶  rô  0  ré  r'   r¶  r¬   r)   c                 ó   — d| d<   | d   S )Né   r¦   r)   r.   ©rë  s    r%   Úset2return1z4TestJitClass.test_getitem_unbox.<locals>.set2return1>  s   € àˆAˆa‰DØ�Q‘4ˆKr'   r¦   rù  rð  )r$   rN   r¶  rë  rû  Út_1s         r%   Útest_getitem_unboxzTestJitClass.test_getitem_unbox-  sƒ   € Øœ™q˜Ð"Ð#ˆä	�$‹ô	&œó 	&ó 
ð	&ñ ‹KˆØˆˆ!‰ä	ñ	ó 
ð	ñ ˜!‹nˆØ×Ñ˜˜bÔ!Ø×Ñ˜˜1™˜rÕ"r'   c                 óF  — dt         d d …d d …f   fg}t        |«       G d„ dt        «      «       } |«       }d|t        dd«      <   t        d„ «       }t        d„ «       }| j                   ||dd«      d«        ||ddd	«       | j                  |t        dd«         d	«       y )
NrÀ   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ú8TestJitClass.test_getitem_complex_key.<locals>.TestClassc                 óX   — t        j                  dt         j                  ¬«      | _        y ©N)r¬   r¬   r­   rÜ  r@   s    r%   r&   zATestJitClass.test_getitem_complex_key.<locals>.TestClass.__init__L  ó   € ÜŸH™H X´R·X±XÔ>�•	r'   c                 ór   — || j                   t        |j                  «      t        |j                  «      f<   y r    ©rÀ   ra   ÚrealÚimagrà  s      r%   râ  zDTestJitClass.test_getitem_complex_key.<locals>.TestClass.__setitem__O  s%   € Ø:>�—	‘	œ#˜cŸh™h›-¬¨S¯X©X«Ð6Ò7r'   c                 óp   — | j                   t        |j                  «      t        |j                  «      f   S r    r  rå  s     r%   ræ  zDTestJitClass.test_getitem_complex_key.<locals>.TestClass.__getitem__R  s&   € Ø—y‘y¤ S§X¡X£´°C·H±H³Ð!=Ñ>Ð>r'   Nrè  r.   r'   r%   r¶  r   J  s   „ ò?ò?ó?r'   r¶  r¨   r)   c                 ó    — | t        ||«         S r    ©Úcomplex)rë  r  r  s      r%   Úget_keyz6TestJitClass.test_getitem_complex_key.<locals>.get_keyY  s   € à”W˜T 4Ó(Ñ)Ð)r'   c                 ó"   — || t        ||«      <   y r    r
  )rë  r  r  rÀ   s       r%   Úset_keyz6TestJitClass.test_getitem_complex_key.<locals>.set_key]  s   € à%)ˆAŒg�d˜DÓ!Ò"r'   r¦   r©   )r	   r   rB   r  r
   rK   )r$   rN   r¶  rë  r  r  s         r%   Útest_getitem_complex_keyz%TestJitClass.test_getitem_complex_keyG  s·   € Øœšq¢!˜t™Ð%Ð&ˆä	�$‹ô	?œó 	?ó 
ð	?ñ ‹KˆàˆŒ'�!�Q‹-Ñä	ñ	*ó 
ð	*ô 
ñ	*ó 
ð	*ð 	×Ñ™  A qÓ)¨1Ô-Ù��1�a˜ÔØ×Ñ˜œ7 1 a›=Ñ)¨1Õ-r'   c                 ó  — dt         d d …d d …f   fg}t        |«       G d„ dt        «      «       } |«       }d|d<   t        d„ «       }t        d„ «       }| j	                   ||«      d«        ||d«       | j	                  |d	   d«       y )
NrÀ   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ú6TestJitClass.test_getitem_tuple_key.<locals>.TestClassc                 óX   — t        j                  dt         j                  ¬«      | _        y r  rÜ  r@   s    r%   r&   z?TestJitClass.test_getitem_tuple_key.<locals>.TestClass.__init__j  r  r'   c                 ó2   — || j                   |d   |d   f<   y ©Nr   r)   rØ   rà  s      r%   râ  zBTestJitClass.test_getitem_tuple_key.<locals>.TestClass.__setitem__m  s   € Ø,0�—	‘	˜#˜a™& # a¡&˜.Ò)r'   c                 ó0   — | j                   |d   |d   f   S r  rØ   rå  s     r%   ræ  zBTestJitClass.test_getitem_tuple_key.<locals>.TestClass.__getitem__p  s   € Ø—y‘y  Q¡¨¨Q© Ñ0Ð0r'   Nrè  r.   r'   r%   r¶  r  h  s   „ ò?ò1ó1r'   r¶  é   ©r)   r)   c                 ó   — | d   S )Nr  r.   rú  s    r%   Úget11z2TestJitClass.test_getitem_tuple_key.<locals>.get11v  s   € à�T‘7ˆNr'   c                 ó   — || d<   y )N©r¦   r¦   r.   ©rë  rÀ   s     r%   Úset22z2TestJitClass.test_getitem_tuple_key.<locals>.set22z  s   € àˆAˆdŠGr'   é   r  rð  )r$   rN   r¶  rë  r  r  s         r%   Útest_getitem_tuple_keyz#TestJitClass.test_getitem_tuple_keye  sŸ   € Øœšq¢!˜t™Ð%Ð&ˆä	�$‹ô	1œó 	1ó 
ð	1ñ ‹KˆØˆˆ$‰ä	ñ	ó 
ð	ô 
ñ	ó 
ð	ð 	×Ñ™˜q› 2Ô&Ùˆa�ŒØ×Ñ˜˜4™ "Õ%r'   c                 ó¦  — dt         d d  fg}t        |«       G d„ dt        «      «       } |«       }d|ddd…<   | j                  |ddd…   d«       | j                  |ddd…   d«       t        d„ «       }| j                   ||«      d«       t        d„ «       } ||d«       | j                  |ddd…   d«       | j                  |d	d	d…   d
«       y )NrÀ   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ú6TestJitClass.test_getitem_slice_key.<locals>.TestClassc                 óX   — t        j                  dt         j                  ¬«      | _        y rÛ  rÜ  r@   s    r%   r&   z?TestJitClass.test_getitem_slice_key.<locals>.TestClass.__init__‡  rÞ  r'   c                 ó‚   — || j                   |j                  <   ||j                  z   | j                   |j                  <   y r    )rÀ   ÚstartÚstepÚstop)r$   ÚslcrÀ   s      r%   râ  zBTestJitClass.test_getitem_slice_key.<locals>.TestClass.__setitem__Š  s.   € Ø'+�—	‘	˜#Ÿ)™)Ñ$Ø&*¨S¯X©X¡o�—	‘	˜#Ÿ(™(Ò#r'   c                 ó4   — | j                   |j                     S r    )rÀ   r&  )r$   r)  s     r%   ræ  zBTestJitClass.test_getitem_slice_key.<locals>.TestClass.__getitem__Ž  s   € Ø—y‘y §¡Ñ+Ð+r'   Nrè  r.   r'   r%   r¶  r#  …  s   „ ò9ò6ó,r'   r¶  r)   r   r¦   c                 ó   — | ddd…   S )Nr   é   r)   r.   rú  s    r%   Úget5z1TestJitClass.test_getitem_slice_key.<locals>.get5˜  s   € à�Q�q˜�U‘8ˆOr'   c                 ó   — || ddd…<   y )Nr¦   r,  r)   r.   r  s     r%   Úset26z2TestJitClass.test_getitem_slice_key.<locals>.set26Ÿ  s   € àˆAˆa��!ˆeŠHr'   r,  r¨   )r	   r   rB   rK   r
   )r$   rN   r¶  rë  r-  r/  s         r%   Útest_getitem_slice_keyz#TestJitClass.test_getitem_slice_key‚  s÷   € Øœ™q˜Ð"Ð#ˆä	�$‹ô		,œó 		,ó 
ð		,ñ ‹Kˆàˆˆ!ˆAˆaˆ%‰à×Ñ˜˜1˜Q˜q˜5™ 1Ô%Ø×Ñ˜˜1˜Q˜q˜5™ 1Ô%ä	ñ	ó 
ð	ð 	×Ñ™˜a› !Ô$ô 
ñ	ó 
ð	ñ 	ˆa�ŒØ×Ñ˜˜1˜Q˜q˜5™ 1Ô%Ø×Ñ˜˜1˜Q˜q˜5™ 1Õ%r'   c                 ó|  — t        d«      D �cg c]  }t        t        d«      |z   «      ‘Œ }}|D �cg c]  }|dz  t        f‘Œ }}|j	                  |D �cg c]  }|j                  «       dz  t        f‘Œ c}«       t        |«       G d„ dt        «      «       } |«       j                  «        y c c}w c c}w c c}w )Né   r   r¬   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)úJTestJitClass.test_jitclass_longlabel_not_truncated.<locals>.TruncatedLabelc                 ó   — d| _         y )Ng      $@)Ú
aaaaaaaaaar@   s    r%   r&   zSTestJitClass.test_jitclass_longlabel_not_truncated.<locals>.TruncatedLabel.__init__²  s	   € Ø"%�•r'   c                 ób   — t        j                  | j                  | j                  «      | _        y r    )ÚrandomÚgaussr6  Ú
bbbbbbbbbbr@   s    r%   Úmeth1zPTestJitClass.test_jitclass_longlabel_not_truncated.<locals>.TruncatedLabel.meth1µ  s   € Ü"(§,¡,¨t¯©ÀÇÁÓ"P�•r'   c                 ó$   — | j                  «        y r    )r;  r@   s    r%   Úmeth2zPTestJitClass.test_jitclass_longlabel_not_truncated.<locals>.TruncatedLabel.meth2¸  s   € Ø—
‘
•r'   N)r+   r,   r-   r&   r;  r=  r.   r'   r%   ÚTruncatedLabelr4  °  s   „ ò&òQór'   r>  )	rÎ  ÚchrÚordr   ÚextendÚupperr   rB   r=  )r$   r!   ÚalphabetÚletterrN   r>  s         r%   Ú%test_jitclass_longlabel_not_truncatedz2TestJitClass.test_jitclass_longlabel_not_truncated§  sª   € ô 05°R¬yÓ9©y¨!”Cœ˜C› 1™Õ%¨yˆÐ9á5=Ó>±X¨6�˜"‘œgÒ&°XˆÐ>Ø�‰Á(ÓKÁ(¸�f—l‘l“n rÑ)¬7Ò3À(ÑKÔLä	�$‹ô	œVó 	ó 
ð	ñ 	Ó×ÑÕ ùò# :ùâ>ùÚKs   ŽB/²B4Á B9c                 ó  — t          G d„ dt        «      «       } |«       }t        |«      }| j                  |t        j
                  «       t        j                  |«      }| j                  t        j                  |«      |«       y )Nc                   ó   — e Zd Zd„ Zy)ú5TestJitClass.test_pickling.<locals>.PickleTestSubjectc                  ó   — y r    r.   r@   s    r%   r&   z>TestJitClass.test_pickling.<locals>.PickleTestSubject.__init__Á  r`   r'   Nr*   r.   r'   r%   ÚPickleTestSubjectrH  ¿  r{   r'   rJ  )
r   rB   r   r  r   ÚClassInstanceTypeÚpickleÚdumpsrÃ   Úloads)r$   rJ  r˜  ÚtyÚpickleds        r%   Útest_picklingzTestJitClass.test_pickling¾  si   € Ü	ô	¤ó 	ó 
ð	ñ !Ó"ˆÜ�D‹\ˆØ×Ñ˜b¤%×"9Ñ"9Ô:Ü—,‘,˜rÓ"ˆØ�‰”f—l‘l 7Ó+¨RÕ0r'   c                 ó.  ‡— t        dt        fg«       G d„ d«      «       }t        dt        fg«       G d„ d«      «       }| j                  |j                  t        «       | j                  |j
                  t        «       | j                  |j                  t        «       | j                  |j                  |j                  «       | j                  d|j                  dd«      «       | j                  d	|j                  dd«      «       | j                  d
|j                  dd«      «        |d«      } |d«      }| j                  d|j                  d«      «       | j                  d	|j                  d«      «       | j                  d|j                  dd«      «       | j                  d|j                  dd«      «       | j                  d|j                  dd«      «       | j                  d|j                  dd«      «       | j                  d|j                  dd«      «       | j                  d|j                  dd«      «       | j                  t        «      5 }|j                  dd«       d d d «       | j                  dt        j                  «      «       | j                  t        «      5 }|j                  d«       d d d «       | j                  dt        |j                  «      «       t        g «       G ˆfd„d«      «       Š ‰«       }| j                  t        j                   «      5 }|j#                  «        d d d «       | j                  dt        |j                  «      «       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒºxY w# 1 sw Y   ŒHxY w)Nr!   c                   ó8   — e Zd Zd„ Zd„ Zed„ «       Zed„ «       Zy)ú/TestJitClass.test_static_methods.<locals>.Test1c                 ó   — || _         y r    rS  rT  s     r%   r&   z8TestJitClass.test_static_methods.<locals>.Test1.__init__Í  ó	   € Ø�•r'   c                 ó\   — | j                  | j                  |«      | _        | j                  S r    ©r—   r!   ©r$   r"   s     r%   Úincreasez8TestJitClass.test_static_methods.<locals>.Test1.increaseÐ  ó!   € ØŸ™ $§&¡&¨!Ó,�”Ø—v‘v�r'   c                 ó   — | |z   S r    r.   r
  s     r%   r—   z3TestJitClass.test_static_methods.<locals>.Test1.addÔ  ó   € à˜1‘u�r'   c                 ó   — | |z
  S r    r.   r
  s     r%   Úsubz3TestJitClass.test_static_methods.<locals>.Test1.subØ  r]  r'   N)r+   r,   r-   r&   rZ  Ústaticmethodr—   r_  r.   r'   r%   rf   rT  Ë  s4   „ òòð ñó ðð ñó ñr'   rf   c                   ó(   — e Zd Zd„ Zd„ Zed„ «       Zy)ú/TestJitClass.test_static_methods.<locals>.Test2c                 ó   — || _         y r    rS  rT  s     r%   r&   z8TestJitClass.test_static_methods.<locals>.Test2.__init__Þ  rV  r'   c                 ó\   — | j                  | j                  |«      | _        | j                  S r    rX  rY  s     r%   rZ  z8TestJitClass.test_static_methods.<locals>.Test2.increaseá  r[  r'   c                 ó   — | |z
  S r    r.   r
  s     r%   r—   z3TestJitClass.test_static_methods.<locals>.Test2.addå  r]  r'   N)r+   r,   r-   r&   rZ  r`  r—   r.   r'   r%   ÚTest2rb  Ü  s    „ òòð ñó ñr'   rf  r¨   r)   r¦   éÿÿÿÿr©   r,  r   y               @y              ð?Úfoobarr«   r¤   zhas no attribute 'sub'z'not enough arguments: expected 2, got 1c                   ó.   •— e Zd Zd„ Zed„ «       Zˆ fd„Zy)ú/TestJitClass.test_static_methods.<locals>.Test3c                  ó   — y r    r.   r@   s    r%   r&   z8TestJitClass.test_static_methods.<locals>.Test3.__init__  r`   r'   c                  ó   — y r    r.   r
  s     r%   Úa_static_methodz?TestJitClass.test_static_methods.<locals>.Test3.a_static_method  r@  r'   c                 ó(   •— ‰j                  dd«      S r  )rm  )r$   ÚTest3s    €r%   Úcall_staticz;TestJitClass.test_static_methods.<locals>.Test3.call_static  s   ø€ Ø×,Ñ,¨Q°Ó2Ð2r'   N)r+   r,   r-   r&   r`  rm  rp  )ro  s   €r%   ro  rj  
  s!   ø„ òð ñó ðõ3r'   ro  z#Unknown attribute 'a_static_method')r   r	   r  r—   r   r_  ÚassertNotEqualrK   rZ  r|   rš  r~   r   r€   r}   r   r   rp  )r$   rf   rf  Út1Út2rƒ   Úinvalidro  s          @r%   Útest_static_methodsz TestJitClass.test_static_methodsÊ  sÑ  ø€ Ü	�Cœ�<�.Ó	!÷	ð 	ó 
"ð	ô  
�Cœ�<�.Ó	!÷
	ð 
	ó 
"ð
	ð 	×Ñ˜eŸi™i¬Ô4Ø×Ñ˜eŸi™i¬Ô4Ø×Ñ˜eŸi™i¬Ô4Ø×Ñ˜EŸI™I u§y¡yÔ1à×Ñ˜˜EŸI™I a¨›OÔ,Ø×Ñ˜˜UŸY™Y q¨!›_Ô-Ø×Ñ˜˜EŸI™I a¨›OÔ,á�1‹XˆÙ�1‹XˆØ×Ñ˜˜BŸK™K¨›NÔ+Ø×Ñ˜˜RŸ[™[¨›^Ô,Ø×Ñ˜˜BŸF™F 1 a›LÔ)Ø×Ñ˜˜BŸF™F 1 a›LÔ)Ø×Ñ˜˜BŸF™F 1 a›LÔ)Ø×Ñ˜˜RŸV™V B¨›^Ô,Ø×Ñ˜˜RŸV™V B¨›^Ô,Ø×Ñ˜ 2§6¡6¨%°Ó#7Ô8à×Ñœ~Ô.°&Ø�I‰I�a˜ŒO÷ /à�‰Ð.Ü˜&×*Ñ*Ó+ô	-ð ×ÑœyÔ)¨VØ�I‰I�aŒL÷ *à�‰Ð?Ü˜&×*Ñ*Ó+ô	-ô 
�"‹÷		3ò 		3ó 
ð		3ñ “'ˆØ×Ñœv×1Ñ1Ô2°fØ×ÑÔ!÷ 3ð 	�‰Ð;Ü˜&×*Ñ*Ó+õ	-÷; /Ñ.ú÷
 *Ð)ú÷* 3Ð2ús$   ÉM2Ê4M?Ì3NÍ2M<Í?NÎNc                 óº  — t        t        ¬«      }t        «        G d„ d«      «       }| j                  |t        «       | j                  |j                  j                  |«       t        |¬«       G d„ d«      «       }| j                  |t        «       | j                  |j                  j                  |«       t         G d„ d«      «       }| j                  |t        «       | j                  |j                  j                  |«       t        |«       G d	„ d
«      «       }| j                  |t        «       | j                  |j                  j                  |«       y )NrS  c                   ó   — e Zd ZU eed<   d„ Zy)ú<TestJitClass.test_jitclass_decorator_usecases.<locals>.Test1r!   c                 ó   — d| _         y ©Nr   rS  r@   s    r%   r&   zETestJitClass.test_jitclass_decorator_usecases.<locals>.Test1.__init__$  rV  r'   Nrs   r.   r'   r%   rf   rx     ó   … à‹Hór'   rf   ©rN   c                   ó   — e Zd Zd„ Zy)ú<TestJitClass.test_jitclass_decorator_usecases.<locals>.Test2c                 ó   — d| _         y rz  rS  r@   s    r%   r&   zETestJitClass.test_jitclass_decorator_usecases.<locals>.Test2.__init__-  rV  r'   Nr*   r.   r'   r%   rf  r~  *  ó   „ ór'   rf  c                   ó   — e Zd ZU eed<   d„ Zy)ú<TestJitClass.test_jitclass_decorator_usecases.<locals>.Test3r!   c                 ó   — d| _         y rz  rS  r@   s    r%   r&   zETestJitClass.test_jitclass_decorator_usecases.<locals>.Test3.__init__7  rV  r'   Nrs   r.   r'   r%   ro  r‚  3  r{  r'   ro  c                   ó   — e Zd Zd„ Zy)ú<TestJitClass.test_jitclass_decorator_usecases.<locals>.Test4c                 ó   — d| _         y rz  rS  r@   s    r%   r&   zETestJitClass.test_jitclass_decorator_usecases.<locals>.Test4.__init__@  rV  r'   Nr*   r.   r'   r%   ÚTest4r…  =  r€  r'   r‡  ©r   r   r   r  r   ÚassertDictEqualrC   rF   )r$   rN   rf   rf  ro  r‡  s         r%   Ú test_jitclass_decorator_usecasesz-TestJitClass.test_jitclass_decorator_usecases  s+  € ÜœWÔ%ˆä	‹÷	ð 	ó 
ð	ð 	×Ñ˜e¤\Ô2Ø×Ñ˜U×-Ñ-×4Ñ4°dÔ;ä	�tÔ	÷	ð 	ó 
ð	ð
 	×Ñ˜e¤\Ô2Ø×Ñ˜U×-Ñ-×4Ñ4°dÔ;ä	÷	ð 	ó 
ð	ð 	×Ñ˜e¤\Ô2Ø×Ñ˜U×-Ñ-×4Ñ4°dÔ;ä	�$‹÷	ð 	ó 
ð	ð
 	×Ñ˜e¤\Ô2Ø×Ñ˜U×-Ñ-×4Ñ4°dÕ;r'   c                 ój  — t        t        ¬«      } G d„ d«      }t        |«      }| j                  |t        «       | j                  |j                  j                  |«        G d„ d«      }t        ||«      }| j                  |t        «       | j                  |j                  j                  |«       y )NrS  c                   ó   — e Zd ZU eed<   d„ Zy)úCTestJitClass.test_jitclass_function_usecases.<locals>.AnnotatedTestr!   c                 ó   — d| _         y rz  rS  r@   s    r%   r&   zLTestJitClass.test_jitclass_function_usecases.<locals>.AnnotatedTest.__init__L  rV  r'   Nrs   r.   r'   r%   ÚAnnotatedTestr�  I  s   … Ø‹Hór'   r�  c                   ó   — e Zd Zd„ Zy)úETestJitClass.test_jitclass_function_usecases.<locals>.UnannotatedTestc                 ó   — d| _         y rz  rS  r@   s    r%   r&   zNTestJitClass.test_jitclass_function_usecases.<locals>.UnannotatedTest.__init__U  rV  r'   Nr*   r.   r'   r%   ÚUnannotatedTestr‘  S  ó   „ ór'   r“  rˆ  )r$   rN   r�  ÚJitTest1r“  ÚJitTest2s         r%   Útest_jitclass_function_usecasesz,TestJitClass.test_jitclass_function_usecasesF  s’   € ÜœWÔ%ˆ÷	ñ 	ô ˜MÓ*ˆØ×Ñ˜h¬Ô5Ø×Ñ˜X×0Ñ0×7Ñ7¸Ô>÷	ñ 	ô
 ˜O¨TÓ2ˆØ×Ñ˜h¬Ô5Ø×Ñ˜X×0Ñ0×7Ñ7¸Õ>r'   c                 óÒ  ‡‡— t        t        ¬«      }t        |«       G d„ dt        «      «       Št        |«       G d„ dt        «      «       Šˆˆfd„}|}t	        |«      }| j                  ‰t        «       | j                   | ‰d«      «       | ‰d«      «      «       | j                   | ‰d«      «       | ‰d«      «      «       | j                   |d	«       |d	«      «       y )
Nrf  c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ú2TestJitClass.test_jitclass_isinstance.<locals>.Fooc                 ó   — || _         y r    rf  rr   s     r%   r&   z;TestJitClass.test_jitclass_isinstance.<locals>.Foo.__init__a  rg  r'   c                 ó   — | j                   S r    rf  r@   s    r%   ÚgetValuez;TestJitClass.test_jitclass_isinstance.<locals>.Foo.getValued  ó   € Ø—z‘zÐ!r'   c                 ó    — | j                   dz   S r4  rf  r@   s    r%   ÚgetValueIncrz?TestJitClass.test_jitclass_isinstance.<locals>.Foo.getValueIncrg  s   € Ø—z‘z A‘~Ð%r'   N)r+   r,   r-   r&   r�  r   r.   r'   r%   rl   rš  _  s   „ ò#ò"ó&r'   rl   c                   ó   — e Zd Zd„ Zd„ Zy)ú2TestJitClass.test_jitclass_isinstance.<locals>.Barc                 ó   — || _         y r    rf  rr   s     r%   r&   z;TestJitClass.test_jitclass_isinstance.<locals>.Bar.__init__l  rg  r'   c                 ó   — | j                   S r    rf  r@   s    r%   r�  z;TestJitClass.test_jitclass_isinstance.<locals>.Bar.getValueo  rž  r'   N)r+   r,   r-   r&   r�  r.   r'   r%   rt   r¢  j  s   „ ò#ó"r'   rt   c                 ó®   •— t        | ‰‰f«      rF| j                  «       }t        | ‰«      r| j                  «       |z   dfS | j                  «       |z   dfS y)Nrl   rt   zno match)rI   r�  r   )r£   r!   rt   rl   s     €€r%   Útest_jitclass_isinstancezGTestJitClass.test_jitclass_isinstance.<locals>.test_jitclass_isinstancer  sX   ø€ Ü˜#  S˜zÔ*à—L‘L“N�Ü˜c 3Ô'Ø×+Ñ+Ó-°Ñ1°5Ð8Ð8àŸ<™<›>¨AÑ-¨uÐ4Ð4à!r'   r¨   r§   r   )r   r	   r   rB   r
   r  r   rK   )r$   rN   r¦  ÚpyfuncÚcfuncrt   rl   s        @@r%   r¦  z%TestJitClass.test_jitclass_isinstance\  sÉ   ù€ Ü¤Ô'ˆä	�$‹ô	&”&ó 	&ó 
ð	&ô 
�$‹ô	"”&ó 	"ó 
ð	"õ		"ð *ˆÜÐ-Ó.ˆà×Ñ˜c¤<Ô0Ø×Ñ™¡ A£›©©s°1«v«Ô7Ø×Ñ™¡ C£Ó)©5±°S³«?Ô;Ø×Ñ™ ›¡E¨!£HÕ-r'   c                 óà   — | j                  t        «      5 }t         G d„ dt        «      «       } |«        d d d «       | j	                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)Nc                   ó   — e Zd Zd„ Zd„ Zy)ú:TestJitClass.test_jitclass_unsupported_dunder.<locals>.Fooc                  ó   — y r    r.   r@   s    r%   r&   zCTestJitClass.test_jitclass_unsupported_dunder.<locals>.Foo.__init__‰  s   € Ør'   c                  ó   — y r    r.   r@   s    r%   Ú	__enter__zDTestJitClass.test_jitclass_unsupported_dunder.<locals>.Foo.__enter__Œ  s   € Ør'   N)r+   r,   r-   r&   r®  r.   r'   r%   rl   r«  ‡  s   „ òó r'   rl   z$Method '__enter__' is not supported.)r|   r}   r   rB   r~   r   r€   )r$   Úerl   s      r%   Ú test_jitclass_unsupported_dunderz-TestJitClass.test_jitclass_unsupported_dunder…  sZ   € Ø×ÑœyÔ)¨QÜô ”fó  ó ð ñ ŒE÷ *ð 	�‰Ð<¼cÀ!Ç+Á+Ó>NÕO÷ *Ð)ús   – A$Á$A-c                 ó|   — t          G d„ dt        «      «       }t        }|j                  }| j	                  ||«       y )Nc                   ó   — e Zd Zd„ Zy)ú1TestJitClass.test_modulename.<locals>.TestModnamec                 ó   — d| _         y )Né   rS  r@   s    r%   r&   z:TestJitClass.test_modulename.<locals>.TestModname.__init__”  s	   € Ø�•r'   Nr*   r.   r'   r%   ÚTestModnamer³  ’  s   „ ór'   r¶  )r   rB   r+   r,   rK   )r$   r¶  Ú
thisModuleÚclassModules       r%   Útest_modulenamezTestJitClass.test_modulename‘  s=   € Ü	ô	œ&ó 	ó 
ð	ô ˆ
Ø!×,Ñ,ˆØ×Ñ˜ [Õ1r'   )NNN)1r+   r,   r-   rU   rY   r[   rh   rv   r„   rŒ   r™   rŸ   r¶   rË   rÔ   rð   r  r  r  r  r%  r-  r9  rC  rM  ra  rp  r�  r   r¡  r°  r¹  r¿  rÂ  rÇ  rÖ  rñ  rý  r  r   r0  rE  rQ  ru  rŠ  r—  r¦  r°  r¹  r.   r'   r%   r;   r;   0   s  „ ó2ò4òò
Oò
ò"?ò$-òò*ò(ò,4'òl)ò<4ò|*ò:Oò,ò
<ò*òJò$%òL<ò&Mò*'ò<1ò,VEðp ñ(ó ð(òHò*"ò$"ò6"ò@2ò5ò(-ò>#ò4.ò<&ò:#&òJ!ò.
1òQ-òf'<òR?ò,'.òR
Pó2r'   r;   c                   ó    — e Zd Z G d„ d«      Zed„ «       Zed„ «       Zdd„Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ «       Zd„ Zd„ Zd„ Zy)ÚTestJitClassOverloadsc                   óN   — 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y)úTestJitClassOverloads.PyListc                 ó   — dg| _         y rz  rS  r@   s    r%   r&   z%TestJitClassOverloads.PyList.__init__Ÿ  s   € Ø�SˆD�Fr'   c                 ó:   — | j                   j                  |«       y r    ©r!   ÚappendrY  s     r%   rÁ  z#TestJitClassOverloads.PyList.append¢  s   € Ø�F‰F�M‰M˜!Õr'   c                 ó8   — | j                   j                  «        y r    )r!   Úclearr@   s    r%   rÃ  z"TestJitClassOverloads.PyList.clear¥  s   € Ø�F‰F�L‰L�Nr'   c                 ó2   — t        | j                  «      dz  S r‰   ©rL   r!   r@   s    r%   Ú__abs__z$TestJitClassOverloads.PyList.__abs__¨  ó   € Ü�t—v‘v“; ‘?Ð"r'   c                 ó8   — t        | j                  «      dz  dk7  S )Nr¨   r   rÅ  r@   s    r%   Ú__bool__z%TestJitClassOverloads.PyList.__bool__«  s   € Ü�t—v‘v“; ‘? aÑ'Ð'r'   c                 óX   — t        d«      }| j                  r|| j                  d   z  }|S )Nr¦   r   )r  r!   )r$   rµ   s     r%   Ú__complex__z(TestJitClassOverloads.PyList.__complex__®  s(   € Ü˜“
ˆAØ�vŠvØ�T—V‘V˜A‘Y‘�ØˆHr'   c                 ó   — || j                   v S r    rS  rY  s     r%   Ú__contains__z)TestJitClassOverloads.PyList.__contains__´  s   € Ø˜Ÿ™�;Ðr'   c                 óF   — d}| j                   r|| j                   d   z  }|S )Nrø   r   rS  )r$   Úfs     r%   Ú	__float__z&TestJitClassOverloads.PyList.__float__·  s$   € ØˆAØ�vŠvØ�T—V‘V˜A‘Y‘�ØˆHr'   c                 óF   — d}| j                   r|| j                   d   z  }|S )Nr   r   rS  )r$   rÐ  s     r%   Ú__int__z$TestJitClassOverloads.PyList.__int__½  s$   € ØˆAØ�vŠvØ�T—V‘V˜A‘Y‘�ØˆHr'   c                 ó2   — t        | j                  «      dz   S r4  rÅ  r@   s    r%   Ú__len__z$TestJitClassOverloads.PyList.__len__Ã  rÇ  r'   c                 ó6   — t        | j                  «      dk(  ryy)Nr   zPyList emptyzPyList non-emptyrÅ  r@   s    r%   Ú__str__z$TestJitClassOverloads.PyList.__str__Æ  s   € Ü�4—6‘6‹{˜aÒØ%à)r'   N)r+   r,   r-   r&   rÁ  rÃ  rÆ  rÉ  rË  rÍ  rÐ  rÒ  rÔ  rÖ  r.   r'   r%   ÚPyListr½  ž  s9   „ ò	ò	ò	ò	#ò	(ò	ò	ò	ò	ò	#ó	*r'   r×  c                  ó^   ‡ — t        dt        j                  fg«       G ˆ fd„d«      «       Š ‰ S )Nr!   c                   óR   •— e Zd Zd„ Zd„ Zd„ Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Z	ˆ fd„Z
y	)
ú9TestJitClassOverloads.get_int_wrapper.<locals>.IntWrapperc                 ó   — || _         y r    rS  rr   s     r%   r&   zBTestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__init__Ð  ó	   € Ø�•r'   c                 ó4   — | j                   |j                   k(  S r    rS  ©r$   rÅ   s     r%   Ú__eq__z@TestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__eq__Ó  ó   € Ø—v‘v §¡Ñ(Ð(r'   c                 ó   — | j                   S r    rS  r@   s    r%   Ú__hash__zBTestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__hash__Ö  ó   € Ø—v‘v�r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  ©r$   rÅ   Ú
IntWrappers     €r%   Ú
__lshift__zDTestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__lshift__Ù  ó   ø€ Ù! $§&¡&¨E¯G©GÑ"3Ó4Ð4r'   c                 óB   •—  ‰| j                   |j                   z	  «      S r    rS  rå  s     €r%   Ú
__rshift__zDTestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__rshift__Ü  rè  r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  rå  s     €r%   Ú__and__zATestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__and__ß  ó   ø€ Ù! $§&¡&¨5¯7©7Ñ"2Ó3Ð3r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  rå  s     €r%   Ú__or__z@TestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__or__â  rí  r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  rå  s     €r%   Ú__xor__zATestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__xor__å  rí  r'   N)r+   r,   r-   r&   rß  râ  rç  rê  rì  rï  rñ  ©ræ  s   €r%   ræ  rÚ  Î  s+   ø„ òò)òô5ô5ô4ô4õ4r'   ræ  )r   r   Úintprò  s   @r%   Úget_int_wrapperz%TestJitClassOverloads.get_int_wrapperÌ  s3   ø€ ä	�CœŸ™Ð$Ð%Ó	&÷	4ò 	4ó 
'ð	4ð2 Ðr'   c                  ó^   ‡ — t        dt        j                  fg«       G ˆ fd„d«      «       Š ‰ S )Nr!   c                   ó’   •— e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	ˆ fd„Z
ˆ fd	„Zˆ fd
„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zy)ú=TestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapperc                 ó   — || _         y r    rS  rr   s     r%   r&   zFTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__init__ï  rÜ  r'   c                 ó4   — | j                   |j                   k(  S r    rS  rÞ  s     r%   rß  zDTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__eq__ò  rà  r'   c                 ó   — | j                   S r    rS  r@   s    r%   râ  zFTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__hash__õ  rã  r'   c                 ó4   — | j                   |j                   k\  S r    rS  rÞ  s     r%   Ú__ge__zDTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__ge__ø  rà  r'   c                 ó4   — | j                   |j                   kD  S r    rS  rÞ  s     r%   Ú__gt__zDTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__gt__û  ó   € Ø—v‘v §¡Ñ'Ð'r'   c                 ó4   — | j                   |j                   k  S r    rS  rÞ  s     r%   Ú__le__zDTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__le__þ  rà  r'   c                 ó4   — | j                   |j                   k  S r    rS  rÞ  s     r%   Ú__lt__zDTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__lt__  rÿ  r'   c                 óB   •—  ‰| j                   |j                   z   «      S r    rS  ©r$   rÅ   ÚFloatWrappers     €r%   Ú__add__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__add__  ó   ø€ Ù# D§F¡F¨U¯W©WÑ$4Ó5Ð5r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  r  s     €r%   Ú__floordiv__zJTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__floordiv__  ó   ø€ Ù# D§F¡F¨e¯g©gÑ$5Ó6Ð6r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  r  s     €r%   Ú__mod__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__mod__
  r  r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  r  s     €r%   Ú__mul__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__mul__  r  r'   c                 ó*   •—  ‰| j                    «      S r    rS  r  s     €r%   Ú__neg__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__neg__  ó   ø€ Ù# T§V¡V GÓ,Ð,r'   c                 ó*   •—  ‰| j                   ­«      S r    rS  r  s     €r%   Ú__pos__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__pos__  r  r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  r  s     €r%   Ú__pow__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__pow__  r  r'   c                 óB   •—  ‰| j                   |j                   z
  «      S r    rS  r  s     €r%   Ú__sub__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__sub__  r  r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  r  s     €r%   Ú__truediv__zITestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__truediv__  r  r'   N)r+   r,   r-   r&   rß  râ  rü  rþ  r  r  r  r
  r  r  r  r  r  r  r  ©r  s   €r%   r  r÷  ì  sS   ø„ òò)òò)ò(ò)ò(ô6ô7ô6ô6ô-ô-ô7ô6õ6r'   r  )r   r   r   r  s   @r%   Úget_float_wrapperz'TestJitClassOverloads.get_float_wrapperê  s4   ø€ ä	�CœŸ™Ð'Ð(Ó	)÷0	6ò 0	6ó 
*ð0	6ðd Ðr'   Nc                 óx   — | j                  t        |«      t        |«      |¬«       | j                  |||¬«       y )N)rÆ  )rK   Útype)r$   rë   rì   rÆ  s       r%   Ú
assertSamez TestJitClassOverloads.assertSame!  s4   € Ø×Ñœ˜e›¤d¨6£l¸ÐÔ<Ø×Ñ˜ ¨CÐÕ0r'   c                 óx  —  t        dt        j                  t        j                  «      i«      | j                  «      }d„ d„ d„ d„ d„ d„ d„ d	„ d
„ d„ d„ d„ d„ d„ d„ d„ d„ g}|D �cg c]  }t        |«      ‘Œ }}| j	                  «       } |«       }t        ||«      D ]A  \  }}| j                   ||«       ||«      «       | j                   ||«       ||«      «       ŒC |j                  d«       |j                  d«       t        ||«      D ]A  \  }}| j                   ||«       ||«      «       | j                   ||«       ||«      «       ŒC |j                  d«       |j                  d«       t        ||«      D ]A  \  }}| j                   ||«       ||«      «       | j                   ||«       ||«      «       ŒC |j                  «        |j                  «        t        ||«      D ]A  \  }}| j                   ||«       ||«      «       | j                   ||«       ||«      «       ŒC y c c}w )Nr!   c                 ó   — t        | «      S r    )ÚabsrS  s    r%   Ú<lambda>z6TestJitClassOverloads.test_overloads.<locals>.<lambda>+  ó   € ”c˜!”fr'   c                 ó"   — | j                  «       S r    )rÆ  rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>,  ó
   € �a—i‘i”kr'   c                 ó   — t        | «      S r    ©ÚboolrS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>-  s   € ”d˜1”gr'   c                 ó"   — | j                  «       S r    )rÉ  rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>.  s
   € �a—j‘j”lr'   c                 ó   — t        | «      S r    r
  rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>/  s   € ”g˜a”jr'   c                 ó"   — | j                  «       S r    )rË  rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>0  s
   € �a—m‘m”or'   c                 ó
   — d| v S rz  r.   rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>1  s   € �a˜1‘fr'   c                 ó$   — | j                  d«      S rz  )rÍ  rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>2  s   € �a—n‘n QÔ'r'   c                 ó   — t        | «      S r    ©re   rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>3  s   € ”e˜A”hr'   c                 ó"   — | j                  «       S r    )rÐ  rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>4  s
   € �a—k‘k”mr'   c                 ó   — t        | «      S r    ©ra   rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>5  r$  r'   c                 ó"   — | j                  «       S r    )rÒ  rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>6  r&  r'   c                 ó   — t        | «      S r    )rL   rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>7  r$  r'   c                 ó"   — | j                  «       S r    )rÔ  rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>8  r&  r'   c                 ó   — t        | «      S r    )r   rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>9  r$  r'   c                 ó"   — | j                  «       S r    )rÖ  rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>:  r&  r'   c                 ó   — | rdS dS )Nr)   r   r.   rS  s    r%   r#  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>;  s   € ™1�a�m !�mr'   r¦   éûÿÿÿ)
r   r   rd   ró  r×  r
   rM   r  rÁ  rÃ  )	r$   ÚJitListÚpy_funcsrÏ  Ú	jit_funcsÚpy_listÚjit_listÚpy_fÚjit_fs	            r%   Útest_overloadsz$TestJitClassOverloads.test_overloads%  så  € ð :”(˜C¤§¡¬E¯J©JÓ!7Ð8Ó9¸$¿+¹+ÓFˆñ Ù!ÙÙ"Ù Ù%ÙÙ'ÙÙ#ÙÙ!ÙÙ!ÙÙ!Ù#ð#
ˆñ& '/Ó/¡h ”T˜!•W hˆ	Ð/à—+‘+“-ˆÙ“9ˆÜ˜x¨Ö3‰KˆD�%Ø�O‰O™D ›M©4°«>Ô:Ø�O‰O™D ›M©5°«?Õ;ð 4ð 	�‰�qÔØ�‰˜ÔÜ˜x¨Ö3‰KˆD�%Ø�O‰O™D ›M©4°«>Ô:Ø�O‰O™D ›M©5°«?Õ;ð 4ð 	�‰�rÔØ�‰˜ÔÜ˜x¨Ö3‰KˆD�%Ø�O‰O™D ›M©4°«>Ô:Ø�O‰O™D ›M©5°«?Õ;ð 4ð 	�‰ŒØ�‰ÔÜ˜x¨Ö3‰KˆD�%Ø�O‰O™D ›M©4°«>Ô:Ø�O‰O™D ›M©5°«?Õ;ñ 4ùò- 0s   Á'H7c                 óÀ  — d„ }t        |«      }t        dt        j                  t        j                  «      fg«       G d„ d«      «       } |g d¢«      }| j                   ||«      «       | j                   ||«      «       |j                  d«       | j                   ||«      «       | j                   ||«      «       |j                  «        | j                   ||«      «       | j                   ||«      «       t        dt        j                  fg«       G d„ d	«      «       } |d
«      }| j                   ||«      «       | j                   ||«      «       y )Nc                 ó   — t        | «      S r    r(  rS  s    r%   Úpy_bz6TestJitClassOverloads.test_bool_fallback.<locals>.py_bY  ó   € Ü˜“7ˆNr'   r!   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ú:TestJitClassOverloads.test_bool_fallback.<locals>.LenClassc                 ó   — || _         y r    rS  rT  s     r%   r&   zCTestJitClassOverloads.test_bool_fallback.<locals>.LenClass.__init__`  rV  r'   c                 ó2   — t        | j                  «      dz  S )Nr©   rÅ  r@   s    r%   rÔ  zBTestJitClassOverloads.test_bool_fallback.<locals>.LenClass.__len__c  s   € Ü˜4Ÿ6™6“{ Q‘Ð&r'   c                 ó:   — | j                   j                  |«       y r    rÀ  rY  s     r%   rÁ  zATestJitClassOverloads.test_bool_fallback.<locals>.LenClass.appendf  s   € Ø—‘—‘˜aÕ r'   c                 ó:   — | j                   j                  d«       y rz  )r!   Úpopr@   s    r%   rM  z>TestJitClassOverloads.test_bool_fallback.<locals>.LenClass.popi  s   € Ø—‘—
‘
˜1•r'   N)r+   r,   r-   r&   rÔ  rÁ  rM  r.   r'   r%   ÚLenClassrH  ^  s   „ òò'ò!ór'   rN  )r)   r¦   r¨   r©   r"   c                   ó   — e Zd Zd„ Zy)ú=TestJitClassOverloads.test_bool_fallback.<locals>.NormalClassc                 ó   — || _         y r    )r"   rY  s     r%   r&   zFTestJitClassOverloads.test_bool_fallback.<locals>.NormalClass.__init__z  rV  r'   Nr*   r.   r'   r%   ÚNormalClassrP  x  r”  r'   rR  r   )
r
   r   r   rd   ró  rÒ   rÁ  rÓ   rM  r   )r$   rE  Újit_brN  r£   rR  s         r%   Útest_bool_fallbackz(TestJitClassOverloads.test_bool_fallbackW  s  € ò	ô �T“
ˆä	�CœŸ™¤E§J¡JÓ/Ð0Ð1Ó	2÷	ð 	ó 
3ð	ñ ’yÓ!ˆØ�‰™˜S›	Ô"Ø�‰™˜c›
Ô#à�
‰
�1ŒØ×Ñ™˜c›Ô#Ø×Ñ™˜s›Ô$à�‰Œ	Ø�‰™˜S›	Ô"Ø�‰™˜c›
Ô#ä	�CœŸ™Ð'Ð(Ó	)÷	ð 	ó 
*ð	ñ ˜!‹nˆØ�‰™˜S›	Ô"Ø�‰™˜c›
Õ#r'   c                 ó<	  — d„ }d„ }d„ }t        |«      }t        |«      }t        |«      }t        g «       G d„ d«      «       } |«       }| j                   ||«      t        d«      «       | j                   ||«      t        d«      «       | j                   ||«      d«       | j                   ||«      d«       | j	                  t
        «      5 }	 ||«       d d d «       | j                  dt        	j                  «      «       | j	                  t        «      5 }	 ||«       d d d «       | j                  dt        |	j                  «      «       t        g «       G d„ d	«      «       }
 |
«       }| j                   ||«      d
«       | j                   ||«      d
«       | j	                  t
        «      5 }	 ||«       d d d «       | j                  dt        |	j                  «      «       | j	                  t        «      5 }	 ||«       d d d «       | j                  dt        |	j                  «      «       | j	                  t
        «      5 }	 ||«       d d d «       | j                  dt        |	j                  «      «       | j	                  t        «      5 }	 ||«       d d d «       | j                  dt        |	j                  «      «       t        g «       G d„ d«      «       } |«       }| j                   ||«      t        d«      «       | j                   ||«      t        d«      «       | j                   ||«      d«       | j                   ||«      d«       | j                   ||«      d«       | j                   ||«      d«       t        g «       G d„ d«      «       } |«       }| j                   ||«      t        d«      «       | j                   ||«      t        d«      «       | j                   ||«      d«       | j                   ||«      d«       | j                   ||«      d
«       | j                   ||«      d
«       y # 1 sw Y   �ŒxxY w# 1 sw Y   �Œ:xY w# 1 sw Y   �Œ­xY w# 1 sw Y   �ŒoxY w# 1 sw Y   �Œ1xY w# 1 sw Y   �ŒóxY w)Nc                 ó   — t        | «      S r    r
  rS  s    r%   Úpy_cz9TestJitClassOverloads.test_numeric_fallback.<locals>.py_c‚  s   € Ü˜1“:Ðr'   c                 ó   — t        | «      S r    r0  rS  s    r%   r@  z9TestJitClassOverloads.test_numeric_fallback.<locals>.py_f…  s   € Ü˜“8ˆOr'   c                 ó   — t        | «      S r    r3  rS  s    r%   Úpy_iz9TestJitClassOverloads.test_numeric_fallback.<locals>.py_iˆ  s   € Ü�q“6ˆMr'   c                   ó   — e Zd Zd„ Zd„ Zy)ú?TestJitClassOverloads.test_numeric_fallback.<locals>.FloatClassc                  ó   — y r    r.   r@   s    r%   r&   zHTestJitClassOverloads.test_numeric_fallback.<locals>.FloatClass.__init__‘  r`   r'   c                  ó   — y©Nrø   r.   r@   s    r%   rÐ  zITestJitClassOverloads.test_numeric_fallback.<locals>.FloatClass.__float__”  ó   € Ør'   N)r+   r,   r-   r&   rÐ  r.   r'   r%   Ú
FloatClassr\  �  s   „ òór'   ra  rø   ra   c                   ó   — e Zd Zd„ Zd„ Zy)ú=TestJitClassOverloads.test_numeric_fallback.<locals>.IntClassc                  ó   — y r    r.   r@   s    r%   r&   zFTestJitClassOverloads.test_numeric_fallback.<locals>.IntClass.__init__¦  r`   r'   c                  ó   — yr‰   r.   r@   s    r%   rÒ  zETestJitClassOverloads.test_numeric_fallback.<locals>.IntClass.__int__©  r‹   r'   N)r+   r,   r-   r&   rÒ  r.   r'   r%   ÚIntClassrc  ¤  ó   „ òór'   rf  rŠ   r  re   c                   ó   — e Zd Zd„ Zd„ Zy)ú?TestJitClassOverloads.test_numeric_fallback.<locals>.IndexClassc                  ó   — y r    r.   r@   s    r%   r&   zHTestJitClassOverloads.test_numeric_fallback.<locals>.IndexClass.__init__¿  r`   r'   c                  ó   — yr4  r.   r@   s    r%   Ú	__index__zITestJitClassOverloads.test_numeric_fallback.<locals>.IndexClass.__index__Â  r‹   r'   N)r+   r,   r-   r&   rl  r.   r'   r%   Ú
IndexClassri  ½  rg  r'   rm  r)   ç      ð?c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)úGTestJitClassOverloads.test_numeric_fallback.<locals>.FloatIntIndexClassc                  ó   — y r    r.   r@   s    r%   r&   zPTestJitClassOverloads.test_numeric_fallback.<locals>.FloatIntIndexClass.__init__Ð  r`   r'   c                  ó   — yr_  r.   r@   s    r%   rÐ  zQTestJitClassOverloads.test_numeric_fallback.<locals>.FloatIntIndexClass.__float__Ó  r`  r'   c                  ó   — yr‰   r.   r@   s    r%   rÒ  zOTestJitClassOverloads.test_numeric_fallback.<locals>.FloatIntIndexClass.__int__Ö  r‹   r'   c                  ó   — yr4  r.   r@   s    r%   rl  zQTestJitClassOverloads.test_numeric_fallback.<locals>.FloatIntIndexClass.__index__Ù  r‹   r'   N)r+   r,   r-   r&   rÐ  rÒ  rl  r.   r'   r%   ÚFloatIntIndexClassrp  Î  s   „ òòòór'   ru  )
r
   r   r  r  r|   r}   r~   r   r€   r   )r$   rW  r@  rZ  Újit_crA  Újit_ira  r£   r¯  rf  rm  ru  s                r%   Útest_numeric_fallbackz+TestJitClassOverloads.test_numeric_fallback�  s„  € ò	ò	ò	ô �T“
ˆÜ�T“
ˆÜ�T“
ˆä	�"‹÷	ð 	ó 
ð	ñ ‹lˆØ�‰™˜S›	¤7¨6£?Ô3Ø�‰™˜c›
¤G¨F£OÔ4Ø�‰™˜S›	 6Ô*Ø�‰™˜c›
 FÔ+à×ÑœyÔ)¨QÙ�ŒI÷ *à�‰�eœS §¡Ó-Ô.Ø×Ñœ{Ô+¨qÙ�#ŒJ÷ ,à�‰�eœS §¡Ó-Ô.ä	�"‹÷	ð 	ó 
ð	ñ ‹jˆØ�‰™˜S›	 1Ô%Ø�‰™˜c›
 AÔ&à×ÑœyÔ)¨QÙ�ŒI÷ *à�‰�i¤ Q§[¡[Ó!1Ô2Ø×Ñœ{Ô+¨qÙ�#ŒJ÷ ,à�‰�i¤ Q§[¡[Ó!1Ô2Ø×ÑœyÔ)¨QÙ�ŒI÷ *à�‰�gœs 1§;¡;Ó/Ô0Ø×Ñœ{Ô+¨qÙ�#ŒJ÷ ,à�‰�gœs 1§;¡;Ó/Ô0ä	�"‹÷	ð 	ó 
ð	ñ ‹lˆà�‰™˜S›	¤7¨1£:Ô.Ø�‰™˜c›
¤G¨A£JÔ/Ø�‰™˜S›	 2Ô&Ø�‰™˜c›
 BÔ'Ø�‰™˜S›	 1Ô%Ø�‰™˜c›
 AÔ&ä	�"‹÷	ð 	ó 
ð	ñ !Ó"ˆØ�‰™˜S›	¤7¨6£?Ô3Ø�‰™˜c›
¤G¨F£OÔ4Ø�‰™˜S›	 6Ô*Ø�‰™˜c›
 FÔ+Ø�‰™˜S›	 1Ô%Ø�‰™˜c›
 AÕ&÷K *Ñ)ú÷ ,Ñ+ú÷  *Ñ)ú÷ ,Ñ+ú÷ *Ñ)ú÷ ,Ñ+úsH   Ã	QÄ	QÆ6	Q*È	Q7É	RÊ	RÑQÑQ'Ñ*Q4Ñ7RÒRÒRc                 óž  — | j                  «       }| j                  «       }d„ d„ d„ d„ d„ d„ d„ d„ d	„ d
„ d„ d„ d„ g}d„ d„ d„ d„ d„ d„ d„ g}g d¢}d„ }t        j                  t	        t
        |«      |«      D ]’  \  }\  }}	|j                  }
 |
||	«      } ||«      } ||	«      }t        |«      t        ur| j                  n| j                  } || |||	«      «        || | |
||«      «      «        || | |||«      «      «       Œ” t        j                  t	        t
        |«      |«      D ]š  \  }\  }}	|j                  }
t        |«      t        |	«      }	} |
||	«      } ||«      } ||	«      }| j                  | |||	«      «       | j                  | | |
||«      «      «       | j                  | | |||«      «      «       Œœ y )Nc                 ó   — | |k(  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>é  ó   € ˜˜ašr'   c                 ó   — | |k7  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ê  r{  r'   c                 ó   — | |k\  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ë  r{  r'   c                 ó   — | |kD  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ì  ó   € ˜˜Qšr'   c                 ó   — | |k  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>í  r{  r'   c                 ó   — | |k  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>î  r  r'   c                 ó   — | |z   S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ï  r  r'   c                 ó   — | |z  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ð  r{  r'   c                 ó   — | |z  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ñ  r  r'   c                 ó   — | |z  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ò  r  r'   c                 ó   — | |z  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ó  r{  r'   c                 ó   — | |z
  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ô  r  r'   c                 ó   — | |z  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>õ  r  r'   c                 ó   — | |k(  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ø  r{  r'   c                 ó   — | |k7  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ù  r{  r'   c                 ó   — | |z  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ú  r{  r'   c                 ó   — | |z	  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>û  r{  r'   c                 ó   — | |z  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ü  r  r'   c                 ó   — | |z  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ý  r  r'   c                 ó   — | |z  S r    r.   r”   s     r%   r#  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>þ  r  r'   ©)ru   ç       @)gX9´Èv¾ó?rø   )g333333*@g)\�Âõ(ð?c                 ó   — t        | d| «      S )Nr!   )Úgetattrrf  s    r%   Úunwrapz=TestJitClassOverloads.test_arithmetic_logical.<locals>.unwrap  s   € Ü˜5 # uÓ-Ð-r'   )rô  r  Ú	itertoolsÚproductÚmapr
   r›  r  re   rK   ÚassertAlmostEqualra   )r$   ræ  r  Úfloat_py_funcsÚint_py_funcsÚtest_valuesr”  rA  r!   r"   r@  rT   Újit_xÚjit_yÚchecks                  r%   Útest_arithmetic_logicalz-TestJitClassOverloads.test_arithmetic_logicalä  sâ  € Ø×)Ñ)Ó+ˆ
Ø×-Ñ-Ó/ˆñ  ÙÙÙÙÙÙÙÙÙÙÙÙð
ˆñ   ÙÙÙÙÙÙð
ˆò
ˆò	.ô '×.Ñ.Ü”D˜.Ó)¨;ö8‰MˆE‘6�A�qð —=‘=ˆDá˜A˜q“zˆHÙ  “OˆEÙ  “OˆEô ˜“>¬Ñ.ð × Ò à×+Ñ+ð ñ
 �(™E ! Q›KÔ(Ù�(™F¡4¨¨uÓ#5Ó6Ô7Ù�(™F¡5¨°Ó#6Ó7Õ8ð!8ô$ '×.Ñ.Ü”D˜,Ó'¨ö6‰MˆE‘6�A�qð —=‘=ˆDÜ�q“6œ3˜q›6ˆqˆAá˜A˜q“zˆHÙ˜q“MˆEÙ˜q“MˆEà×Ñ˜X¡u¨Q°£{Ô3Ø×Ñ˜X¡v©d°5¸%Ó.@Ó'AÔBØ×Ñ˜X¡v©e°E¸5Ó.AÓ'BÕCñ6r'   c           
      ó<  ‡‡— | j                  «       }| j                  «       }|j                  «       d   }|j                  «       d   }t        dt        j
                  fg«       G ˆfd„d|«      «       Št        dt        j                  i«       G ˆfd„d|«      «       Š‰j                  «       d   }‰j                  «       d   }d„ }dD �cg c]
  } ||«      ‘Œ }	}d	D �cg c]
  } ||«      ‘Œ }
}g d
¢}t        j                  t        t        |	«      ||f|‰fg|«      D ]•  \  }\  }}\  }}|j                  } | ||«       ||«      «      j                  }| j                  | | ||«       ||«      «      j                  «       | j                  | | ||«       ||«      «      j                  «       Œ— t        j                  t        t        |
«      ||f|‰fg|«      D ]«  \  }\  }}\  }}t        |«      t        |«      }}|j                  } | ||«       ||«      «      j                  }| j                  | | ||«       ||«      «      j                  «       | j                  | | ||«       ||«      «      j                  «       Œ­ y c c}w c c}w )Nr)   r!   c                   óF   •— e Zd Zd„ Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zy)úRTestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapperc                 ó   — || _         y r    rS  rr   s     r%   r&   z[TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapper.__init__5  rÜ  r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  ©r$   rÅ   ÚJitIntUpdateWrappers     €r%   Ú__ilshift__z^TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapper.__ilshift__8  ó   ø€ Ù*¨4¯6©6°U·W±WÑ+<Ó=Ð=r'   c                 óB   •—  ‰| j                   |j                   z	  «      S r    rS  r¥  s     €r%   Ú__irshift__z^TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapper.__irshift__;  r¨  r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  r¥  s     €r%   Ú__iand__z[TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapper.__iand__>  ó   ø€ Ù*¨4¯6©6°E·G±GÑ+;Ó<Ð<r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  r¥  s     €r%   Ú__ior__zZTestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapper.__ior__A  r­  r'   c                 óB   •—  ‰| j                   |j                   z  «      S r    rS  r¥  s     €r%   Ú__ixor__z[TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapper.__ixor__D  r­  r'   N)	r+   r,   r-   r&   r§  rª  r¬  r¯  r±  )r¦  s   €r%   r¦  r¢  3  s!   ø„ òô>ô>ô=ô=õ=r'   r¦  c                   óZ   •— e Zd Zd„ Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Z	ˆ fd„Z
y	)
úTTestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapperc                 ó   — || _         y r    rS  rr   s     r%   r&   z]TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__init__J  rÜ  r'   c                 óH   •—  ‰| j                   d|j                   z  z   «      S ©NgX9´Èv¾@rS  ©r$   rÅ   ÚJitFloatUpdateWrappers     €r%   Ú__iadd__z]TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__iadd__M  s   ø€ Ù,¨T¯V©V°e¸e¿g¹g±oÑ-EÓFÐFr'   c                 óH   •—  ‰| j                   dz  |j                   z  «      S r¶  rS  r·  s     €r%   Ú__ifloordiv__zbTestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__ifloordiv__P  s   ø€ Ù,¨T¯V©V°e©^¸u¿w¹wÑ-FÓGÐGr'   c                 óH   •—  ‰| j                   |j                   dz   z  «      S r4  rS  r·  s     €r%   Ú__imod__z]TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__imod__S  s   ø€ Ù,¨T¯V©V°u·w±wÀ±{Ñ-CÓDÐDr'   c                 óH   •—  ‰| j                   |j                   z  dz   «      S r4  rS  r·  s     €r%   Ú__imul__z]TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__imul__V  s    ø€ Ù,¨T¯V©V°e·g±gÑ-=ÀÑ-AÓBÐBr'   c                 óH   •—  ‰| j                   |j                   z  dz   «      S r4  rS  r·  s     €r%   Ú__ipow__z]TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__ipow__Y  s    ø€ Ù,¨T¯V©V°u·w±wÑ->ÀÑ-BÓCÐCr'   c                 óH   •—  ‰| j                   d|j                   z  z
  «      S r_  rS  r·  s     €r%   Ú__isub__z]TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__isub__\  s    ø€ Ù,¨T¯V©V°f¸u¿w¹wÑ6FÑ-FÓGÐGr'   c                 óH   •—  ‰| j                   dz   |j                   z  «      S r4  rS  r·  s     €r%   Ú__itruediv__zaTestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__itruediv___  s   ø€ Ù,¨d¯f©f°q©j¸E¿G¹GÑ-CÓDÐDr'   N)r+   r,   r-   r&   r¹  r»  r½  r¿  rÁ  rÃ  rÅ  )r¸  s   €r%   r¸  r³  G  s2   ø„ òôGôHôEôCôDôHõEr'   r¸  c                 ó4   — d| › d�}i }t        ||«       |d   S )Nz
def f(x, y):
    x z= y
    return x
rÏ  )Úexec)ÚopÚtemplateÚ	namespaces      r%   Úget_update_funczNTestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.get_update_funce  s3   € ðà	€dð ðˆHð
 ˆIÜ�˜9Ô%Ø˜S‘>Ð!r'   )Ú+ú//Ú%Ú*ú**Ú-Ú/)ú<<ú>>Ú&Ú|Ú^r�  )rô  r  Úmror   r   ró  r   r•  r–  r—  r
   r›  r!   r˜  ra   rK   )r$   ÚJitIntWrapperÚJitFloatWrapperÚPyIntWrapperÚPyFloatWrapperÚPyIntUpdateWrapperÚPyFloatUpdateWrapperrË  rÈ  r™  rš  r›  rA  Úpy_clsÚjit_clsr!   r"   r@  rT   r¸  r¦  s                      @@r%   Útest_arithmetic_logical_inplacez5TestJitClassOverloads.test_arithmetic_logical_inplace*  s®  ù€ ð ×,Ñ,Ó.ˆØ×0Ñ0Ó2ˆà$×(Ñ(Ó*¨1Ñ-ˆØ(×,Ñ,Ó.¨qÑ1ˆä	�CœŸ™Ð$Ð%Ó	&ö	= ,ó 	=ó 
'ð	=ô& 
�3œŸ™Ð&Ó	'ö	E Nó 	Eó 
(ð	Eð4 1×4Ñ4Ó6°qÑ9ÐØ4×8Ñ8Ó:¸1Ñ=Ðò	"ñ9
ó ñ 9
°"™/¨"Õ-ð 9
ˆð ñ7
ó ñ 7
°™¨Õ+ð 7
ˆð ò
ˆô 1:×0AÑ0AÜ”D˜.Ó)à# _Ð5Ø)Ð+@ÐAðð ö1Ñ,ˆEÑ$�F˜G¡f q¨!ð —=‘=ˆDá™F 1›I¡v¨a£yÓ1×3Ñ3ˆHØ×"Ñ" 8©T±'¸!³*¹gÀa»jÓ-I×-KÑ-KÔLØ×"Ñ" 8©U±7¸1³:¹wÀq»zÓ-J×-LÑ-LÕMð1ô 1:×0AÑ0AÜ”D˜,Ó'à! =Ð1Ø'Ð)<Ð=ðð ö1Ñ,ˆEÑ$�F˜G¡f q¨!ô �q“6œ3˜q›6ˆqˆAØ—=‘=ˆDá™F 1›I¡v¨a£yÓ1×3Ñ3ˆHØ×Ñ˜X¡t©G°A«J¹À»
Ó'C×'EÑ'EÔFØ×Ñ˜X¡u©W°Q«Z¹À»Ó'D×'FÑ'FÕGñ1ùò5ùòs   ÃJÃ"Jc           
      ó   —  G d„ d«      } G d„ d|«      }d„ }d„ }d„ }d„ }g d	¢}t        j                  ||gd
dg«      D ]Ì  \  }}	|	rt        n|}
 |
|«      } |
|«      } |
|«      }t        |«      }dD ]#  }| j	                   | ||«      «      |dz  «       Œ% |D ]m  \  }}| j	                   | ||«       ||«      «       ||«       ||«      k(  «       | j	                   | ||«       ||«      «       ||«       ||«      k7  «       Œo ŒÎ y )Nc                   ó*   — e Zd ZU eed<   d„ Zd„ Zd„ Zy)ú9TestJitClassOverloads.test_hash_eq_ne.<locals>.HashEqTestr!   c                 ó   — || _         y r    rS  rT  s     r%   r&   zBTestJitClassOverloads.test_hash_eq_ne.<locals>.HashEqTest.__init__œ  rV  r'   c                 ó    — | j                   dz  S )Nr¬   rS  r@   s    r%   râ  zBTestJitClassOverloads.test_hash_eq_ne.<locals>.HashEqTest.__hash__Ÿ  s   € Ø—v‘v ‘{Ð"r'   c                 ó@   — | j                   |j                   z
  dz  dk(  S )Nrù  r   rS  ©r$   Úos     r%   rß  z@TestJitClassOverloads.test_hash_eq_ne.<locals>.HashEqTest.__eq__¢  s   € ØŸ™ §¡™¨Ñ*¨aÑ/Ð/r'   N)r+   r,   r-   ra   rb   r&   râ  rß  r.   r'   r%   Ú
HashEqTesträ  ™  s   … Ø‹Fòò#ó0r'   rê  c                   ó   — e Zd Zd„ Zy)ú;TestJitClassOverloads.test_hash_eq_ne.<locals>.HashEqNeTestc                 ó@   — | j                   |j                   z
  dz  dkD  S )Nrù  r)   rS  rè  s     r%   Ú__ne__zBTestJitClassOverloads.test_hash_eq_ne.<locals>.HashEqNeTest.__ne__¦  s   € ØŸ™ §¡™¨Ñ*¨QÑ.Ð.r'   N)r+   r,   r-   rî  r.   r'   r%   ÚHashEqNeTestrì  ¥  s   „ ó/r'   rï  c                 ó   — t        | «      S r    )ÚhashrS  s    r%   Úpy_hashz6TestJitClassOverloads.test_hash_eq_ne.<locals>.py_hash©  rF  r'   c                 ó   — | |k(  S r    r.   r”   s     r%   Úpy_eqz4TestJitClassOverloads.test_hash_eq_ne.<locals>.py_eq¬  ó   € Ø˜‘6ˆMr'   c                 ó   — | |k7  S r    r.   r”   s     r%   Úpy_nez4TestJitClassOverloads.test_hash_eq_ne.<locals>.py_ne¯  rõ  r'   c                 ó   — | S r    r.   )rÏ  s    r%   Úidentity_decoratorzATestJitClassOverloads.test_hash_eq_ne.<locals>.identity_decorator²  s   € ØˆHr'   ))r   r)   )r¦   r  )rŠ   r¬   )r¨   r¨   FT)r   r¦   r¬   é   iøÿÿÿr¬   )r•  r–  r
   r   rK   )r$   rê  rï  rò  rô  r÷  rù  ÚcomparisonsÚbase_clsÚuse_jitÚ	decoratorÚ	hash_funcÚeq_funcÚne_funcrà  r‚  r!   r"   s                     r%   Útest_hash_eq_nez%TestJitClassOverloads.test_hash_eq_ne—  s*  € ÷
	0ñ 
	0ô	/˜:ô 	/ò	ò	ò	ò	ò
ˆô "+×!2Ñ!2Ø˜Ð&¨°¨ö"
ÑˆH�gñ !(�Ð-?ˆIÙ! 'Ó*ˆIÙ Ó&ˆGÙ Ó&ˆGä˜xÓ(ˆGã'�Ø× Ñ ¡©7°1«:Ó!6¸¸B¹Õ?ð (ó $‘��1Ø× Ñ Ù™G A›J©°«
Ó3Ù˜Q“K¡8¨A£;Ñ.ôð × Ñ Ù™G A›J©°«
Ó3Ù˜Q“K¡8¨A£;Ñ.õñ $ñ"
r'   c                 óè  —  G d„ d«      }|} t        dt        j                  fg«      |«      } |d«      j                  «       } |d«      j                  «       } |d«      j                  «       } |d«      j                  «       }| j	                  ||«       | j	                  ||«       | j	                  t        |«      t        |«      «       | j	                  t        |«      t        |«      «       y )Nc                   ó   — e Zd Zd„ Zd„ Zd„ Zy)úBTestJitClassOverloads.test_bool_fallback_len.<locals>.NoBoolHasLenc                 ó   — || _         y r    rÐ   r•   s     r%   r&   zKTestJitClassOverloads.test_bool_fallback_len.<locals>.NoBoolHasLen.__init__å  rÑ   r'   c                 ó   — | j                   S r    rÐ   r@   s    r%   rÔ  zJTestJitClassOverloads.test_bool_fallback_len.<locals>.NoBoolHasLen.__len__è  s   € Ø—x‘x�r'   c                 ó   — t        | «      S r    r(  r@   s    r%   Úget_boolzKTestJitClassOverloads.test_bool_fallback_len.<locals>.NoBoolHasLen.get_boolë  ó   € Ü˜D“zÐ!r'   N)r+   r,   r-   r&   rÔ  r	  r.   r'   r%   ÚNoBoolHasLenr  ä  s   „ òò ó"r'   r  r–   r   r¦   )r   r   Úint64r	  rK   r  )r$   r  Úpy_classÚjitted_classÚpy_class_0_boolÚpy_class_2_boolÚjitted_class_0_boolÚjitted_class_2_bools           r%   Útest_bool_fallback_lenz,TestJitClassOverloads.test_bool_fallback_lenÓ  sÖ   € ÷"	"ñ 	"ð  ˆØ7”x %¬¯©Ð!5Ð 6Ó7¸ÓAˆá" 1›+×.Ñ.Ó0ˆÙ" 1›+×.Ñ.Ó0ˆÙ*¨1›o×6Ñ6Ó8ÐÙ*¨1›o×6Ñ6Ó8Ðð 	×Ñ˜Ð*=Ô>Ø×Ñ˜Ð*=Ô>ð 	×Ñœ˜oÓ.´Ð5HÓ0IÔJØ×Ñœ˜oÓ.´Ð5HÓ0IÕJr'   c                 óþ   —  G d„ d«      }|} t        g «      |«      } |«       j                  «       } |«       j                  «       }| j                  ||«       | j                  t        |«      t        |«      «       y )Nc                   ó   — e Zd Zd„ Zd„ Zy)úETestJitClassOverloads.test_bool_fallback_default.<locals>.NoBoolNoLenc                  ó   — y r    r.   r@   s    r%   r&   zNTestJitClassOverloads.test_bool_fallback_default.<locals>.NoBoolNoLen.__init__  r`   r'   c                 ó   — t        | «      S r    r(  r@   s    r%   r	  zNTestJitClassOverloads.test_bool_fallback_default.<locals>.NoBoolNoLen.get_bool  r
  r'   N)r+   r,   r-   r&   r	  r.   r'   r%   ÚNoBoolNoLenr    s   „ òó"r'   r  )r   r	  rK   r  )r$   r  r  r  Úpy_class_boolÚjitted_class_bools         r%   Útest_bool_fallback_defaultz0TestJitClassOverloads.test_bool_fallback_defaultþ  st   € ÷	"ñ 	"ð ˆØ#”x “| HÓ-ˆá ›
×+Ñ+Ó-ˆÙ(›N×3Ñ3Ó5Ðð 	×Ñ˜Ð(9Ô:ð 	×Ñœ˜mÓ,¬dÐ3DÓ.EÕFr'   c                 óÆ  —  G d„ d«      } G d„ d«      }dt         j                  fg} t        |«      |«      } t        |«      |«      } |d«      } |d«      } |d«      } |d«      }	| j                  ||k(  |	|k(  «       | j                  ||k  |	|k  «       | j                  ||k  |	|k  «       | j                  ||k\  |	|k\  «       | j                  ||kD  |	|kD  «       y )Nc                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)úHTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefinedc                 ó   — || _         y r    rS  rT  s     r%   r&   zQTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefined.__init__  rV  r'   c                 ó4   — | j                   |j                   k(  S r    rS  rÞ  s     r%   rß  zOTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefined.__eq__  rà  r'   c                 ó4   — | j                   |j                   k  S r    rS  rÞ  s     r%   r  zOTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefined.__le__  rà  r'   c                 ó4   — | j                   |j                   k  S r    rS  rÞ  s     r%   r  zOTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefined.__lt__   rÿ  r'   c                 ó4   — | j                   |j                   k\  S r    rS  rÞ  s     r%   rü  zOTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefined.__ge__#  rà  r'   c                 ó4   — | j                   |j                   kD  S r    rS  rÞ  s     r%   rþ  zOTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefined.__gt__&  rÿ  r'   N)	r+   r,   r-   r&   rß  r  r  rü  rþ  r.   r'   r%   ÚOperatorsDefinedr    s    „ òò)ò)ò(ò)ó(r'   r&  c                   ó   — e Zd Zd„ Zy)úJTestJitClassOverloads.test_operator_reflection.<locals>.NoOperatorsDefinedc                 ó   — || _         y r    rS  rT  s     r%   r&   zSTestJitClassOverloads.test_operator_reflection.<locals>.NoOperatorsDefined.__init__*  rV  r'   Nr*   r.   r'   r%   ÚNoOperatorsDefinedr(  )  ó   „ ór'   r*  r!   r¦   r¨   )r   r	   r   rK   )
r$   r&  r*  rN   ÚJitOperatorsDefinedÚJitNoOperatorsDefinedÚpy_ops_definedÚpy_ops_not_definedÚjit_ops_definedÚjit_ops_not_defineds
             r%   Útest_operator_reflectionz.TestJitClassOverloads.test_operator_reflection  s  € ÷	(ñ 	(÷&	ñ 	ð ”e—k‘kÐ"Ð#ˆØ,œh t›nÐ-=Ó>ÐØ .¤¨£Ð/AÓ BÐá)¨!Ó,ˆÙ/°Ó2Ðá-¨aÓ0ˆÙ3°AÓ6Ðà×ÑÐ+¨~Ñ=Ø,°Ñ?ô	Að 	×ÑÐ+¨~Ñ=Ø,°Ñ?ô	Að 	×ÑÐ+¨nÑ<Ø,¨Ñ>ô	@ð 	×ÑÐ+¨~Ñ=Ø,°Ñ?ô	Að 	×ÑÐ+¨nÑ<Ø,¨Ñ>õ	@r'   c           
      ó”  —  G d„ d«      } G d„ d«      }d}t         j                  j                  d«       t         j                  j                  |f¬«      }t         j                  j                  ||f¬«      } ||«      } ||«      } t        |dt        d d d…   i¬	«      |«      } t        |dt        d d d…   i¬	«      |«      }	 ||«      }
 ||«      } t        |dt        d d …d d d…f   i¬	«      |«      } t        |dt        d d …d d d…f   i¬	«      |«      }t         j
                  j                  ||z  |	|z  «       t         j
                  j                  ||
z  |	|z  «       t         j
                  j                  ||z  ||z  «       t         j
                  j                  ||
z  ||z  «       t         j
                  j                  ||z  ||	z  «       t         j
                  j                  ||z  ||z  «       t         j
                  j                  |
|z  ||	z  «       t         j
                  j                  |
|z  ||z  «       ||
z  }||
z  }|	|z  }	||z  }t         j
                  j                  |j                  |	j                  «       t         j
                  j                  |j                  |j                  «       y )
Nc                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ú;TestJitClassOverloads.test_matmul_operator.<locals>.ArrayAtc                 ó   — || _         y r    ©rŽ   ©r$   rl  s     r%   r&   zDTestJitClassOverloads.test_matmul_operator.<locals>.ArrayAt.__init__I  ó	   € Ø �•r'   c                 ó4   — | j                   |j                   z  S r    r7  rÞ  s     r%   Ú
__matmul__zFTestJitClassOverloads.test_matmul_operator.<locals>.ArrayAt.__matmul__L  s   € Ø—x‘x %§)¡)Ñ+Ð+r'   c                 ó4   — |j                   | j                   z  S r    r7  rÞ  s     r%   Ú__rmatmul__zGTestJitClassOverloads.test_matmul_operator.<locals>.ArrayAt.__rmatmul__O  s   € Ø—y‘y 4§8¡8Ñ+Ð+r'   c                 óB   — | j                   |j                   z  | _         | S r    r7  rÞ  s     r%   Ú__imatmul__zGTestJitClassOverloads.test_matmul_operator.<locals>.ArrayAt.__imatmul__R  s   € ØŸ8™8 e§i¡iÑ/�”Ø�r'   N)r+   r,   r-   r&   r;  r=  r?  r.   r'   r%   ÚArrayAtr5  H  s   „ ò!ò,ò,ór'   r@  c                   ó   — e Zd Zd„ Zy)ú=TestJitClassOverloads.test_matmul_operator.<locals>.ArrayNoAtc                 ó   — || _         y r    r7  r8  s     r%   r&   zFTestJitClassOverloads.test_matmul_operator.<locals>.ArrayNoAt.__init__W  r9  r'   Nr*   r.   r'   r%   Ú	ArrayNoAtrB  V  s   „ ó!r'   rD  r¨   r)   )ÚsizerŽ   r|  )r°   r8  Úseedr   r   rm  Úassert_allcloserŽ   )r$   r@  rD  rî  rª   ÚmatÚvector_noatÚ	vector_atÚjit_vector_noatÚjit_vector_atÚmatrix_noatÚ	matrix_atÚjit_matrix_noatÚjit_matrix_ats                 r%   Útest_matmul_operatorz*TestJitClassOverloads.test_matmul_operatorF  s‡  € ÷	ñ 	÷	!ñ 	!ð ˆÜ
�	‰	�‰�qÔÜ�i‰i×Ñ Q DÐÓ)ˆÜ�i‰i×Ñ Q¨ FÐÓ+ˆá “nˆÙ˜C“Lˆ	ØIœ( 9°E¼7Á3ÀQÀ3¹<Ð3HÔIÈ#ÓNˆØEœ °´w¹sÀ¸s±|Ð/DÔEÀcÓJˆá “nˆÙ˜C“Lˆ	ØKœ( 9°E¼7Â1ÁSÀqÀSÀ5¹>Ð3JÔKÈCÓPˆØGœ °´wºqÁÀ1À¸u±~Ð/FÔGÈÓLˆô 	�
‰
×"Ñ" 9¨{Ñ#:Ø#0°?Ñ#Bô	Dä
�
‰
×"Ñ" 9¨{Ñ#:Ø#0°?Ñ#Bô	Dä
�
‰
×"Ñ" 9¨{Ñ#:Ø#0°?Ñ#Bô	Dä
�
‰
×"Ñ" 9¨{Ñ#:Ø#0°?Ñ#Bô	Dô 	�
‰
×"Ñ" ;°Ñ#:Ø#2°]Ñ#Bô	Dä
�
‰
×"Ñ" ;°Ñ#:Ø#2°]Ñ#Bô	Dä
�
‰
×"Ñ" ;°Ñ#:Ø#2°]Ñ#Bô	Dä
�
‰
×"Ñ" ;°Ñ#:Ø#2°]Ñ#Bô	Dð 	�[Ñ ˆ	Ø�[Ñ ˆ	Ø˜Ñ(ˆØ˜Ñ(ˆä
�
‰
×"Ñ" 9§=¡=°-×2CÑ2CÔDÜ
�
‰
×"Ñ" 9§=¡=°-×2CÑ2CÕDr'   c                 óˆ  —  G d„ d«      } G d„ d«      }g d¢}g |¢d‘d‘d‘d	‘d
‘}t         |dft        |dft        d d d…   |t        j                  g d¢«      t        j                  g d¢«      fffD ]Í  \  }}}d|i}t	        ||«      }	t	        ||«      }
 ||d   «      } ||d   «      } |	|d   «      } |
|d   «      }|D ]z  }dt        |«      vr-| j                  t        d|› d�«      t        d|› d�«      «       Œ=| j                  t        t        d|› d�«      «      t        t        d|› d�«      «      «       Œ| ŒÏ y )Nc                   ó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„ Zd„ Zy)úRTestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefinedc                 ó   — || _         y r    rS  rT  s     r%   r&   z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__init__ˆ  rV  r'   c                 ó4   — |j                   | j                   z   S r    rS  rÞ  s     r%   Ú__radd__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__radd__‹  ó   € Ø—w‘w §¡Ñ'Ð'r'   c                 ó4   — |j                   | j                   z
  S r    rS  rÞ  s     r%   Ú__rsub__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rsub__Ž  rX  r'   c                 ó4   — |j                   | j                   z  S r    rS  rÞ  s     r%   Ú__rmul__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rmul__‘  rX  r'   c                 ó4   — |j                   | j                   z  S r    rS  rÞ  s     r%   Ú__rtruediv__z_TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rtruediv__”  rX  r'   c                 ó4   — |j                   | j                   z  S r    rS  rÞ  s     r%   Ú__rfloordiv__z`TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rfloordiv__—  ó   € Ø—w‘w $§&¡&Ñ(Ð(r'   c                 ó4   — |j                   | j                   z  S r    rS  rÞ  s     r%   Ú__rmod__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rmod__š  rX  r'   c                 ó4   — |j                   | j                   z  S r    rS  rÞ  s     r%   Ú__rpow__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rpow__�  ra  r'   c                 ó4   — |j                   | j                   z  S r    rS  rÞ  s     r%   Ú__rlshift__z^TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rlshift__   ra  r'   c                 ó4   — |j                   | j                   z	  S r    rS  rÞ  s     r%   Ú__rrshift__z^TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rrshift__£  ra  r'   c                 ó4   — |j                   | j                   z  S r    rS  rÞ  s     r%   Ú__rand__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rand__¦  rX  r'   c                 ó4   — |j                   | j                   z  S r    rS  rÞ  s     r%   Ú__rxor__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rxor__©  rX  r'   c                 ó4   — |j                   | j                   z  S r    rS  rÞ  s     r%   Ú__ror__zZTestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__ror__¬  rX  r'   N)r+   r,   r-   r&   rW  rZ  r\  r^  r`  rc  re  rg  ri  rk  rm  ro  r.   r'   r%   r&  rT  ‡  sC   „ òò(ò(ò(ò(ò)ò(ò)ò)ò)ò(ò(ó(r'   r&  c                   ó   — e Zd Zd„ Zy)úTTestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.NoOperatorsDefinedc                 ó   — || _         y r    rS  rT  s     r%   r&   z]TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.NoOperatorsDefined.__init__°  rV  r'   Nr*   r.   r'   r%   r*  rq  ¯  r+  r'   r*  )rÌ  rÑ  rÏ  rÐ  rÒ  rÍ  rÎ  rÓ  rÔ  rÕ  r×  rÖ  )r¦   r©   )r‘  ç      @r)   )rn  r‘  rs  )g      4@g      8Àrn  r!   r   rl  zpy_ops_not_defined z py_ops_definedzjit_ops_not_defined z jit_ops_defined)
r	   r   r°   rl  r   r   rK   ÚevalÚassertTupleEqualÚtuple)r$   r&  r*  Úfloat_opÚint_opÚ	test_typeÚtest_opÚ
test_valuerN   r,  r-  r.  r/  r0  r1  rÈ  s                   r%   Ú"test_arithmetic_logical_reflectionz8TestJitClassOverloads.test_arithmetic_logical_reflection†  s�  € ÷&	(ñ &	(÷P	ñ 	ò 9ˆØ8�8Ð8˜TÐ8 4Ð8¨#Ð8¨sÐ8°CÐ8ˆô �F˜FÐ#Ü�h Ð)Ü‘S�q�S‰\˜8Ü—‘š,Ó'¬¯©²/Ó)BÐCðEó/
Ñ*ˆI�w 
ð ˜Ð#ˆDÜ"*Ð+;¸TÓ"BÐÜ$,Ð-?ÀÓ$FÐ!á-¨j¸©mÓ<ˆNÙ!3°J¸q±MÓ!BÐá1°*¸Q±-Ó@ˆOÙ"7¸
À1¹Ó"FÐã�Ø¤3 y£>Ñ1Ø×$Ñ$ÜÐ2°2°$°oÐFÓGÜÐ3°B°4Ð7GÐHÓIõð
 ×)Ñ)ÜœdÐ%8¸¸¸OÐ#LÓMÓNÜœdÐ%9¸"¸Ð=MÐ#NÓOÓPõñ ñ!/
r'   c                 óp   —  G d„ d«      } t        g «      |«      } |«       }| j                  ||k(  «       y )Nc                   ó   — e Zd Zd„ Zd„ Zy)úGTestJitClassOverloads.test_implicit_hash_compiles.<locals>.ImplicitHashc                  ó   — y r    r.   r@   s    r%   r&   zPTestJitClassOverloads.test_implicit_hash_compiles.<locals>.ImplicitHash.__init__×  r`   r'   c                  ó   — y)NFr.   rÞ  s     r%   rß  zNTestJitClassOverloads.test_implicit_hash_compiles.<locals>.ImplicitHash.__eq__Ú  s   € Ør'   N)r+   r,   r-   r&   rß  r.   r'   r%   ÚImplicitHashr  Ö  s   „ òór'   r‚  )r   rÓ   )r$   r‚  ÚjittedÚinstances       r%   Útest_implicit_hash_compilesz1TestJitClassOverloads.test_implicit_hash_compilesÒ  s8   € ÷	ñ 	ð ”˜"“˜lÓ+ˆÙ“8ˆà×Ñ˜ XÑ-Õ.r'   c                 óR  ‡— t        dt        j                  fg«       G ˆfd„d«      «       Š ‰d«      }| }| j                  |‰«       | j	                  |j
                  d«       t        d„ «       } ||«      }| j                  |‰«       | j	                  |j
                  d«       y )Nr!   c                   ó   •— e Zd Zd„ Zˆ fd„Zy)úATestJitClassOverloads.test_invert_operator.<locals>.InvertWrapperc                 ó   — || _         y r    rS  rr   s     r%   r&   zJTestJitClassOverloads.test_invert_operator.<locals>.InvertWrapper.__init__å  rÜ  r'   c                 ó*   •—  ‰| j                    «      S r    rS  )r$   ÚInvertWrappers    €r%   Ú
__invert__zLTestJitClassOverloads.test_invert_operator.<locals>.InvertWrapper.__invert__è  s   ø€ Ù$ d§f¡f WÓ-Ð-r'   N)r+   r,   r-   r&   rŒ  )r‹  s   €r%   r‹  rˆ  ã  s   ø„ òõ.r'   r‹  rÁ  iÕÿÿÿc                 ó   — |  S r    r.   )ré  s    r%   Ú	do_invertz=TestJitClassOverloads.test_invert_operator.<locals>.do_invertò  s	   € à�2ˆIr'   )r   r   ró  r  rK   r!   r
   )r$   r£   Ú	py_resultrŽ  Únjit_resultr‹  s        @r%   Útest_invert_operatorz*TestJitClassOverloads.test_invert_operatorâ  s¥   ø€ Ü	�CœŸ™Ð$Ð%Ó	&÷	.ò 	.ó 
'ð	.ñ ˜BÓˆà�Dˆ	Ø×Ñ˜i¨Ô7Ø×Ñ˜Ÿ™ cÔ*ô 
ñ	ó 
ð	ñ   “nˆØ×Ñ˜k¨=Ô9Ø×Ñ˜Ÿ™¨Õ,r'   r    )r+   r,   r-   r×  r`  rô  r  r  rB  rT  rx  rŸ  rá  r  r  r  r2  r   rQ  r|  r…  r‘  r.   r'   r%   r»  r»  œ  s    „ ÷,*ñ ,*ð\ ñó ðð: ñ4ó ð4ól1ò0<òd($òTa'òFDDòLkHòZ:òx)KòVGò./@ðb ñ=Eó ð=Eò~JòX/ó -r'   r»  Ú__main__)2rû   r•  rL  r8  Útypingrc   ÚunittestÚcollectionsr   Únumpyr°   Únumbar   r   r   r   r   r	   r
   r   r   Ú
numba.corer   r   Únumba.core.dispatcherr   Únumba.core.errorsr   r   Únumba.core.runtime.nrtr   Únumba.experimentalr   Únumba.experimental.jitclassr   Ú numba.experimental.jitclass.baser   Únumba.tests.supportr   r   r   r   rB   r   r0   r9   r;   r»  r+   Úmainr.   r'   r%   Ú<module>r¡     s£   ðÛ Û Û Û Û Û å #ã ÷+÷ +õ +ç $Ý ,ß 8Ý *Ý 'Ý ,Ý 9ß LÑ LÝ 1ô�ô ô�ô òôi2�8˜_ô i2ôX#\-˜O¨Xô \-ð~ ˆzÒØ€H‡M�M…Oð r'   