§
    2@Äjðñ  ã                   óš  — 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j1        ¦   «          dS dS )é    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dS )Ú
TestClass1é   é   ©Úac                ó>   — || _         || _        || _        || _        d S ©N)ÚxÚyÚzr   )Úselfr"   r#   r$   r   s        úLC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_jitclasses.pyÚ__init__zTestClass1.__init__   s"   € ØˆŒØˆŒØˆŒØˆŒˆˆó    N©r   ©Ú__name__Ú
__module__Ú__qualname__r'   © r(   r&   r   r      s4   € € € € € ð qð ð ð ð ð ð ð r(   r   c                   ó   — e Zd Zdddœd„ZdS )Ú
TestClass2r   r   r   c                óL   — || _         || _        || _        || _        || _        d S 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       s4   € € € € € ð¨1ð ð ð ð ð ð ð r(   r0   c                 ót   — t          j        | ¦  «        }t          |¦  «        }|                     ¦   «          |S r!   )r   Úbox_get_meminfoptrr   Úacquire)ÚboxÚptrÚmis      r&   Ú_get_meminfor9   )   s/   € Ý
Ô
! #Ñ
&Ô
&€CÝ	�‰Œ€BØ‡J‚J�L„L€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.„ Z0dS )0ÚTestJitClassNc                 ó¢  — |€*t          |¦  «         G d„ dt          ¦  «        ¦   «         }|}|j        j        }t	          |j                             ¦   «         ¦  «        }t	          |j                             ¦   «         ¦  «        }|€,t          |t          ¦  «        r| 
                    ¦   «         }n|}|€J ‚|                      t          |¦  «        t          |¦  «        ¦  «         t          t          ||¦  «        |¦  «        D ]I\  }}	|                      |d         |	d         ¦  «         |                      |d         |	d         ¦  «         ŒJd S )Nc                   ó   — e Zd Zd„ ZdS )ú&TestJitClass._check_spec.<locals>.Testc                 ó   — d S r!   r.   ©r%   s    r&   r'   z/TestJitClass._check_spec.<locals>.Test.__init__7   s   € Ø�Dr(   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   sV  € ØÐÝ�d‰^Œ^ðð ð ð ð •vñ ô ñ Œ^ðð ˆHàÔ#Ô1ˆÝ�U”\×&Ò&Ñ(Ô(Ñ)Ô)ˆÝ�e”l×)Ò)Ñ+Ô+Ñ,Ô,ˆàÐÝ˜$¥Ñ,Ô,ð $Ø#Ÿzšz™|œ|��à#�àÐ'Ð'Ð'à×Ò�˜U™œ¥S¨Ñ%6Ô%6Ñ7Ô7Ð7Ý ¥ U¨FÑ!3Ô!3°\ÑBÔBð 	2ð 	2‰MˆC�Ø×Ò˜S œV X¨a¤[Ñ1Ô1Ð1Ø×Ò˜S œV X¨a¤[Ñ1Ô1Ð1Ð1ð	2ð 	2r(   c                 ót   — t          ¦   «         }t          |d<   t          |d<   |                      |¦  «         d S ©Nr"   r#   )r   r	   r   rU   ©r%   rN   s     r&   Útest_ordereddict_specz"TestJitClass.test_ordereddict_specL   s7   € Ý‰}Œ}ˆÝˆˆS‰	ÝˆˆS‰	Ø×Ò˜ÑÔÐÐÐr(   c                 óT   — dt           fdt          fg}|                      |¦  «         d S rW   )r	   r   rU   rX   s     r&   Útest_list_speczTestJitClass.test_list_specR   s1   € Ø•e�Ø•g�ð ˆà×Ò˜ÑÔÐÐÐr(   c           	      óÒ   — dt           fg}t          |¦  «         G d„ dt          ¦  «        ¦   «         }|                      |||dt	          j        t          ¦  «        fgz   ¦  «         d S )Nr"   c                   ó@   — e Zd ZU eed<   ej        e         ed<   d„ ZdS )ú1TestJitClass.test_type_annotations.<locals>.Test1r"   r#   c                 ó   — d S 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ˆF‰FØŒw�uŒ~ÐÐÑðð ð ð ð r(   rf   r#   )r	   r   rB   rU   r   ÚListTyper   )r%   rN   rf   s      r&   Útest_type_annotationsz"TestJitClass.test_type_annotationsW   s~   € Ø•e�ˆ~ˆå	�$‰Œð	ð 	ð 	ð 	ð 	•Fñ 	ô 	ñ 
Œð	ð 	×Ò˜˜u d¨sµE´NÅ7Ñ4KÔ4KÐ.LÐ-MÑ&MÑNÔNÐNÐNÐNr(   c                 óÄ   —  G d„ d¦  «        }t            G d„ d|¦  «        ¦   «         }|                      |dt          d¦  «        fdt          d¦  «        fg¬	¦  «         d S )
Nc                   ó   — e Zd ZU eed<   dS )ú:TestJitClass.test_type_annotation_inheritance.<locals>.Foor"   N)r+   r,   r-   ra   rb   r.   r(   r&   ÚFoork   f   s   € € € € € € ØˆFˆF‰FˆFˆFr(   rl   c                   ó*   — e Zd ZU eed<   deddfd„ZdS )ú:TestJitClass.test_type_annotation_inheritance.<locals>.Barr#   ÚvalueÚreturnNc                 ó<   — t          |¦  «        | _        || _        d S 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   sA   € € € € € € àˆHˆH‰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   s©   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	õ 
ð	ð 	ð 	ð 	ð 	�#ñ 	ô 	ñ 
Œð	ð 	×ÒØ¨­f°Q©i¬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          ¦  «        }|                      t
          ¦  «        5 }t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j	        ¦  «        ¦  «         |                      t
          ¦  «        5 }t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   |  
                    t          |j	        ¦  «        d¦  «         d S )Nr"   r#   r   c                   ó   — e Zd Zd„ ZdS )ú+TestJitClass.test_spec_errors.<locals>.Testc                 ó   — d S 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¨1¨1¤:Ð.Ð/ˆØ•U�˜c¥7¨1¨1¨1¤:Ð.Ð/ˆð	ð 	ð 	ð 	ð 	•6ñ 	ô 	ð 	ð
 ×Ò�yÑ)Ô)ð 	"¨VÝ�T˜5Ñ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"à�ŠÐBÝ˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-à×Ò�yÑ)Ô)ð 	"¨VÝ�T˜5Ñ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"à×Ò�˜VÔ-Ñ.Ô.Ø=ñ	?ô 	?ð 	?ð 	?ð 	?s$   Á"A?Á?BÂBÃC)Ã)C-Ã0C-c                 ó  — t          g ¦  «         G d„ d¦  «        ¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )ú+TestJitClass.test_init_errors.<locals>.Testc                 ó   — dS ©Né   r.   r@   s    r&   r'   z4TestJitClass.test_init_errors.<locals>.Test.__init__‹   ó   € Ø�qr(   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‡   sã   € å	�"‰Œð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆD‰FŒFˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠÐ:Ý˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-s   ÁAÁAÁ A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dS )ú9TestJitClass._make_Float2AndArray.<locals>.Float2AndArrayc                 ó0   — || _         || _        || _        d S r!   ©r"   r#   rŽ   )r%   r"   r#   rŽ   s       r&   r'   zBTestJitClass._make_Float2AndArray.<locals>.Float2AndArray.__init__�   s   € Ø�”Ø�”Ø�”��r(   c                 óF   — | 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�   š   s2   € € € € € ðð ð ð
ð ð ð ð r(   r˜   )r   r   r   rB   )r%   rN   r˜   s      r&   Ú_make_Float2AndArrayz!TestJitClass._make_Float2AndArray”   sp   € Ý‰}Œ}ˆÝˆˆS‰	ÝˆˆS‰	Ý˜a˜a˜a”jˆˆU‰å	�$‰Œð
	ð 
	ð 
	ð 
	ð 
	�Vñ 
	ô 
	ñ 
Œð
	ð Ðr(   c                 óš   — t          ¦   «         }t          |d<   t          |d<   t          |¦  «         G d„ dt          ¦  «        ¦   «         }|S )Nr"   r#   c                   ó   — e Zd Zd„ ZdS )ú+TestJitClass._make_Vector2.<locals>.Vector2c                 ó"   — || _         || _        d S 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                 ó†  ‡‡‡— |                       ¦   «         Š|                      ¦   «         Št          d„ ¦   «         Št          ˆˆˆfd„¦   «         }t          j        dt          j        ¬¦  «        } ||¦  «        \  }}}|                      |d¦  «         |                      |d¦  «         |                      ||¦  «         d S )Nc                 ó    — | j         | j        z   S r!   r”   ©Úobjs    r&   Úbarz*TestJitClass.test_jit_class_1.<locals>.bar»   s   € à”5˜3œ5‘=Ð r(   c                 ó˜   •—  ‰dd| ¦  «        }|                      d¦  «          ‰dd¦  «        } ‰|¦  «         ‰|¦  «        |j        fS )Nr   é   é{   é   é   )r—   rŽ   )r   r£   Úvecr˜   rž   r¤   s      €€€r&   Úfooz*TestJitClass.test_jit_class_1.<locals>.foo¿   sS   ø€ à �.  A qÑ)Ô)ˆCØ�GŠG�C‰LŒLˆLà�'˜!˜Q‘-”-ˆCØ�3�s‘8”8˜S˜S ™XœX s¤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Ô4ˆØ×$Ò$Ñ&Ô&ˆå	ð	!ð 	!ñ 
Œð	!õ 
ð	/ð 	/ð 	/ð 	/ð 	/ð 	/ñ 
Œð	/õ Œg�b¥¤
Ð+Ñ+Ô+ˆØ�#�c‘(”(‰ˆˆ1ˆaØ×Ò˜Ð-Ñ.Ô.Ð.Ø×Ò˜˜EÑ"Ô"Ð"Ø×Ò  3Ñ'Ô'Ð'Ð'Ð'r(   c                 óB  — |                       ¦   «         }t          d„ ¦   «         }t          d„ ¦   «         }t          j        dt          j        ¬¦  «        } |dd|¦  «        }t          |¦  «        }|                      |j        d¦  «         |                      |j        t          j
        |¦  «        ¦  «         |                      |j        j        |j        ¦  «          ||¦  «        }t          |¦  «        }|                      |j        d¦  «         |                      |j        d¦  «         |                      |j        t          j
        |¦  «        ¦  «         |                      |j        |j        ¦  «         ~~|                      |j        d¦  «          ||¦  «        \  }	}
}|                      |	d¦  «         |                      |
d¦  «         |                      ||¦  «         |                      |j        d¦  «         |                      |j        d¦  «         |                      |j        |¦  «         |                      |                     d¦  «        d¦  «         |                      |j        d	¦  «         |                      |j        d
¦  «         d|_        d|_        t          j        dt          j        ¬¦  «        x|_        }|                      |j        d¦  «         |                      |j        d¦  «         |                      |j        |¦  «         d S )Nc                 ó   — | S r!   r.   r¢   s    r&   Úidentityz>TestJitClass.test_jitclass_usage_from_python.<locals>.identityÐ   s   € àˆJr(   c                 ó*   — | j         | j        | j        fS r!   r’   r¢   s    r&   Úretrieve_attributeszITestJitClass.test_jitclass_usage_from_python.<locals>.retrieve_attributesÔ   s   € à”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Ô4ˆå	ð	ð 	ñ 
Œð	õ 
ð	)ð 	)ñ 
Œð	)õ Œi˜¥"¤*Ð-Ñ-Ô-ˆØˆn˜Q  3Ñ'Ô'ˆÝ" 3Ñ'Ô'ˆØ×Ò˜Ô-¨qÑ1Ô1Ð1Ø×Ò˜Ô)­4Ô+?ÀÑ+DÔ+DÑEÔEÐEØ×Ò˜Ô)Ô4Ø'Ô2ñ	4ô 	4ð 	4ð �˜‘”ˆÝ$ UÑ+Ô+ˆØ×Ò˜Ô-¨qÑ1Ô1Ð1Ø×Ò˜Ô/°Ñ3Ô3Ð3Ø×Ò˜Ô+­TÔ-AÀ%Ñ-HÔ-HÑIÔIÐIØ×Ò˜Ô+¨[Ô-=Ñ>Ô>Ð>ð �=Ø×Ò˜Ô-¨qÑ1Ô1Ð1ð !4Ð 3°CÑ 8Ô 8Ñˆˆu�gØ×Ò˜ Ñ"Ô"Ð"Ø×Ò˜ Ñ"Ô"Ð"Ø�Š�g˜sÑ#Ô#Ð#ð 	×Ò˜œ Ñ"Ô"Ð"Ø×Ò˜œ Ñ"Ô"Ð"Ø�Š�c”g˜sÑ#Ô#Ð#ð 	×Ò˜Ÿš ™œ sÑ+Ô+Ð+Ø×Ò˜œ Ñ(Ô(Ð(Ø×Ò˜œ Ñ(Ô(Ð(ð ˆŒØˆŒÝœ9 Q­b¬jÐ9Ñ9Ô9Ð9ˆŒ�&Ø×Ò˜œ Ñ$Ô$Ð$Ø×Ò˜œ Ñ$Ô$Ð$Ø�Š�c”g˜vÑ&Ô&Ð&Ð&Ð&r(   c                 ó  — t          ¦   «         }t          |d<   t          |¦  «         G d„ dt          ¦  «        ¦   «         }|                       |d¦  «        j        ¦  «         |                       |d¦  «        j        ¦  «         d S )Nr–   c                   ó   — e Zd Zd„ ZdS )ú2TestJitClass.test_jitclass_datalayout.<locals>.Fooc                 ó   — || _         d S 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	        ¦  «          |dd ¦  «        }|  
                    |j        d¦  «         |                      |j        ¦  «          |d|¦  «        }t          |¦  «        }t          |¦  «        }|  
                    |j        d¦  «         |  
                    |j        j        |j        ¦  «         |  
                    |j        d¦  «         |  
                    |j        d	¦  «         |                     ¦   «         }|  
                    ||j        ¦  «         |                      |j        ¦  «         |                      |d
d ¦  «        ¦  «         |                      |j        ¦  «         |  
                    |j        j        d
¦  «         |                      |j        j        ¦  «         |                      |dd ¦  «        ¦  «         |                      |j        j        ¦  «         |  
                    |j        j        j        d¦  «         |  
                    |j        d¦  «         ~~|  
                    |j        d	¦  «         d S )NrÀ   Únextc                 ó   — | j         S r!   ©rÀ   )Únodes    r&   Úget_dataz1TestJitClass.test_deferred_type.<locals>.get_data  s
   € à”9Ðr(   c                   ó&   •— e Zd Zd„ Zˆ fd„Zd„ ZdS )ú3TestJitClass.test_deferred_type.<locals>.LinkedNodec                 ó"   — || _         || _        d S 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   ø€ à�x ¤	Ñ*Ô*Ð*r(   c                 óB   — | }|j         �|j         }|j         ­||_         d S r!   rß   )r%   rÅ   Úcurs      r&   Úappend_to_tailzBTestJitClass.test_deferred_type.<locals>.LinkedNode.append_to_tail'  s+   € Ø�Ø”hÐ*Øœ(�Cð ”hÐ*à �”��r(   N)r+   r,   r-   r'   rà   rã   )rÚ   s   €r&   Ú
LinkedNoderÜ     sL   ø€ € € € € ð!ð !ð !ð+ð +ð +ð +ð +ð!ð !ð !ð !ð !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  s»  ø€ Ý!‘O”Oˆ	å‰}Œ}ˆÝˆˆV‰Ý 	Ñ*Ô*ˆˆV‰å	ð	ð 	ñ 
Œð	õ 
�$‰Œð	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!�ñ 	!ô 	!ñ 
Œð	!ð  	×Ò˜Ô.Ô<Ñ=Ô=Ð=à�
˜3 Ñ%Ô%ˆØ×Ò˜œ SÑ)Ô)Ð)Ø×Ò˜%œ*Ñ%Ô%Ð%à�˜C Ñ'Ô'ˆå$ UÑ+Ô+ˆÝ% fÑ-Ô-ˆØ×Ò˜Ô/°Ñ3Ô3Ð3Ø×Ò˜œÔ)¨5¬:Ñ6Ô6Ð6Ø×Ò˜Ô/°Ñ3Ô3Ð3Ø×Ò˜Ô0°!Ñ4Ô4Ð4ð ×(Ò(Ñ*Ô*ˆ	Ø×Ò˜ E¤JÑ/Ô/Ð/ð 	×Ò˜%œ*Ñ%Ô%Ð%Ø×Ò˜j˜j¨¨dÑ3Ô3Ñ4Ô4Ð4Ø×Ò˜UœZÑ(Ô(Ð(Ø×Ò˜œœ¨#Ñ.Ô.Ð.Ø×Ò˜%œ*œ/Ñ*Ô*Ð*Ø×Ò˜j˜j¨¨dÑ3Ô3Ñ4Ô4Ð4Ø×Ò˜UœZœ_Ñ-Ô-Ð-Ø×Ò˜œœÔ-¨sÑ3Ô3Ð3ð 	×Ò˜Ô/°Ñ3Ô3Ð3Ø�NØ×Ò˜Ô/°Ñ3Ô3Ð3Ð3Ð3r(   c                 ó^  — 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        ¦  «         d S )Nr   r´   rµ   c                   ó   — e Zd Zd„ ZdS )ú-TestJitClass.test_c_structure.<locals>.Structc                 ó0   — || _         || _        || _        d S 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                   óB   — e Zd Zdej        fdej        fdej        fgZdS )ú.TestJitClass.test_c_structure.<locals>.CStructr   r´   rµ   N)r+   r,   r-   ÚctypesÚc_int32Úc_int16Úc_doubleÚ_fields_r.   r(   r&   ÚCStructrú   _  s3   € € € € € à�f”nÐ%Ø�f”nÐ%Ø�f”oÐ&ðˆHˆHˆ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  s2  € Ý‰}Œ}ˆÝˆˆS‰	ÝˆˆS‰	ÝˆˆS‰	å	�$‰Œð	ð 	ð 	ð 	ð 	•Vñ 	ô 	ñ 
Œð	ð ˆV�F˜D &Ñ)Ô)ˆð	ð 	ð 	ð 	ð 	•fÔ&ñ 	ô 	ð 	õ Œo�dÔ2°2Ñ6Ô6Ñ7Ô7ˆÝ”+˜c¥6¤>°'Ñ#:Ô#:Ñ;Ô;¸AÔ>ˆØ×Ò˜œ B¤DÑ)Ô)Ð)Ø×Ò˜œ B¤DÑ)Ô)Ð)Ø×Ò˜œ B¤DÑ)Ô)Ð)Ð)Ð)r(   c                 ó2  — |                       ¦   «         } |dd¦  «        }t          d„ ¦   «         }|                      t          ¦  «        5 } |||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )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  sÝ   € Ø×#Ò#Ñ%Ô%ˆØ��q˜!‘”ˆå	ð	ð 	ñ 
Œð	ð ×Ò�}Ñ-Ô-ð 	 °àˆE�%˜ÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	�ŠÐ6½¸FÔ<LÑ8MÔ8MÑNÔNÐNÐNÐNs   ÁA$Á$A(Á+A(c                 ór   — |                       ¦   «         } |dd¦  «        }|                      ||¦  «         d S ©Nr   r¦   )rŸ   ÚassertIsInstance)r%   rž   rª   s      r&   Útest_isinstancezTestJitClass.test_isinstancey  s>   € Ø×$Ò$Ñ&Ô&ˆØˆg�a˜‰mŒmˆØ×Ò˜c 7Ñ+Ô+Ð+Ð+Ð+r(   c                 óþ   — |                       ¦   «         }|                      t          ¦  «        5 } G d„ d|¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      t	          |j        ¦  «        d¦  «         d S )Nc                   ó   — e Zd ZdS )ú+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~  s×   € Ø×$Ò$Ñ&Ô&ˆØ×Ò�yÑ)Ô)ð 	¨Vðð ð ð ð �wñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò�˜VÔ-Ñ.Ô.Ø:ñ	<ô 	<ð 	<ð 	<ð 	<s   ¯A
Á
AÁAc                 óè   —  G d„ dt           ¦  «        }t          dt          fg¦  «         G d„ d|¦  «        ¦   «         } |d¦  «        }|                      |                     ¦   «         d¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )ú*TestJitClass.test_base_class.<locals>.Basec                 ó   — | j         S r!   ©Úattrr@   s    r&   Úwhatz/TestJitClass.test_base_class.<locals>.Base.what‰  s
   € Ø”yÐ r(   N)r+   r,   r-   r  r.   r(   r&   ÚBaser  ‡  s#   € € € € € ð!ð !ð !ð !ð !r(   r  r  c                   ó   — e Zd Zd„ ZdS )ú*TestJitClass.test_base_class.<locals>.Testc                 ó   — || _         d S 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†  s¥   € ð	!ð 	!ð 	!ð 	!ð 	!•6ñ 	!ô 	!ð 	!õ
 
�F�E�?Ð#Ñ	$Ô	$ð	!ð 	!ð 	!ð 	!ð 	!�4ñ 	!ô 	!ñ 
%Ô	$ð	!ð
 ˆd�3‰iŒiˆØ×Ò˜Ÿš™œ SÑ)Ô)Ð)Ð)Ð)r(   c                 óþ   —  G d„ dt           ¦  «        }|                      t          ¦  «        5 }t          |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d S )Nc                   ó   — e Zd ZdZd„ ZdS )ú'TestJitClass.test_globals.<locals>.Miner§   c                 ó   — d S 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•  sØ   € ð	ð 	ð 	ð 	ð 	•6ñ 	ô 	ð 	ð ×Ò�yÑ)Ô)ð 	¨VÝ�T‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò�˜VÔ-Ñ.Ô.ØHñ	Jô 	Jð 	Jð 	Jð 	Jó   ®A
Á
AÁAc                 ó&  — t          dt          fg¦  «         G d„ dt          ¦  «        ¦   «         } |d¦  «        }|                      |j        d¦  «         |                      |j        d¦  «         d|_        |                      |j        d¦  «         |                      |j        d¦  «         t          d„ ¦   «         } ||d	¦  «        \  }}}|                      |d¦  «         |                      |d	¦  «         |                      |d
¦  «         d S )Nr  c                   óJ   — e Zd Zd„ Zed„ ¦   «         Zej        d„ ¦   «         ZdS )ú1TestJitClass.test_user_getter_setter.<locals>.Fooc                 ó   — || _         d S 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 1‘}Ð$r(   c                 ó   — |dz
  | _         d S 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  ¤  s[   € € € € € ð!ð !ð !ð ð%ð %ñ ŒXð%ð Œ\ð$ð $ñ Œ\ð$ð $ð $r(   rl   r§   r¼   i  i  c                 óD   — | 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£  s6  € Ý	�F�E�?Ð#Ñ	$Ô	$ð	$ð 	$ð 	$ð 	$ð 	$•&ñ 	$ô 	$ñ 
%Ô	$ð	$ð ˆc�#‰hŒhˆØ×Ò˜œ 3Ñ'Ô'Ð'à×Ò˜œ GÑ,Ô,Ð,àˆŒ	Ø×Ò˜œ 7Ñ+Ô+Ð+Ø×Ò˜œ CÑ(Ô(Ð(õ 
ð	ð 	ñ 
Œð	ð �#�c˜3‘-”-‰ˆˆ1ˆaØ×Ò˜˜CÑ Ô Ð Ø×Ò˜˜CÑ Ô Ð Ø×Ò˜˜GÑ$Ô$Ð$Ð$Ð$r(   c                 óþ   —  G d„ dt           ¦  «        }|                      t          ¦  «        5 }t          |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d S )Nc                   óJ   — e Zd Zd„ Zed„ ¦   «         Zej        d„ ¦   «         ZdS )ú1TestJitClass.test_user_deleter_error.<locals>.Fooc                 ó   — d S r!   r.   r@   s    r&   r'   z:TestJitClass.test_user_deleter_error.<locals>.Foo.__init__Ì  r`   r(   c                 ó   — dS r4  r.   r@   s    r&   ro   z7TestJitClass.test_user_deleter_error.<locals>.Foo.valueÏ  s   € à�qr(   c                 ó   — d S 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<  Ê  s[   € € € € € ðð ð ð ðð ñ ŒXðð Œ]ðð ñ Œ]ðð ð r(   rl   zdeleter is not supported: valuer,  ©r%   rl   rƒ   s      r&   Útest_user_deleter_errorz$TestJitClass.test_user_deleter_errorÉ  sÑ   € ð	ð 	ð 	ð 	ð 	•&ñ 	ô 	ð 	ð ×Ò�yÑ)Ô)ð 	¨VÝ�S‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜VÔ-Ñ.Ô.Ø:ñ	<ô 	<ð 	<ð 	<ð 	<r.  c                 óô  —  G d„ dt           ¦  «        }|                      t          ¦  «        5 }t          |dt          fg¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         |                      t          ¦  «        5 }t          |dt          fg¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d S )Nc                   ó0   — e Zd Zd„ Zed„ ¦   «         Zd„ ZdS )ú3TestJitClass.test_name_shadowing_error.<locals>.Fooc                 ó   — d S r!   r.   r@   s    r&   r'   z<TestJitClass.test_name_shadowing_error.<locals>.Foo.__init__ß  r`   r(   c                 ó   — d S r!   r.   r@   s    r&   Úmy_propertyz?TestJitClass.test_name_shadowing_error.<locals>.Foo.my_propertyâ  r@  r(   c                 ó   — d S 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  Ý  sM   € € € € € ðð ð ð ðð ñ ŒXððð ð ð ð 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Ü  st  € ð
	ð 
	ð 
	ð 
	ð 
	•&ñ 
	ô 
	ð 
	ð ×Ò�yÑ)Ô)ð 	4¨VÝ�S˜M­5Ð1Ð2Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4à×Ò�˜VÔ-Ñ.Ô.Ð0MÑNÔNÐNà×Ò�yÑ)Ô)ð 	2¨VÝ�S˜K­Ð/Ð0Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2à×Ò�˜VÔ-Ñ.Ô.Ð0KÑLÔLÐLÐLÐLs#   ®AÁAÁAÂ CÃC	ÃC	c                 ó  — t          dt          fg¦  «         G d„ dt          ¦  «        ¦   «         }|}t          dt          fg¦  «         G d„ dt          ¦  «        ¦   «         }|} |d¦  «        }|                      |j        d¦  «         |                      |                     ¦   «         d¦  «          |d¦  «        }|                      |j        d¦  «         |                      |                     ¦   «         d	¦  «         d S )
Nr"   c                   ó   — e Zd Zd„ Zd„ ZdS )ú/TestJitClass.test_distinct_classes.<locals>.Fooc                 ó   — |dz   | _         d S ©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 ‘zÐ!r(   N©r+   r,   r-   r'   rW  r.   r(   r&   rl   rP  ó  ó2   € € € € € ðð ð ð"ð "ð "ð "ð "r(   rl   c                   ó   — e Zd Zd„ Zd„ ZdS )rP  c                 ó   — |dz
  | _         d S 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��<�.Ñ	!Ô	!ð	"ð 	"ð 	"ð 	"ð 	"•&ñ 	"ô 	"ñ 
"Ô	!ð	"ð ˆ	Øˆh�q‰kŒkˆØ×Ò˜œ Ñ"Ô"Ð"Ø×Ò˜Ÿš™œ AÑ&Ô&Ð&Øˆi˜‰lŒlˆØ×Ò˜œ Ñ"Ô"Ð"Ø×Ò˜Ÿš™œ AÑ&Ô&Ð&Ð&Ð&r(   c                 óà  ‡—  G d„ dt           ¦  «        Šˆfd„} |d¦  «        }|                      |j        d¦  «          |d¦  «        }|                      |j        d¦  «          |t          j        dg¦  «        ¦  «        }t          j                             |j        dg¦  «          |t          j        dg¦  «        ¦  «        }t          j                             |j        dg¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )ú0TestJitClass.test_parameterized.<locals>.MyClassc                 ó   — || _         d S r!   ©ro   rr   s     r&   r'   z9TestJitClass.test_parameterized.<locals>.MyClass.__init__  ó   € Ø"�”
�
�
r(   Nr*   r.   r(   r&   ÚMyClassrd    s#   € € € € € ð#ð #ð #ð #ð #r(   rh  c                 óZ   •— 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Ø�3�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ñ 	#ô 	#ð 	#ð
	ð 	ð 	ð 	ð 	ð ˆO˜CÑ Ô ˆØ×Ò˜œ #Ñ&Ô&Ð&àˆO˜DÑ!Ô!ˆØ×Ò˜œ $Ñ'Ô'Ð'àˆO�BœH c U™OœOÑ,Ô,ˆÝ
Œ
×Ò ¤¨#¨Ñ/Ô/Ð/àˆO�BœH d VÑ,Ô,Ñ-Ô-ˆÝ
Œ
×Ò ¤¨$¨Ñ0Ô0Ð0Ð0Ð0r(   c                 óÜ  — t           t          t           t           dœ}t          |¦  «         G d„ dt          ¦  «        ¦   «         }d} ||¦  «        }|                      |j        |¦  «         |                      |j        |dz  ¦  «         |                      |j        |dz  ¦  «         |                      |j        |j        ¦  «         |j        }|xj        dz  c_        |                      |j        |dz
  ¦  «         |                      | 	                    d¦  «        |dz  ¦  «         |                      | 	                    |dz  ¦  «        d¦  «         |                      | 
                    d¦  «        |j        dz  ¦  «         |                      |                     d¦  «        |j        dz  ¦  «         |                      |j        |dz
  ¦  «         |xj        d	z  c_        |                      |j        |d
z
  ¦  «         t          d„ ¦   «         }|                      t          j        ¦  «        5 } ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt%          |j        ¦  «        ¦  «         |                      t(          ¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt%          |j        ¦  «        ¦  «         d S )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dS )ú2TestJitClass.test_protected_attrs.<locals>.MyClassc                 óP   — || _         |dz  | _        |dz  | _        |dz
  | _        d S )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                 ó   — || _         d S 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                 ó   — || _         d S 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                 ó,   — |                       |¦  «        S r!   )Ú_MyClass__private_methodrŒ  s     r&   Úcheck_private_methodzGTestJitClass.test_protected_attrs.<locals>.MyClass.check_private_methodU  s   € Ø×,Ò,¨VÑ4Ô4Ð4r(   N)r+   r,   r-   r'   r6  r{  r  r7  r‡  rŠ  rŽ  r’  r“  r.   r(   r&   rh  rv  -  sî   € € € € € ð+ð +ð +ð ð$ð $ñ ŒXð$ð ð#ð #ñ ŒXð#ð Ô ð ð  ñ !Ô ð ð ð$ð $ñ ŒXð$ð Ô#ð!ð !ñ $Ô#ð!ðð ð ð
,ð ,ð ,ð-ð -ð -ð5ð 5ð 5ð 5ð 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%  sX  € åÝÝÝð	
ð 
ˆõ 
�$‰Œð(	5ð (	5ð (	5ð (	5ð (	5•fñ (	5ô (	5ñ 
Œð(	5ðT ˆØˆw�u‰~Œ~ˆà×Ò˜œ UÑ+Ô+Ð+Ø×Ò˜œ e¨a¡iÑ0Ô0Ð0Ø×Ò˜Ô+¨U°Q©YÑ7Ô7Ð7à×Ò˜Ô*¨D¬KÑ8Ô8Ð8Ø œKÐØÐÔ˜QÑÐÔØ×Ò˜Ô*Ð,=ÀÑ,AÑBÔBÐBà×Ò˜×0Ò0°Ñ5Ô5°u¸q±yÑAÔAÐAØ×Ò˜×0Ò0°¸±Ñ;Ô;¸SÑAÔAÐAà×Ò˜×/Ò/°Ñ2Ô2°D´KÀ!±OÑDÔDÐDØ×Ò˜×2Ò2°1Ñ5Ô5°tÔ7IÈAÑ7MÑNÔNÐNà×Ò˜œ¨°©Ñ3Ô3Ð3ØˆŒ˜#ÑˆŒØ×Ò˜œ¨°©Ñ5Ô5Ð5õ 
ð	 ð 	 ñ 
Œð	 ð ×Ò�vÔ1Ñ2Ô2ð 	 °fØˆM˜$ÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	�ŠÐ,­c°&Ô2BÑ.CÔ.CÑDÔDÐDà×Ò�~Ñ.Ô.ð 	(°&Ø×!Ò! $Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(à�ŠÐ,­c°&Ô2BÑ.CÔ.CÑDÔDÐDÐDÐDs$   È2I
É
IÉIÊJ9Ê9J=Ë J=c                 óâ   — ddl m} dt          i}t          ||¦  «        } |d¦  «        }|                      |j        d¦  «         |                      |                     d¦  «        d¦  «         dS )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}  sy   € ð
 	8Ð7Ð7Ð7Ð7Ð7à•Uˆ|ˆÝ�~ tÑ,Ô,ˆàˆc�!‰fŒfˆØ×Ò˜œ Ñ"Ô"Ð"Ø×Ò˜Ÿš ™œ QÑ'Ô'Ð'Ð'Ð'r(   c                 ó<  — t            G d„ dt          ¦  «        ¦   «         }|                      |j        d¦  «         |                      |j        j        d¦  «         |                      |j        j        d¦  «         |                      |j        j        d¦  «         d S )Nc                   ó4   — e Zd ZdZd„ Zd„ Zed„ ¦   «         ZdS )ú*TestJitClass.test_docstring.<locals>.AppleúClass docstringc                 ó   — dS )úinit docstringNr.   r@   s    r&   r'   z3TestJitClass.test_docstring.<locals>.Apple.__init__‘  ó   € € € r(   c                 ó   — dS )úfoo method docstringNr.   r@   s    r&   r«   z.TestJitClass.test_docstring.<locals>.Apple.foo”  r¨  r(   c                 ó   — dS )ú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¤  �  sS   € € € € € àÐð!ð !ð !ð'ð 'ð 'ð ð*ð *ñ ŒXð*ð *ð *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ÐBØ×Ò˜œÔ*Ð,BÑCÔCÐCØ×Ò˜œÔ+Ð-FÑGÔGÐGÐGÐGr(   c                 ó  — dt           fdt          fg}t          |¦  «         G d„ dt          ¦  «        ¦   «         }d}d}d}||dœ} |d	ddi|¤Ž}|                      |j        ||z  ¦  «         |                      |j        |¦  «         d S )
Nr   r´   c                   ó   — e Zd Zd„ ZdS )ú+TestJitClass.test_kwargs.<locals>.TestClassc                 ó(   — ||z  | _         || _        d S 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Ð!Ð!ˆØˆYÐ%Ð%˜Ð%˜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        d¦  «         |                      |j        d¦  «         |                      |j        d¦  «          |dd¦  «        }|                      |j        d¦  «         |                      |j        d¦  «         |                      |j        d¦  «          |dd	d¬
¦  «        }|                      |j        d¦  «         |                      |j        d¦  «         |                      |j        d	¦  «         d S )Nr"   r#   r$   c                   ó   — e Zd Zdd„ZdS )ú1TestJitClass.test_default_args.<locals>.TestClassr   c                 ó0   — || _         || _        || _        d S 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²  sr  € Ø•e�Ø•e�Ø•e�ðˆõ 
�$‰Œð	ð 	ð 	ð 	ð 	�ñ 	ô 	ñ 
Œð	ð ˆY�q˜!˜QÑÔˆØ×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!àˆY�q˜!‰_Œ_ˆØ×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!àˆY˜˜a 1Ð%Ñ%Ô%ˆØ×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!Ð!Ð!r(   c                 óD  — dt           fdt           fdt           fdt          fg}t          t          |¦  «        } |dd¦  «        }|                      |j        d¦  «         |                      |j        d¦  «         |                      |j        d¦  «         |                      |j        d¦  «          |d	dd
d¬¦  «        }|                      |j        d¦  «         |                      |j        d	¦  «         |                      |j        d¦  «         |                      |j        d
¦  «          |d	dd¬¦  «        }|                      |j        d¦  «         |                      |j        d	¦  «         |                      |j        d¦  «         |  	                    |j        dd¬¦  «          |d	d¬¦  «        }|                      |j        d¦  «         |                      |j        d	¦  «         |                      |j        d¦  «         |                      |j        d¦  «         d S )Nr"   r#   r$   r   r¦   r¨   r   r   r©   é*   r”  )r#   r"   r   r$   g…ëQ¸	@)r#   r"   r   é   )Úplaces)r#   r"   )
r	   r   r   r   rK   r"   r#   r$   r   ÚassertAlmostEqualr¾  s       r&   Útest_default_args_keyonlyz&TestJitClass.test_default_args_keyonlyÍ  s  € Ø•e�Ø•e�Ø•e�Ø•g�ð ˆõ
 �Z¨Ñ.Ô.ˆ	àˆY�q˜!‰_Œ_ˆØ×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!àˆY˜˜a 2¨Ð-Ñ-Ô-ˆØ×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜sÑ#Ô#Ð#Ø×Ò˜œ˜rÑ"Ô"Ð"àˆY˜˜a 4Ð(Ñ(Ô(ˆØ×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜œ˜qÑ!Ô!Ð!Ø×Ò˜rœt T°!ÐÑ4Ô4Ð4àˆY˜˜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}|                      t          j        ¦  «        5 }t          t          |¦  «         d d d ¦  «         n# 1 swxY w Y   d}|                      |t          |j
        ¦  «        ¦  «         d S )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Ô1Ð2Ø•e�ð	ˆð ×Ò�vÔ6Ñ7Ô7ð 	'¸6Ý•Z Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 9ˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1s   ÁA?Á?BÂBc                 ó$  — g }t          |¦  «         G d„ dt          ¦  «        ¦   «         }d„ }t          d¦  «        D ]R}t           ||¦  «         |¦   «                              |¦  «        ¦  «        D ]\  }}|                      ||¦  «         ŒŒSd S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú5TestJitClass.test_generator_method.<locals>.TestClassc                 ó   — d S r!   r.   r@   s    r&   r'   z>TestJitClass.test_generator_method.<locals>.TestClass.__init__ÿ  r`   r(   c              3   óZ   K  — t          |¦  «        D ]}t          j        |¦  «        V — Œd S r!   ©Úranger°   r¾   )r%   ÚniterÚis      r&   Úgenz9TestJitClass.test_generator_method.<locals>.TestClass.gen  s<   è è € Ý˜u™œð 'ð '�AÝœ) A™,œ,Ð&Ð&Ð&Ð&ð'ð 'r(   N)r+   r,   r-   r'   rÔ  r.   r(   r&   r¶  rÍ  ý  s2   € € € € € ðð ð ð'ð 'ð 'ð 'ð 'r(   r¶  c              3   óZ   K  — t          | ¦  «        D ]}t          j        |¦  «        V — Œd S r!   rÐ  )rÒ  rÓ  s     r&   Úexpected_genz8TestJitClass.test_generator_method.<locals>.expected_gen  s<   è è € Ý˜5‘\”\ð #ð #�Ý”i ‘l”lÐ"Ð"Ð"Ð"ð#ð #r(   r¬   )r   rB   rÑ  rM   rÔ  r²   )r%   rN   r¶  rÖ  rÒ  ÚexpectrS   s          r&   Útest_generator_methodz"TestJitClass.test_generator_methodú  sÈ   € Øˆå	�$‰Œð	'ð 	'ð 	'ð 	'ð 	'�ñ 	'ô 	'ñ 
Œð	'ð	#ð 	#ð 	#õ ˜2‘Y”Yð 	5ð 	5ˆEÝ" < <°Ñ#6Ô#6¸	¸	¹¼¿ºÈÑ8NÔ8NÑOÔOð 5ð 5‘�˜Ø×'Ò'¨°Ñ4Ô4Ð4Ð4ð5ð	5ð 	5r(   c                 ó”  ‡— dt           d d …         fg}t          |¦  «         G d„ dt          ¦  «        ¦   «         Št          ˆfd„¦   «         }t          d„ ¦   «         } |¦   «         }|                       ||d¦  «        d¦  «         |                       ||d¦  «        d¦  «         |                       ||d¦  «        d¦  «         d S )	NrÀ   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú,TestJitClass.test_getitem.<locals>.TestClassc                 óP   — t          j        dt           j        ¬¦  «        | _        d S ©Nr¬   r­   ©r°   Úzerosr	   rÀ   r@   s    r&   r'   z5TestJitClass.test_getitem.<locals>.TestClass.__init__  ó   € ÝœH R­r¬xÐ8Ñ8Ô8�”	�	�	r(   c                 ó   — || j         |<   d S 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 ”~Ð%r(   N©r+   r,   r-   r'   rä  rè  r.   r(   r&   r¶  rÛ    óA   € € € € € ð9ð 9ð 9ð&ð &ð &ð&ð &ð &ð &ð &r(   r¶  c                  ó:   •—  ‰¦   «         } 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˜q˜qœÐ"Ð#ˆå	�$‰Œð	&ð 	&ð 	&ð 	&ð 	&�ñ 	&ô 	&ñ 
Œð	&õ 
ð	ð 	ð 	ð 	ñ 
Œð	õ 
ð	ð 	ñ 
Œð	ð #Ð"Ñ$Ô$ˆØ×Ò˜˜ 1 a™œ¨!Ñ,Ô,Ð,Ø×Ò˜˜ 1 a™œ¨!Ñ,Ô,Ð,Ø×Ò˜˜ 1 a™œ¨!Ñ,Ô,Ð,Ð,Ð,r(   c                 ó2  — dt           d d …         fg}t          |¦  «         G d„ dt          ¦  «        ¦   «         } |¦   «         }d|d<   t          d„ ¦   «         } ||¦  «        }|                      |d¦  «         |                      |d         d¦  «         d S )	NrÀ   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú2TestJitClass.test_getitem_unbox.<locals>.TestClassc                 óP   — t          j        dt           j        ¬¦  «        | _        d S rÝ  rÞ  r@   s    r&   r'   z;TestJitClass.test_getitem_unbox.<locals>.TestClass.__init__2  rà  r(   c                 ó   — || j         |<   d S 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˜q˜qœÐ"Ð#ˆå	�$‰Œð	&ð 	&ð 	&ð 	&ð 	&�ñ 	&ô 	&ñ 
Œð	&ð ˆI‰KŒKˆØˆˆ!‰å	ð	ð 	ñ 
Œð	ð ˆk˜!‰nŒnˆØ×Ò˜˜bÑ!Ô!Ð!Ø×Ò˜˜1œ˜rÑ"Ô"Ð"Ð"Ð"r(   c                 ó®  — dt           d d …d d …f         fg}t          |¦  «         G d„ dt          ¦  «        ¦   «         } |¦   «         }d|t          dd¦  «        <   t          d„ ¦   «         }t          d„ ¦   «         }|                       ||dd¦  «        d¦  «          ||ddd	¦  «         |                      |t          dd¦  «                 d	¦  «         d S )
NrÀ   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú8TestJitClass.test_getitem_complex_key.<locals>.TestClassc                 óP   — t          j        dt           j        ¬¦  «        | _        d S ©N)r¬   r¬   r­   rÞ  r@   s    r&   r'   zATestJitClass.test_getitem_complex_key.<locals>.TestClass.__init__L  ó   € ÝœH XµR´XÐ>Ñ>Ô>�”	�	�	r(   c                 óf   — || j         t          |j        ¦  «        t          |j        ¦  «        f<   d S r!   ©rÀ   ra   ÚrealÚimagrâ  s      r&   rä  zDTestJitClass.test_getitem_complex_key.<locals>.TestClass.__setitem__O  s)   € Ø:>�”	�#˜cœh™-œ-­¨S¬X©¬Ð6Ñ7Ð7Ð7r(   c                 óh   — | j         t          |j        ¦  «        t          |j        ¦  «        f         S r!   r  rç  s     r&   rè  zDTestJitClass.test_getitem_complex_key.<locals>.TestClass.__getitem__R  s$   € Ø”y¥ S¤X¡¤µ°C´H±´Ð!=Ô>Ð>r(   Nrê  r.   r(   r&   r¶  r  J  sA   € € € € € ð?ð ?ð ?ð?ð ?ð ?ð?ð ?ð ?ð ?ð ?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          ||¦  «        <   d S 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˜q˜q ! ! !˜tœÐ%Ð&ˆå	�$‰Œð	?ð 	?ð 	?ð 	?ð 	?�ñ 	?ô 	?ñ 
Œð	?ð ˆI‰KŒKˆàˆ�'�!�Q‰-Œ-Ñå	ð	*ð 	*ñ 
Œð	*õ 
ð	*ð 	*ñ 
Œð	*ð 	×Ò˜˜  A qÑ)Ô)¨1Ñ-Ô-Ð-Øˆ��1�a˜ÑÔÐØ×Ò˜�7 1 a™=œ=Ô)¨1Ñ-Ô-Ð-Ð-Ð-r(   c                 ón  — dt           d d …d d …f         fg}t          |¦  «         G d„ dt          ¦  «        ¦   «         } |¦   «         }d|d<   t          d„ ¦   «         }t          d„ ¦   «         }|                       ||¦  «        d¦  «          ||d¦  «         |                      |d	         d¦  «         d S )
NrÀ   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú6TestJitClass.test_getitem_tuple_key.<locals>.TestClassc                 óP   — t          j        dt           j        ¬¦  «        | _        d S r  rÞ  r@   s    r&   r'   z?TestJitClass.test_getitem_tuple_key.<locals>.TestClass.__init__j  r  r(   c                 ó6   — || j         |d         |d         f<   d S ©Nr   r   rØ   râ  s      r&   rä  zBTestJitClass.test_getitem_tuple_key.<locals>.TestClass.__setitem__m  s    € Ø,0�”	˜#˜aœ& # a¤&˜.Ñ)Ð)Ð)r(   c                 ó8   — | j         |d         |d         f         S r  rØ   rç  s     r&   rè  zBTestJitClass.test_getitem_tuple_key.<locals>.TestClass.__getitem__p  s   € Ø”y  Q¤¨¨Q¬ Ô0Ð0r(   Nrê  r.   r(   r&   r¶  r  h  sA   € € € € € ð?ð ?ð ?ð1ð 1ð 1ð1ð 1ð 1ð 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<   d S )N©r¦   r¦   r.   ©rí  rÀ   s     r&   Úset22z2TestJitClass.test_getitem_tuple_key.<locals>.set22z  s   € àˆAˆd‰GˆGˆGr(   é   r  rò  )r%   rN   r¶  rí  r  r   s         r&   Útest_getitem_tuple_keyz#TestJitClass.test_getitem_tuple_keye  sò   € Ø�˜q˜q˜q ! ! !˜tœÐ%Ð&ˆå	�$‰Œð	1ð 	1ð 	1ð 	1ð 	1�ñ 	1ô 	1ñ 
Œð	1ð ˆI‰KŒKˆØˆˆ$‰å	ð	ð 	ñ 
Œð	õ 
ð	ð 	ñ 
Œð	ð 	×Ò˜˜˜q™œ 2Ñ&Ô&Ð&Øˆˆa�‰ŒˆØ×Ò˜˜4œ "Ñ%Ô%Ð%Ð%Ð%r(   c                 ó,  — dt           d d …         fg}t          |¦  «         G d„ dt          ¦  «        ¦   «         } |¦   «         }d|ddd…<   |                      |ddd…         d¦  «         |                      |ddd…         d¦  «         t          d„ ¦   «         }|                       ||¦  «        d¦  «         t          d„ ¦   «         } ||d¦  «         |                      |ddd…         d¦  «         |                      |d	d	d…         d
¦  «         d S )NrÀ   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú6TestJitClass.test_getitem_slice_key.<locals>.TestClassc                 óP   — t          j        dt           j        ¬¦  «        | _        d S rÝ  rÞ  r@   s    r&   r'   z?TestJitClass.test_getitem_slice_key.<locals>.TestClass.__init__‡  rà  r(   c                 óR   — || j         |j        <   ||j        z   | j         |j        <   d S r!   )rÀ   ÚstartÚstepÚstop)r%   ÚslcrÀ   s      r&   rä  zBTestJitClass.test_getitem_slice_key.<locals>.TestClass.__setitem__Š  s*   € Ø'+�”	˜#œ)Ñ$Ø&*¨S¬X¡o�”	˜#œ(Ñ#Ð#Ð#r(   c                 ó&   — | j         |j                 S r!   )rÀ   r(  )r%   r+  s     r&   rè  zBTestJitClass.test_getitem_slice_key.<locals>.TestClass.__getitem__Ž  s   € Ø”y ¤Ô+Ð+r(   Nrê  r.   r(   r&   r¶  r%  …  sA   € € € € € ð9ð 9ð 9ð6ð 6ð 6ð,ð ,ð ,ð ,ð ,r(   r¶  r   r   r¦   c                 ó   — | ddd…         S )Nr   rÂ  r   r.   rü  s    r&   Úget5z1TestJitClass.test_getitem_slice_key.<locals>.get5˜  s   € à�Q�q˜�U”8ˆOr(   c                 ó   — || ddd…<   d S )Nr¦   rÂ  r   r.   r  s     r&   Úset26z2TestJitClass.test_getitem_slice_key.<locals>.set26Ÿ  s   € àˆAˆa��!ˆe‰HˆHˆHr(   rÂ  r¨   )r	   r   rB   rK   r
   )r%   rN   r¶  rí  r.  r0  s         r&   Útest_getitem_slice_keyz#TestJitClass.test_getitem_slice_key‚  sX  € Ø�˜q˜q˜qœÐ"Ð#ˆå	�$‰Œð		,ð 		,ð 		,ð 		,ð 		,�ñ 		,ô 		,ñ 
Œð		,ð ˆI‰KŒ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                 ó  — d„ t          d¦  «        D ¦   «         }d„ |D ¦   «         }|                     d„ |D ¦   «         ¦  «         t          |¦  «         G d„ dt          ¦  «        ¦   «         } |¦   «                              ¦   «          d S )Nc                 óL   — g | ]!}t          t          d ¦  «        |z   ¦  «        ‘Œ"S r   )ÚchrÚord)Ú.0r"   s     r&   ú
<listcomp>zFTestJitClass.test_jitclass_longlabel_not_truncated.<locals>.<listcomp>«  s*   € Ð9Ð9Ð9¨!•C�˜C™œ 1™Ñ%Ô%Ð9Ð9Ð9r(   é   c                 ó&   — g | ]}|d z  t           f‘ŒS ©r¬   )r   ©r6  Úletters     r&   r7  zFTestJitClass.test_jitclass_longlabel_not_truncated.<locals>.<listcomp>­  s!   € Ð>Ð>Ð>¨6�˜"‘�gÐ&Ð>Ð>Ð>r(   c                 óJ   — g | ] }|                      ¦   «         d z  t          f‘Œ!S r:  )Úupperr   r;  s     r&   r7  zFTestJitClass.test_jitclass_longlabel_not_truncated.<locals>.<listcomp>®  s*   € ÐKÐKÐK¸�f—l’l‘n”n rÑ)­7Ð3ÐKÐKÐKr(   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )úJTestJitClass.test_jitclass_longlabel_not_truncated.<locals>.TruncatedLabelc                 ó   — d| _         d S )Ng      $@)Ú
aaaaaaaaaar@   s    r&   r'   zSTestJitClass.test_jitclass_longlabel_not_truncated.<locals>.TruncatedLabel.__init__²  s   € Ø"%�”��r(   c                 óN   — t          j        | j        | j        ¦  «        | _        d S r!   )ÚrandomÚgaussrB  Ú
bbbbbbbbbbr@   s    r&   Úmeth1zPTestJitClass.test_jitclass_longlabel_not_truncated.<locals>.TruncatedLabel.meth1µ  s   € Ý"(¤,¨t¬ÀÄÑ"PÔ"P�”��r(   c                 ó.   — |                       ¦   «          d S r!   )rG  r@   s    r&   Úmeth2zPTestJitClass.test_jitclass_longlabel_not_truncated.<locals>.TruncatedLabel.meth2¸  s   € Ø—
’
‘”���r(   N)r+   r,   r-   r'   rG  rI  r.   r(   r&   ÚTruncatedLabelr@  °  sD   € € € € € ð&ð &ð &ðQð Qð Qðð ð ð ð r(   rJ  )rÑ  Úextendr   rB   rI  )r%   ÚalphabetrN   rJ  s       r&   Ú%test_jitclass_longlabel_not_truncatedz2TestJitClass.test_jitclass_longlabel_not_truncated§  s­   € ð :Ð9­u°R©y¬yÐ9Ñ9Ô9ˆà>Ð>°XÐ>Ñ>Ô>ˆØ�ŠÐKÐKÀ(ÐKÑKÔKÑLÔLÐLå	�$‰Œð	ð 	ð 	ð 	ð 	�Vñ 	ô 	ñ 
Œð	ð 	ˆÑÔ×ÒÑ Ô Ð Ð Ð r(   c                 ó0  — t            G d„ dt          ¦  «        ¦   «         } |¦   «         }t          |¦  «        }|                      |t          j        ¦  «         t          j        |¦  «        }|                      t          j	        |¦  «        |¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )ú5TestJitClass.test_pickling.<locals>.PickleTestSubjectc                 ó   — d S r!   r.   r@   s    r&   r'   z>TestJitClass.test_pickling.<locals>.PickleTestSubject.__init__Á  r`   r(   Nr*   r.   r(   r&   ÚPickleTestSubjectrP  ¿  r{   r(   rR  )
r   rB   r   r  r   ÚClassInstanceTypeÚpickleÚdumpsrÃ   Úloads)r%   rR  r˜  ÚtyÚpickleds        r&   Útest_picklingzTestJitClass.test_pickling¾  s�   € Ý	ð	ð 	ð 	ð 	ð 	¥ñ 	ô 	ñ 
Œð	ð !Ð Ñ"Ô"ˆÝ�D‰\Œ\ˆØ×Ò˜b¥%Ô"9Ñ:Ô:Ð:Ý”,˜rÑ"Ô"ˆØ�Š•f”l 7Ñ+Ô+¨RÑ0Ô0Ð0Ð0Ð0r(   c                 ót  ‡— t          dt          fg¦  «         G d„ d¦  «        ¦   «         }t          dt          fg¦  «         G d„ d¦  «        ¦   «         }|                      |j        t          ¦  «         |                      |j        t          ¦  «         |                      |j        t          ¦  «         |                      |j        |j        ¦  «         |                      d|                     dd¦  «        ¦  «         |                      d	|                     dd¦  «        ¦  «         |                      d
|                     dd¦  «        ¦  «          |d¦  «        } |d¦  «        }|                      d|                     d¦  «        ¦  «         |                      d	|                     d¦  «        ¦  «         |                      d|                     dd¦  «        ¦  «         |                      d|                     dd¦  «        ¦  «         |                      d|                     dd¦  «        ¦  «         |                      d|                     dd¦  «        ¦  «         |                      d|                     dd¦  «        ¦  «         |                      d|                     dd¦  «        ¦  «         |  	                    t          ¦  «        5 }|                     dd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         |  	                    t          ¦  «        5 }|                     d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         t          g ¦  «         G ˆfd„d¦  «        ¦   «         Š ‰¦   «         }|  	                    t          j        ¦  «        5 }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )Nr"   c                   óF   — e Zd Zd„ Zd„ Zed„ ¦   «         Zed„ ¦   «         ZdS )ú/TestJitClass.test_static_methods.<locals>.Test1c                 ó   — || _         d S r!   rS  rT  s     r&   r'   z8TestJitClass.test_static_methods.<locals>.Test1.__init__Í  ó   € Ø�”��r(   c                 óP   — |                       | j        |¦  «        | _        | j        S r!   ©r—   r"   ©r%   r#   s     r&   Úincreasez8TestJitClass.test_static_methods.<locals>.Test1.increaseÐ  ó    € ØŸš $¤&¨!Ñ,Ô,�”Ø”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Ø  re  r(   N)r+   r,   r-   r'   rb  Ústaticmethodr—   rg  r.   r(   r&   rf   r\  Ë  sh   € € € € € ðð ð ðð ð ð ðð ñ Œ\ðð ðð ñ Œ\ðð ð r(   rf   c                   ó0   — e Zd Zd„ Zd„ Zed„ ¦   «         ZdS )ú/TestJitClass.test_static_methods.<locals>.Test2c                 ó   — || _         d S r!   rS  rT  s     r&   r'   z8TestJitClass.test_static_methods.<locals>.Test2.__init__Þ  r^  r(   c                 óP   — |                       | j        |¦  «        | _        | j        S r!   r`  ra  s     r&   rb  z8TestJitClass.test_static_methods.<locals>.Test2.increaseá  rc  r(   c                 ó   — | |z
  S r!   r.   r
  s     r&   r—   z3TestJitClass.test_static_methods.<locals>.Test2.addå  re  r(   N)r+   r,   r-   r'   rb  rh  r—   r.   r(   r&   ÚTest2rj  Ü  sM   € € € € € ðð ð ðð ð ð ðð ñ Œ\ðð ð r(   rn  r¨   r   r¦   éÿÿÿÿr©   rÂ  r   y               @y              ð?Úfoobarr«   r¤   zhas no attribute 'sub'z'not enough arguments: expected 2, got 1c                   ó6   •— e Zd Zd„ Zed„ ¦   «         Zˆ fd„ZdS )ú/TestJitClass.test_static_methods.<locals>.Test3c                 ó   — d S r!   r.   r@   s    r&   r'   z8TestJitClass.test_static_methods.<locals>.Test3.__init__  r`   r(   c                 ó   — d S r!   r.   r
  s     r&   Úa_static_methodz?TestJitClass.test_static_methods.<locals>.Test3.a_static_method  r@  r(   c                 ó0   •— ‰                      dd¦  «        S r  )ru  )r%   ÚTest3s    €r&   Úcall_staticz;TestJitClass.test_static_methods.<locals>.Test3.call_static  s   ø€ Ø×,Ò,¨Q°Ñ2Ô2Ð2r(   N)r+   r,   r-   r'   rh  ru  rx  )rw  s   €r&   rw  rr  
  sX   ø€ € € € € ðð ð ð ðð ñ Œ\ðð3ð 3ð 3ð 3ð 3ð 3ð 3r(   rw  z#Unknown attribute 'a_static_method')r   r	   r  r—   r   rg  ÚassertNotEqualrK   rb  r|   rš  r~   r   r€   r}   r   r   rx  )r%   rf   rn  Út1Út2rƒ   Úinvalidrw  s          @r&   Útest_static_methodsz TestJitClass.test_static_methodsÊ  s´  ø€ Ý	�C��<�.Ñ	!Ô	!ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
"Ô	!ð	õ  
�C��<�.Ñ	!Ô	!ð
	ð 
	ð 
	ð 
	ð 
	ñ 
	ô 
	ñ 
"Ô	!ð
	ð 	×Ò˜eœi­Ñ4Ô4Ð4Ø×Ò˜eœi­Ñ4Ô4Ð4Ø×Ò˜eœi­Ñ4Ô4Ð4Ø×Ò˜EœI u¤yÑ1Ô1Ð1à×Ò˜˜EŸIšI a¨™OœOÑ,Ô,Ð,Ø×Ò˜˜UŸYšY q¨!™_œ_Ñ-Ô-Ð-Ø×Ò˜˜EŸIšI a¨™OœOÑ,Ô,Ð,àˆU�1‰XŒXˆØˆU�1‰XŒXˆØ×Ò˜˜BŸKšK¨™NœNÑ+Ô+Ð+Ø×Ò˜˜RŸ[š[¨™^œ^Ñ,Ô,Ð,Ø×Ò˜˜BŸFšF 1 a™LœLÑ)Ô)Ð)Ø×Ò˜˜BŸFšF 1 a™LœLÑ)Ô)Ð)Ø×Ò˜˜BŸFšF 1 a™LœLÑ)Ô)Ð)Ø×Ò˜˜RŸVšV B¨™^œ^Ñ,Ô,Ð,Ø×Ò˜˜RŸVšV B¨™^œ^Ñ,Ô,Ð,Ø×Ò˜ 2§6¢6¨%°Ñ#7Ô#7Ñ8Ô8Ð8à×Ò�~Ñ.Ô.ð 	°&Ø�IŠI�a˜‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ.Ý˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð ×Ò�yÑ)Ô)ð 	¨VØ�IŠI�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ?Ý˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-õ 
�"‰Œð		3ð 		3ð 		3ð 		3ð 		3ð 		3ð 		3ñ 		3ô 		3ñ 
Œð		3ð �%‘'”'ˆØ×Ò�vÔ1Ñ2Ô2ð 	"°fØ×ÒÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	�ŠÐ;Ý˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-s6   ËK5Ë5K9Ë<K9ÍM$Í$M(Í+M(Ï$PÐP	ÐP	c                 ó  — t          t          ¬¦  «        }t          ¦   «          G d„ d¦  «        ¦   «         }|                      |t          ¦  «         |                      |j        j        |¦  «         t          |¬¦  «         G d„ d¦  «        ¦   «         }|                      |t          ¦  «         |                      |j        j        |¦  «         t           G d„ d¦  «        ¦   «         }|                      |t          ¦  «         |                      |j        j        |¦  «         t          |¦  «         G d	„ d
¦  «        ¦   «         }|                      |t          ¦  «         |                      |j        j        |¦  «         d S )NrS  c                   ó    — e Zd ZU eed<   d„ ZdS )ú<TestJitClass.test_jitclass_decorator_usecases.<locals>.Test1r"   c                 ó   — d| _         d S ©Nr   rS  r@   s    r&   r'   zETestJitClass.test_jitclass_decorator_usecases.<locals>.Test1.__init__$  r^  r(   Nrs   r.   r(   r&   rf   r€     ó.   € € € € € € àˆHˆH‰Hðð ð ð ð r(   rf   ©rN   c                   ó   — e Zd Zd„ ZdS )ú<TestJitClass.test_jitclass_decorator_usecases.<locals>.Test2c                 ó   — d| _         d S r‚  rS  r@   s    r&   r'   zETestJitClass.test_jitclass_decorator_usecases.<locals>.Test2.__init__-  r^  r(   Nr*   r.   r(   r&   rn  r†  *  ó#   € € € € € ðð ð ð ð r(   rn  c                   ó    — e Zd ZU eed<   d„ ZdS )ú<TestJitClass.test_jitclass_decorator_usecases.<locals>.Test3r"   c                 ó   — d| _         d S r‚  rS  r@   s    r&   r'   zETestJitClass.test_jitclass_decorator_usecases.<locals>.Test3.__init__7  r^  r(   Nrs   r.   r(   r&   rw  rŠ  3  rƒ  r(   rw  c                   ó   — e Zd Zd„ ZdS )ú<TestJitClass.test_jitclass_decorator_usecases.<locals>.Test4c                 ó   — d| _         d S r‚  rS  r@   s    r&   r'   zETestJitClass.test_jitclass_decorator_usecases.<locals>.Test4.__init__@  r^  r(   Nr*   r.   r(   r&   ÚTest4r�  =  rˆ  r(   r�  ©r   r   r   r  r   ÚassertDictEqualrC   rF   )r%   rN   rf   rn  rw  r�  s         r&   Ú test_jitclass_decorator_usecasesz-TestJitClass.test_jitclass_decorator_usecases  sÆ  € Ý�WÐ%Ñ%Ô%ˆå	‰Œð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Œð	ð 	×Ò˜e¥\Ñ2Ô2Ð2Ø×Ò˜UÔ-Ô4°dÑ;Ô;Ð;å	�tÐ	Ñ	Ô	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Ô	ð	ð
 	×Ò˜e¥\Ñ2Ô2Ð2Ø×Ò˜UÔ-Ô4°dÑ;Ô;Ð;å	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Œð	ð 	×Ò˜e¥\Ñ2Ô2Ð2Ø×Ò˜UÔ-Ô4°dÑ;Ô;Ð;å	�$‰Œð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Œð	ð
 	×Ò˜e¥\Ñ2Ô2Ð2Ø×Ò˜UÔ-Ô4°dÑ;Ô;Ð;Ð;Ð;r(   c                 óŽ  — t          t          ¬¦  «        } G d„ d¦  «        }t          |¦  «        }|                      |t          ¦  «         |                      |j        j        |¦  «          G d„ d¦  «        }t          ||¦  «        }|                      |t          ¦  «         |                      |j        j        |¦  «         d S )NrS  c                   ó    — e Zd ZU eed<   d„ ZdS )úCTestJitClass.test_jitclass_function_usecases.<locals>.AnnotatedTestr"   c                 ó   — d| _         d S r‚  rS  r@   s    r&   r'   zLTestJitClass.test_jitclass_function_usecases.<locals>.AnnotatedTest.__init__L  r^  r(   Nrs   r.   r(   r&   ÚAnnotatedTestr•  I  s.   € € € € € € ØˆHˆH‰Hðð ð ð ð r(   r—  c                   ó   — e Zd Zd„ ZdS )úETestJitClass.test_jitclass_function_usecases.<locals>.UnannotatedTestc                 ó   — d| _         d S r‚  rS  r@   s    r&   r'   zNTestJitClass.test_jitclass_function_usecases.<locals>.UnannotatedTest.__init__U  r^  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Ô5Ð5Ø×Ò˜XÔ0Ô7¸Ñ>Ô>Ð>ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	õ
 ˜O¨TÑ2Ô2ˆØ×Ò˜h­Ñ5Ô5Ð5Ø×Ò˜XÔ0Ô7¸Ñ>Ô>Ð>Ð>Ð>r(   c                 óp  ‡‡— t          t          ¬¦  «        }t          |¦  «         G d„ dt          ¦  «        ¦   «         Št          |¦  «         G d„ dt          ¦  «        ¦   «         Šˆˆfd„}|}t	          |¦  «        }|                      ‰t          ¦  «         |                       | ‰d¦  «        ¦  «         | ‰d¦  «        ¦  «        ¦  «         |                       | ‰d¦  «        ¦  «         | ‰d¦  «        ¦  «        ¦  «         |                       |d	¦  «         |d	¦  «        ¦  «         d S )
Nrf  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú2TestJitClass.test_jitclass_isinstance.<locals>.Fooc                 ó   — || _         d S 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Ð!r(   c                 ó   — | j         dz   S r4  rf  r@   s    r&   ÚgetValueIncrz?TestJitClass.test_jitclass_isinstance.<locals>.Foo.getValueIncrg  s   € Ø”z A‘~Ð%r(   N)r+   r,   r-   r'   r¥  r¨  r.   r(   r&   rl   r¢  _  sA   € € € € € ð#ð #ð #ð"ð "ð "ð&ð &ð &ð &ð &r(   rl   c                   ó   — e Zd Zd„ Zd„ ZdS )ú2TestJitClass.test_jitclass_isinstance.<locals>.Barc                 ó   — || _         d S 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  s2   € € € € € ð#ð #ð #ð"ð "ð "ð "ð "r(   rt   c                 óØ   •— t          | ‰‰f¦  «        rV|                      ¦   «         }t          | ‰¦  «        r|                      ¦   «         |z   dfS |                      ¦   «         |z   dfS dS )Nrl   rt   zno match)rI   r¥  r¨  )r£   r"   rt   rl   s     €€r&   Útest_jitclass_isinstancezGTestJitClass.test_jitclass_isinstance.<locals>.test_jitclass_isinstancer  sq   ø€ Ý˜#  S˜zÑ*Ô*ð "à—L’L‘N”N�Ý˜c 3Ñ'Ô'ð 5Ø×+Ò+Ñ-Ô-°Ñ1°5Ð8Ð8àŸ<š<™>œ>¨AÑ-¨uÐ4Ð4à!�zr(   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\  sm  øø€ Ý¥Ð'Ñ'Ô'ˆå	�$‰Œð	&ð 	&ð 	&ð 	&ð 	&•&ñ 	&ô 	&ñ 
Œð	&õ 
�$‰Œð	"ð 	"ð 	"ð 	"ð 	"•&ñ 	"ô 	"ñ 
Œð	"ð		"ð 		"ð 		"ð 		"ð 		"ð 		"ð *ˆÝÐ-Ñ.Ô.ˆà×Ò˜c¥<Ñ0Ô0Ð0Ø×Ò˜˜   A¡¤™œ¨¨¨s¨s°1©v¬v©¬Ñ7Ô7Ð7Ø×Ò˜˜   C¡¤Ñ)Ô)¨5¨5°°°S±´©?¬?Ñ;Ô;Ð;Ø×Ò˜˜ ™œ E E¨!¡H¤HÑ-Ô-Ð-Ð-Ð-r(   c                 ó  — |                       t          ¦  «        5 }t           G d„ dt          ¦  «        ¦   «         } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú:TestJitClass.test_jitclass_unsupported_dunder.<locals>.Fooc                 ó   — d S r!   r.   r@   s    r&   r'   zCTestJitClass.test_jitclass_unsupported_dunder.<locals>.Foo.__init__‰  s   € Ø�Fr(   c                 ó   — d S r!   r.   r@   s    r&   Ú	__enter__zDTestJitClass.test_jitclass_unsupported_dunder.<locals>.Foo.__enter__Œ  s   € Ø˜4r(   N)r+   r,   r-   r'   r¶  r.   r(   r&   rl   r³  ‡  s2   € € € € € ðð ð ð ð  ð  ð  ð  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…  sÐ   € Ø×Ò�yÑ)Ô)ð 	¨QÝð ð  ð  ð  ð  •fñ  ô  ñ ŒXð ð ˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠÐ<½cÀ!Ä+Ñ>NÔ>NÑOÔOÐOÐOÐOs   ›+AÁAÁAc                 óŽ   — t            G d„ dt          ¦  «        ¦   «         }t          }|j        }|                      ||¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )ú1TestJitClass.test_modulename.<locals>.TestModnamec                 ó   — d| _         d S )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‘  sa   € Ý	ð	ð 	ð 	ð 	ð 	�&ñ 	ô 	ñ 
Œð	õ ˆ
Ø!Ô,ˆØ×Ò˜ [Ñ1Ô1Ð1Ð1Ð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"  r1  rM  rY  r}  r’  rŸ  r®  r¸  rÁ  r.   r(   r&   r;   r;   0   sí  € € € € € ð2ð 2ð 2ð 2ð4ð ð ðð ð ð
Oð Oð Oð
ð 
ð 
ð"?ð ?ð ?ð$-ð -ð -ðð ð ð*ð ð ð(ð (ð (ð,4'ð 4'ð 4'ðl)ð )ð )ð<4ð <4ð <4ð|*ð *ð *ð:Oð Oð Oð,ð ,ð ,ð
<ð <ð <ð*ð *ð *ðJð Jð Jð$%ð $%ð $%ðL<ð <ð <ð&Mð Mð Mð*'ð 'ð 'ð<1ð 1ð 1ð,VEð VEð VEðp ð(ð (ñ Ôð(ðHð Hð Hð*"ð "ð "ð$"ð "ð "ð6"ð "ð "ð@2ð 2ð 2ð5ð 5ð 5ð(-ð -ð -ð>#ð #ð #ð4.ð .ð .ð<&ð &ð &ð:#&ð #&ð #&ðJ!ð !ð !ð.
1ð 
1ð 
1ðQ-ð Q-ð Q-ðf'<ð '<ð '<ðR?ð ?ð ?ð,'.ð '.ð '.ðR
Pð 
Pð 
Pð2ð 2ð 2ð 2ð 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dS )ÚTestJitClassOverloadsc                   óP   — 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S )úTestJitClassOverloads.PyListc                 ó   — dg| _         d S r‚  rS  r@   s    r&   r'   z%TestJitClassOverloads.PyList.__init__Ÿ  s   € Ø�SˆDŒFˆFˆFr(   c                 ó:   — | j                              |¦  «         d S r!   ©r"   Úappendra  s     r&   rÉ  z#TestJitClassOverloads.PyList.append¢  s   € ØŒF�MŠM˜!ÑÔÐÐÐr(   c                 ó8   — | j                              ¦   «          d S r!   )r"   Úclearr@   s    r&   rË  z"TestJitClassOverloads.PyList.clear¥  s   € ØŒF�LŠL‰NŒNˆNˆNˆNr(   c                 ó0   — t          | j        ¦  «        dz  S r‰   ©rL   r"   r@   s    r&   Ú__abs__z$TestJitClassOverloads.PyList.__abs__¨  ó   € Ý�t”v‘;”; ‘?Ð"r(   c                 ó8   — t          | j        ¦  «        dz  dk    S )Nr¨   r   rÍ  r@   s    r&   Ú__bool__z%TestJitClassOverloads.PyList.__bool__«  s   € Ý�t”v‘;”; ‘? aÒ'Ð'r(   c                 óR   — t          d¦  «        }| j        r|| j        d         z  }|S )Nr¦   r   )r  r"   )r%   rµ   s     r&   Ú__complex__z(TestJitClassOverloads.PyList.__complex__®  s+   € Ý˜‘
”
ˆAØŒvð Ø�T”V˜A”Y‘�ØˆHr(   c                 ó   — || j         v S r!   rS  ra  s     r&   Ú__contains__z)TestJitClassOverloads.PyList.__contains__´  s   € Ø˜œ�;Ðr(   c                 ó8   — d}| j         r|| j         d         z  }|S )Nrø   r   rS  )r%   Úfs     r&   Ú	__float__z&TestJitClassOverloads.PyList.__float__·  s%   € ØˆAØŒvð Ø�T”V˜A”Y‘�ØˆHr(   c                 ó8   — d}| j         r|| j         d         z  }|S )Nr   r   rS  )r%   rÓ  s     r&   Ú__int__z$TestJitClassOverloads.PyList.__int__½  s%   € ØˆAØŒvð Ø�T”V˜A”Y‘�ØˆHr(   c                 ó0   — t          | j        ¦  «        dz   S r4  rÍ  r@   s    r&   Ú__len__z$TestJitClassOverloads.PyList.__len__Ã  rÏ  r(   c                 ó:   — t          | j        ¦  «        dk    rdS dS )Nr   zPyList emptyzPyList non-emptyrÍ  r@   s    r&   Ú__str__z$TestJitClassOverloads.PyList.__str__Æ  s    € Ý�4”6‰{Œ{˜aÒÐØ%�~à)Ð)r(   N)r+   r,   r-   r'   rÉ  rË  rÎ  rÑ  rÓ  rÕ  rØ  rÚ  rÜ  rÞ  r.   r(   r&   ÚPyListrÅ  ž  s¹   € € € € € ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð	#ð 	#ð 	#ð	(ð 	(ð 	(ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð	#ð 	#ð 	#ð	*ð 	*ð 	*ð 	*ð 	*r(   rß  c                  ój   ‡ — t          dt          j        fg¦  «         G ˆ fd„d¦  «        ¦   «         Š ‰ S )Nr"   c                   óT   •— 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
d	S )
ú9TestJitClassOverloads.get_int_wrapper.<locals>.IntWrapperc                 ó   — || _         d S r!   rS  rr   s     r&   r'   zBTestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__init__Ð  ó   € Ø�”��r(   c                 ó"   — | j         |j         k    S r!   rS  ©r%   rÅ   s     r&   Ú__eq__z@TestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__eq__Ó  ó   € Ø”v ¤Ò(Ð(r(   c                 ó   — | j         S r!   rS  r@   s    r&   Ú__hash__zBTestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__hash__Ö  ó	   € Ø”v�r(   c                 ó4   •—  ‰| j         |j         z  ¦  «        S r!   rS  ©r%   rÅ   Ú
IntWrappers     €r&   Ú
__lshift__zDTestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__lshift__Ù  ó   ø€ Ø!�z $¤&¨E¬GÑ"3Ñ4Ô4Ð4r(   c                 ó4   •—  ‰| j         |j         z	  ¦  «        S r!   rS  rí  s     €r&   Ú
__rshift__zDTestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__rshift__Ü  rð  r(   c                 ó4   •—  ‰| j         |j         z  ¦  «        S r!   rS  rí  s     €r&   Ú__and__zATestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__and__ß  ó   ø€ Ø!�z $¤&¨5¬7Ñ"2Ñ3Ô3Ð3r(   c                 ó4   •—  ‰| j         |j         z  ¦  «        S r!   rS  rí  s     €r&   Ú__or__z@TestJitClassOverloads.get_int_wrapper.<locals>.IntWrapper.__or__â  rõ  r(   c                 ó4   •—  ‰| 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ð 5ð 5ð 5ð5ð 5ð 5ð 5ð 5ð4ð 4ð 4ð 4ð 4ð4ð 4ð 4ð 4ð 4ð4ð 4ð 4ð 4ð 4ð 4ð 4r(   rî  )r   r   Úintprú  s   @r&   Úget_int_wrapperz%TestJitClassOverloads.get_int_wrapperÌ  sZ   ø€ å	�C�œÐ$Ð%Ñ	&Ô	&ð	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ñ 	4ô 	4ñ 
'Ô	&ð	4ð2 Ðr(   c                  ój   ‡ — 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dS )ú=TestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapperc                 ó   — || _         d S r!   rS  rr   s     r&   r'   zFTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__init__ï  rä  r(   c                 ó"   — | 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                 ó"   — | j         |j         k    S r!   rS  ræ  s     r&   Ú__ge__zDTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__ge__ø  rè  r(   c                 ó"   — | j         |j         k    S r!   rS  ræ  s     r&   Ú__gt__zDTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__gt__û  ó   € Ø”v ¤Ò'Ð'r(   c                 ó"   — | j         |j         k    S r!   rS  ræ  s     r&   Ú__le__zDTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__le__þ  rè  r(   c                 ó"   — | j         |j         k     S r!   rS  ræ  s     r&   Ú__lt__zDTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__lt__  r  r(   c                 ó4   •—  ‰| j         |j         z   ¦  «        S r!   rS  ©r%   rÅ   ÚFloatWrappers     €r&   Ú__add__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__add__  ó   ø€ Ø#�| D¤F¨U¬WÑ$4Ñ5Ô5Ð5r(   c                 ó4   •—  ‰| j         |j         z  ¦  «        S r!   rS  r  s     €r&   Ú__floordiv__zJTestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__floordiv__  ó   ø€ Ø#�| D¤F¨e¬gÑ$5Ñ6Ô6Ð6r(   c                 ó4   •—  ‰| j         |j         z  ¦  «        S r!   rS  r  s     €r&   Ú__mod__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__mod__
  r  r(   c                 ó4   •—  ‰| 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 GÑ,Ô,Ð,r(   c                 ó&   •—  ‰| j         
 ¦  «        S r!   rS  r  s     €r&   Ú__pos__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__pos__  r  r(   c                 ó4   •—  ‰| j         |j         z  ¦  «        S r!   rS  r  s     €r&   Ú__pow__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__pow__  r  r(   c                 ó4   •—  ‰| j         |j         z
  ¦  «        S r!   rS  r  s     €r&   Ú__sub__zETestJitClassOverloads.get_float_wrapper.<locals>.FloatWrapper.__sub__  r  r(   c                 ó4   •—  ‰| 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ÿ  ì  s_  ø€ € € € € ðð ð ð)ð )ð )ðð ð ð)ð )ð )ð(ð (ð (ð)ð )ð )ð(ð (ð (ð6ð 6ð 6ð 6ð 6ð7ð 7ð 7ð 7ð 7ð6ð 6ð 6ð 6ð 6ð6ð 6ð 6ð 6ð 6ð-ð -ð -ð -ð -ð-ð -ð -ð -ð -ð7ð 7ð 7ð 7ð 7ð6ð 6ð 6ð 6ð 6ð6ð 6ð 6ð 6ð 6ð 6ð 6r(   r  )r   r   r   r#  s   @r&   Úget_float_wrapperz'TestJitClassOverloads.get_float_wrapperê  s[   ø€ å	�C�œÐ'Ð(Ñ	)Ô	)ð0	6ð 0	6ð 0	6ð 0	6ð 0	6ð 0	6ð 0	6ñ 0	6ô 0	6ñ 
*Ô	)ð0	6ðd Ðr(   Nc                 óš   — |                       t          |¦  «        t          |¦  «        |¬¦  «         |                       |||¬¦  «         d S )N)rÉ  )rK   Útype)r%   rë   rì   rÉ  s       r&   Ú
assertSamez TestJitClassOverloads.assertSame!  sJ   € Ø×Ò�˜e™œ¥d¨6¡l¤l¸ÐÑ<Ô<Ð<Ø×Ò˜ ¨CÐÑ0Ô0Ð0Ð0Ð0r(   c                 ó@  —  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„ |D ¦   «         }|                      ¦   «         } |¦   «         }t          ||¦  «        D ]U\  }}|                       ||¦  «         ||¦  «        ¦  «         |                       ||¦  «         ||¦  «        ¦  «         ŒV|                     d¦  «         |                     d¦  «         t          ||¦  «        D ]U\  }}|                       ||¦  «         ||¦  «        ¦  «         |                       ||¦  «         ||¦  «        ¦  «         ŒV|                     d¦  «         |                     d¦  «         t          ||¦  «        D ]U\  }}|                       ||¦  «         ||¦  «        ¦  «         |                       ||¦  «         ||¦  «        ¦  «         ŒV|                     ¦   «          |                     ¦   «          t          ||¦  «        D ]U\  }}|                       ||¦  «         ||¦  «        ¦  «         |                       ||¦  «         ||¦  «        ¦  «         ŒVd S )Nr"   c                 ó    — t          | ¦  «        S r!   )ÚabsrS  s    r&   ú<lambda>z6TestJitClassOverloads.test_overloads.<locals>.<lambda>+  ó   € •c˜!‘f”f€ r(   c                 ó*   — |                       ¦   «         S r!   )rÎ  rS  s    r&   r+  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>,  ó   € �a—i’i‘k”k€ r(   c                 ó    — t          | ¦  «        S r!   ©ÚboolrS  s    r&   r+  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>-  s   € •d˜1‘g”g€ r(   c                 ó*   — |                       ¦   «         S r!   )rÑ  rS  s    r&   r+  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>.  s   € �a—j’j‘l”l€ r(   c                 ó    — t          | ¦  «        S r!   r  rS  s    r&   r+  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>/  s   € •g˜a‘j”j€ r(   c                 ó*   — |                       ¦   «         S r!   )rÓ  rS  s    r&   r+  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>0  s   € �a—m’m‘o”o€ r(   c                 ó
   — d| v S r‚  r.   rS  s    r&   r+  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>1  s
   € �a˜1�f€ r(   c                 ó,   — |                       d¦  «        S r‚  )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‘h”h€ r(   c                 ó*   — |                       ¦   «         S r!   )rØ  rS  s    r&   r+  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>4  s   € �a—k’k‘m”m€ r(   c                 ó    — t          | ¦  «        S r!   ©ra   rS  s    r&   r+  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>5  r,  r(   c                 ó*   — |                       ¦   «         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                 ó*   — |                       ¦   «         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                 ó*   — |                       ¦   «         S r!   )rÞ  rS  s    r&   r+  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>:  r.  r(   c                 ó   — | rdndS )Nr   r   r.   rS  s    r&   r+  z6TestJitClassOverloads.test_overloads.<locals>.<lambda>;  s   € ˜1�m�a�a !€ r(   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r.   )r
   )r6  r×  s     r&   r7  z8TestJitClassOverloads.test_overloads.<locals>.<listcomp>=  s   € Ð/Ð/Ð/ •T˜!‘W”WÐ/Ð/Ð/r(   r¦   éûÿÿÿ)	r   r   rd   rû  rß  rM   r'  rÉ  rË  )r%   ÚJitListÚpy_funcsÚ	jit_funcsÚpy_listÚjit_listÚpy_fÚjit_fs           r&   Útest_overloadsz$TestJitClassOverloads.test_overloads%  sÙ  € ð :•(˜C¥¤­E¬JÑ!7Ô!7Ð8Ñ9Ô9¸$¼+ÑFÔFˆð ÐØ!Ð!ØÐØ"Ð"Ø Ð Ø%Ð%ØÐØ'Ð'ØÐØ#Ð#ØÐØ!Ð!ØÐØ!Ð!ØÐØ!Ð!Ø#Ð#ð#
ˆð& 0Ð/ hÐ/Ñ/Ô/ˆ	à—+’+‘-”-ˆØ�7‘9”9ˆÝ˜x¨Ñ3Ô3ð 	<ð 	<‰KˆD�%Ø�OŠO˜D˜D ™MœM¨4¨4°©>¬>Ñ:Ô:Ð:Ø�OŠO˜D˜D ™MœM¨5¨5°©?¬?Ñ;Ô;Ð;Ð;à�Š�qÑÔÐØ�Š˜ÑÔÐÝ˜x¨Ñ3Ô3ð 	<ð 	<‰KˆD�%Ø�OŠO˜D˜D ™MœM¨4¨4°©>¬>Ñ:Ô:Ð:Ø�OŠO˜D˜D ™MœM¨5¨5°©?¬?Ñ;Ô;Ð;Ð;à�Š�rÑÔÐØ�Š˜ÑÔÐÝ˜x¨Ñ3Ô3ð 	<ð 	<‰KˆD�%Ø�OŠO˜D˜D ™MœM¨4¨4°©>¬>Ñ:Ô:Ð:Ø�OŠO˜D˜D ™MœM¨5¨5°©?¬?Ñ;Ô;Ð;Ð;à�Š‰ŒˆØ�ŠÑÔÐÝ˜x¨Ñ3Ô3ð 	<ð 	<‰KˆD�%Ø�OŠO˜D˜D ™MœM¨4¨4°©>¬>Ñ:Ô:Ð:Ø�OŠO˜D˜D ™MœM¨5¨5°©?¬?Ñ;Ô;Ð;Ð;ð	<ð 	<r(   c                 ól  — d„ }t          |¦  «        }t          dt          j        t          j        ¦  «        fg¦  «         G d„ d¦  «        ¦   «         } |g d¢¦  «        }|                       ||¦  «        ¦  «         |                       ||¦  «        ¦  «         |                     d¦  «         |                       ||¦  «        ¦  «         |                       ||¦  «        ¦  «         |                     ¦   «          |                       ||¦  «        ¦  «         |                       ||¦  «        ¦  «         t          dt          j	        fg¦  «         G d„ d	¦  «        ¦   «         } |d
¦  «        }|                       ||¦  «        ¦  «         |                       ||¦  «        ¦  «         d S )Nc                 ó    — t          | ¦  «        S r!   r0  rS  s    r&   Úpy_bz6TestJitClassOverloads.test_bool_fallback.<locals>.py_bY  ó   € Ý˜‘7”7ˆNr(   r"   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ú:TestJitClassOverloads.test_bool_fallback.<locals>.LenClassc                 ó   — || _         d S r!   rS  rT  s     r&   r'   zCTestJitClassOverloads.test_bool_fallback.<locals>.LenClass.__init__`  r^  r(   c                 ó0   — t          | j        ¦  «        dz  S )Nr©   rÍ  r@   s    r&   rÜ  zBTestJitClassOverloads.test_bool_fallback.<locals>.LenClass.__len__c  s   € Ý˜4œ6‘{”{ Q‘Ð&r(   c                 ó:   — | j                              |¦  «         d S r!   rÈ  ra  s     r&   rÉ  zATestJitClassOverloads.test_bool_fallback.<locals>.LenClass.appendf  s   € Ø”—’˜aÑ Ô Ð Ð Ð r(   c                 ó:   — | j                              d¦  «         d S r‚  )r"   Úpopr@   s    r&   rV  z>TestJitClassOverloads.test_bool_fallback.<locals>.LenClass.popi  s   € Ø”—
’
˜1‘”���r(   N)r+   r,   r-   r'   rÜ  rÉ  rV  r.   r(   r&   ÚLenClassrQ  ^  sP   € € € € € ðð ð ð'ð 'ð 'ð!ð !ð !ðð ð ð ð r(   rW  )r   r¦   r¨   r©   r#   c                   ó   — e Zd Zd„ ZdS )ú=TestJitClassOverloads.test_bool_fallback.<locals>.NormalClassc                 ó   — || _         d S r!   )r#   ra  s     r&   r'   zFTestJitClassOverloads.test_bool_fallback.<locals>.NormalClass.__init__z  r^  r(   Nr*   r.   r(   r&   ÚNormalClassrY  x  rœ  r(   r[  r   )
r
   r   r   rd   rû  rÒ   rÉ  rÓ   rV  r   )r%   rN  Újit_brW  r£   r[  s         r&   Útest_bool_fallbackz(TestJitClassOverloads.test_bool_fallbackW  sÌ  € ð	ð 	ð 	õ �T‘
”
ˆå	�C�œ¥E¤JÑ/Ô/Ð0Ð1Ñ	2Ô	2ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
3Ô	2ð	ð ˆh�y�y�yÑ!Ô!ˆØ�Š˜˜˜S™	œ	Ñ"Ô"Ð"Ø�Š˜˜˜c™
œ
Ñ#Ô#Ð#à�
Š
�1‰ŒˆØ×Ò˜˜˜c™œÑ#Ô#Ð#Ø×Ò˜˜˜s™œÑ$Ô$Ð$à�Š‰	Œ	ˆ	Ø�Š˜˜˜S™	œ	Ñ"Ô"Ð"Ø�Š˜˜˜c™
œ
Ñ#Ô#Ð#å	�C�œÐ'Ð(Ñ	)Ô	)ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
*Ô	)ð	ð ˆk˜!‰nŒnˆØ�Š˜˜˜S™	œ	Ñ"Ô"Ð"Ø�Š˜˜˜c™
œ
Ñ#Ô#Ð#Ð#Ð#r(   c                 ó†  — d„ }d„ }d„ }t          |¦  «        }t          |¦  «        }t          |¦  «        }t          g ¦  «         G d„ d¦  «        ¦   «         } |¦   «         }|                       ||¦  «        t          d¦  «        ¦  «         |                       ||¦  «        t          d¦  «        ¦  «         |                       ||¦  «        d¦  «         |                       ||¦  «        d¦  «         |                      t
          ¦  «        5 }	 ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |	j        ¦  «        ¦  «         |                      t          ¦  «        5 }	 ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |	j        ¦  «        ¦  «         t          g ¦  «         G d„ d	¦  «        ¦   «         }
 |
¦   «         }|                       ||¦  «        d
¦  «         |                       ||¦  «        d
¦  «         |                      t
          ¦  «        5 }	 ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |	j        ¦  «        ¦  «         |                      t          ¦  «        5 }	 ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |	j        ¦  «        ¦  «         |                      t
          ¦  «        5 }	 ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |	j        ¦  «        ¦  «         |                      t          ¦  «        5 }	 ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |	j        ¦  «        ¦  «         t          g ¦  «         G d„ d¦  «        ¦   «         } |¦   «         }|                       ||¦  «        t          d¦  «        ¦  «         |                       ||¦  «        t          d¦  «        ¦  «         |                       ||¦  «        d¦  «         |                       ||¦  «        d¦  «         |                       ||¦  «        d¦  «         |                       ||¦  «        d¦  «         t          g ¦  «         G d„ d¦  «        ¦   «         } |¦   «         }|                       ||¦  «        t          d¦  «        ¦  «         |                       ||¦  «        t          d¦  «        ¦  «         |                       ||¦  «        d¦  «         |                       ||¦  «        d¦  «         |                       ||¦  «        d
¦  «         |                       ||¦  «        d
¦  «         d S )Nc                 ó    — t          | ¦  «        S r!   r  rS  s    r&   Úpy_cz9TestJitClassOverloads.test_numeric_fallback.<locals>.py_c‚  s   € Ý˜1‘:”:Ðr(   c                 ó    — t          | ¦  «        S r!   r8  rS  s    r&   rI  z9TestJitClassOverloads.test_numeric_fallback.<locals>.py_f…  s   € Ý˜‘8”8ˆOr(   c                 ó    — t          | ¦  «        S r!   r;  rS  s    r&   Úpy_iz9TestJitClassOverloads.test_numeric_fallback.<locals>.py_iˆ  s   € Ý�q‘6”6ˆMr(   c                   ó   — e Zd Zd„ Zd„ ZdS )ú?TestJitClassOverloads.test_numeric_fallback.<locals>.FloatClassc                 ó   — d S r!   r.   r@   s    r&   r'   zHTestJitClassOverloads.test_numeric_fallback.<locals>.FloatClass.__init__‘  r`   r(   c                 ó   — dS ©Nrø   r.   r@   s    r&   rØ  zITestJitClassOverloads.test_numeric_fallback.<locals>.FloatClass.__float__”  ó   € Ø�vr(   N)r+   r,   r-   r'   rØ  r.   r(   r&   Ú
FloatClassre  �  s2   € € € € € ðð ð ðð ð ð ð r(   rj  rø   ra   c                   ó   — e Zd Zd„ Zd„ ZdS )ú=TestJitClassOverloads.test_numeric_fallback.<locals>.IntClassc                 ó   — d S r!   r.   r@   s    r&   r'   zFTestJitClassOverloads.test_numeric_fallback.<locals>.IntClass.__init__¦  r`   r(   c                 ó   — dS r‰   r.   r@   s    r&   rÚ  zETestJitClassOverloads.test_numeric_fallback.<locals>.IntClass.__int__©  r‹   r(   N)r+   r,   r-   r'   rÚ  r.   r(   r&   ÚIntClassrl  ¤  ó2   € € € € € ðð ð ðð ð ð ð r(   ro  rŠ   r  re   c                   ó   — e Zd Zd„ Zd„ ZdS )ú?TestJitClassOverloads.test_numeric_fallback.<locals>.IndexClassc                 ó   — d S r!   r.   r@   s    r&   r'   zHTestJitClassOverloads.test_numeric_fallback.<locals>.IndexClass.__init__¿  r`   r(   c                 ó   — dS r4  r.   r@   s    r&   Ú	__index__zITestJitClassOverloads.test_numeric_fallback.<locals>.IndexClass.__index__Â  r‹   r(   N)r+   r,   r-   r'   ru  r.   r(   r&   Ú
IndexClassrr  ½  rp  r(   rv  r   ç      ð?c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )úGTestJitClassOverloads.test_numeric_fallback.<locals>.FloatIntIndexClassc                 ó   — d S r!   r.   r@   s    r&   r'   zPTestJitClassOverloads.test_numeric_fallback.<locals>.FloatIntIndexClass.__init__Ð  r`   r(   c                 ó   — dS rh  r.   r@   s    r&   rØ  zQTestJitClassOverloads.test_numeric_fallback.<locals>.FloatIntIndexClass.__float__Ó  ri  r(   c                 ó   — dS r‰   r.   r@   s    r&   rÚ  zOTestJitClassOverloads.test_numeric_fallback.<locals>.FloatIntIndexClass.__int__Ö  r‹   r(   c                 ó   — dS r4  r.   r@   s    r&   ru  zQTestJitClassOverloads.test_numeric_fallback.<locals>.FloatIntIndexClass.__index__Ù  r‹   r(   N)r+   r,   r-   r'   rØ  rÚ  ru  r.   r(   r&   ÚFloatIntIndexClassry  Î  sP   € € € € € ðð ð ðð ð ðð ð ðð ð ð ð r(   r~  )
r
   r   r'  r  r|   r}   r~   r   r€   r   )r%   r`  rI  rc  Újit_crJ  Újit_irj  r£   r·  ro  rv  r~  s                r&   Útest_numeric_fallbackz+TestJitClassOverloads.test_numeric_fallback�  sñ  € ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	õ �T‘
”
ˆÝ�T‘
”
ˆÝ�T‘
”
ˆå	�"‰Œð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Œð	ð ˆj‰lŒlˆØ�Š˜˜˜S™	œ	¥7¨6¡?¤?Ñ3Ô3Ð3Ø�Š˜˜˜c™
œ
¥G¨F¡O¤OÑ4Ô4Ð4Ø�Š˜˜˜S™	œ	 6Ñ*Ô*Ð*Ø�Š˜˜˜c™
œ
 FÑ+Ô+Ð+à×Ò�yÑ)Ô)ð 	¨QØˆD�‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�e�S ¤Ñ-Ô-Ñ.Ô.Ð.Ø×Ò�{Ñ+Ô+ð 	¨qØˆE�#‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�e�S ¤Ñ-Ô-Ñ.Ô.Ð.å	�"‰Œð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Œð	ð ˆh‰jŒjˆØ�Š˜˜˜S™	œ	 1Ñ%Ô%Ð%Ø�Š˜˜˜c™
œ
 AÑ&Ô&Ð&à×Ò�yÑ)Ô)ð 	¨QØˆD�‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�i¥ Q¤[Ñ!1Ô!1Ñ2Ô2Ð2Ø×Ò�{Ñ+Ô+ð 	¨qØˆE�#‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�i¥ Q¤[Ñ!1Ô!1Ñ2Ô2Ð2Ø×Ò�yÑ)Ô)ð 	¨QØˆD�‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�g�s 1¤;Ñ/Ô/Ñ0Ô0Ð0Ø×Ò�{Ñ+Ô+ð 	¨qØˆE�#‰JŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�g�s 1¤;Ñ/Ô/Ñ0Ô0Ð0å	�"‰Œð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Œð	ð ˆj‰lŒlˆà�Š˜˜˜S™	œ	¥7¨1¡:¤:Ñ.Ô.Ð.Ø�Š˜˜˜c™
œ
¥G¨A¡J¤JÑ/Ô/Ð/Ø�Š˜˜˜S™	œ	 2Ñ&Ô&Ð&Ø�Š˜˜˜c™
œ
 BÑ'Ô'Ð'Ø�Š˜˜˜S™	œ	 1Ñ%Ô%Ð%Ø�Š˜˜˜c™
œ
 AÑ&Ô&Ð&å	�"‰Œð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
Œð	ð !Ð Ñ"Ô"ˆØ�Š˜˜˜S™	œ	¥7¨6¡?¤?Ñ3Ô3Ð3Ø�Š˜˜˜c™
œ
¥G¨F¡O¤OÑ4Ô4Ð4Ø�Š˜˜˜S™	œ	 6Ñ*Ô*Ð*Ø�Š˜˜˜c™
œ
 FÑ+Ô+Ð+Ø�Š˜˜˜S™	œ	 1Ñ%Ô%Ð%Ø�Š˜˜˜c™
œ
 AÑ&Ô&Ð&Ð&Ð&sl   ÄD+Ä+D/Ä2D/Å8FÆFÆFÉIÉI#É&I#Ê,KËKËKÌL)Ì)L-Ì0L-Í6NÎNÎNc                 ó4  — |                       ¦   «         }|                      ¦   «         }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          |	¦  «        }	} |
||	¦  «        } ||¦  «        } ||	¦  «        }|  	                    | |||	¦  «        ¦  «         |  	                    | | |
||¦  «        ¦  «        ¦  «         |  	                    | | |||¦  «        ¦  «        ¦  «         ŒÂd S )Nc                 ó   — | |k    S r!   r.   r”   s     r&   r+  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>é  ó
   € ˜˜aš€ 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                 ó   — | |k    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>ï  ó
   € ˜˜Q™€ r(   c                 ó   — | |z  S r!   r.   r”   s     r&   r+  z?TestJitClassOverloads.test_arithmetic_logical.<locals>.<lambda>ð  ó
   € ˜˜a™€ 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                 ó   — | |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(   ©)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   rÄ  ra   )r%   rî  r  Úfloat_py_funcsÚint_py_funcsÚtest_valuesrŸ  rJ  r"   r#   rI  rT   Újit_xÚjit_yÚchecks                  r&   Útest_arithmetic_logicalz-TestJitClassOverloads.test_arithmetic_logicalä  sÒ  € Ø×)Ò)Ñ+Ô+ˆ
Ø×-Ò-Ñ/Ô/ˆð  ÐØÐØÐØÐØÐØÐØÐØÐØÐØÐØÐØÐØÐð
ˆð   ÐØÐØÐØÐØÐØÐØÐð
ˆð
ð 
ð 
ˆð	.ð 	.ð 	.õ 'Ô.Ý•D˜.Ñ)Ô)¨;ñ8ô 8ð 	9ð 	9‰MˆE‘6�A�qð ”=ˆDà�t˜A˜q‘z”zˆHØ �L ‘O”OˆEØ �L ‘O”OˆEõ ˜‘>”>­Ð.Ð.ð Ô Ð àÔ+ð ð
 ˆE�(˜E˜E ! Q™KœKÑ(Ô(Ð(ØˆE�(˜F˜F 4 4¨¨uÑ#5Ô#5Ñ6Ô6Ñ7Ô7Ð7ØˆE�(˜F˜F 5 5¨°Ñ#6Ô#6Ñ7Ô7Ñ8Ô8Ð8Ð8å&Ô.Ý•D˜,Ñ'Ô'¨ñ6ô 6ð 	Dð 	D‰MˆE‘6�A�qð ”=ˆDÝ�q‘6”6�3˜q™6œ6ˆqˆAà�t˜A˜q‘z”zˆHØ�J˜q‘M”MˆEØ�J˜q‘M”MˆEà×Ò˜X u u¨Q°¡{¤{Ñ3Ô3Ð3Ø×Ò˜X v v¨d¨d°5¸%Ñ.@Ô.@Ñ'AÔ'AÑBÔBÐBØ×Ò˜X v v¨e¨e°E¸5Ñ.AÔ.AÑ'BÔ'BÑCÔCÐCÐCð	Dð 	Dr(   c           
      óÄ  ‡‡‡— |                       ¦   «         }|                      ¦   «         }|                     ¦   «         d         }|                     ¦   «         d         }t          dt          j        fg¦  «         G ˆfd„d|¦  «        ¦   «         Št          dt          j        i¦  «         G ˆfd„d|¦  «        ¦   «         Š‰                     ¦   «         d         }‰                     ¦   «         d         }d„ Šˆfd„d	D ¦   «         }ˆfd
„dD ¦   «         }g d¢}	t          j        t          t          |¦  «        ||f|‰fg|	¦  «        D ]¤\  }
\  }}\  }}|
j        } | ||¦  «         ||¦  «        ¦  «        j        }|                      | | ||¦  «         ||¦  «        ¦  «        j        ¦  «         |                      | |
 ||¦  «         ||¦  «        ¦  «        j        ¦  «         Œ¥t          j        t          t          |¦  «        ||f|‰fg|	¦  «        D ]Â\  }
\  }}\  }}t          |¦  «        t          |¦  «        }}|
j        } | ||¦  «         ||¦  «        ¦  «        j        }|                      | | ||¦  «         ||¦  «        ¦  «        j        ¦  «         |                      | |
 ||¦  «         ||¦  «        ¦  «        j        ¦  «         ŒÃd S )Nr   r"   c                   óH   •— e Zd Zd„ Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„ZdS )úRTestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapperc                 ó   — || _         d S r!   rS  rr   s     r&   r'   z[TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapper.__init__5  rä  r(   c                 ó4   •—  ‰| j         |j         z  ¦  «        S r!   rS  ©r%   rÅ   ÚJitIntUpdateWrappers     €r&   Ú__ilshift__z^TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapper.__ilshift__8  ó   ø€ Ø*Ð*¨4¬6°U´WÑ+<Ñ=Ô=Ð=r(   c                 ó4   •—  ‰| j         |j         z	  ¦  «        S r!   rS  r¯  s     €r&   Ú__irshift__z^TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapper.__irshift__;  r²  r(   c                 ó4   •—  ‰| j         |j         z  ¦  «        S r!   rS  r¯  s     €r&   Ú__iand__z[TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapper.__iand__>  ó   ø€ Ø*Ð*¨4¬6°E´GÑ+;Ñ<Ô<Ð<r(   c                 ó4   •—  ‰| j         |j         z  ¦  «        S r!   rS  r¯  s     €r&   Ú__ior__zZTestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitIntUpdateWrapper.__ior__A  r·  r(   c                 ó4   •—  ‰| 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                   ó\   •— 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
d	S )
úTTestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapperc                 ó   — || _         d S r!   rS  rr   s     r&   r'   z]TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__init__J  rä  r(   c                 ó:   •—  ‰| 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°e¸e¼g±oÑ-EÑFÔFÐFr(   c                 ó:   •—  ‰| j         dz  |j         z  ¦  «        S rÀ  rS  rÁ  s     €r&   Ú__ifloordiv__zbTestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__ifloordiv__P  s!   ø€ Ø,Ð,¨T¬V°e©^¸u¼wÑ-FÑGÔGÐGr(   c                 ó:   •—  ‰| 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°u´wÀ±{Ñ-CÑDÔDÐDr(   c                 ó:   •—  ‰| 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°e´gÑ-=ÀÑ-AÑBÔBÐBr(   c                 ó:   •—  ‰| 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°u´wÑ->ÀÑ-BÑCÔCÐCr(   c                 ó:   •—  ‰| j         d|j         z  z
  ¦  «        S rh  rS  rÁ  s     €r&   Ú__isub__z]TestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__isub__\  s"   ø€ Ø,Ð,¨T¬V°f¸u¼wÑ6FÑ-FÑGÔGÐGr(   c                 ó:   •—  ‰| j         dz   |j         z  ¦  «        S r4  rS  rÁ  s     €r&   Ú__itruediv__zaTestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.JitFloatUpdateWrapper.__itruediv___  s!   ø€ Ø,Ð,¨d¬f°q©j¸E¼GÑ-CÑDÔDÐDr(   N)r+   r,   r-   r'   rÃ  rÅ  rÇ  rÉ  rË  rÍ  rÏ  )rÂ  s   €r&   rÂ  r½  G  sø   ø€ € € € € ðð ð ðGð Gð Gð Gð GðHð Hð Hð Hð HðEð Eð Eð Eð EðCð Cð Cð Cð CðDð Dð Dð Dð DðHð Hð Hð Hð HðEð Eð Eð Eð Eð Eð Er(   rÂ  c                 óB   — 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  s<   € ðà	ðð ð ˆHð
 ˆIÝ�˜9Ñ%Ô%Ð%Ø˜S”>Ð!r(   c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS r.   r.   ©r6  rÒ  rÕ  s     €r&   r7  zITestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.<listcomp>o  s/   ø€ ð ð ð °"˜/˜/¨"Ñ-Ô-ð ð ð r(   )ú+ú//ú%Ú*ú**ú-ú/c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS r.   r.   r×  s     €r&   r7  zITestJitClassOverloads.test_arithmetic_logical_inplace.<locals>.<listcomp>r  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¥  rJ  Úpy_clsÚjit_clsr"   r#   rI  rT   rÂ  r°  rÕ  s                    @@@r&   Útest_arithmetic_logical_inplacez5TestJitClassOverloads.test_arithmetic_logical_inplace*  s§  øøø€ ð ×,Ò,Ñ.Ô.ˆØ×0Ò0Ñ2Ô2ˆà$×(Ò(Ñ*Ô*¨1Ô-ˆØ(×,Ò,Ñ.Ô.¨qÔ1ˆå	�C�œÐ$Ð%Ñ	&Ô	&ð	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	= ,ñ 	=ô 	=ñ 
'Ô	&ð	=õ& 
�3�œÐ&Ñ	'Ô	'ð	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	E Nñ 	Eô 	Eñ 
(Ô	'ð	Eð4 1×4Ò4Ñ6Ô6°qÔ9ÐØ4×8Ò8Ñ:Ô:¸1Ô=Ðð	"ð 	"ð 	"ðð ð ð ð 9
ð ñ ô ˆðð ð ð ð 7
ð ñ ô ˆð
ð 
ð 
ˆõ 1:Ô0AÝ•D˜.Ñ)Ô)à# _Ð5Ø)Ð+@ÐAðð ñ1ô 1ð 	Nð 	NÑ,ˆEÑ$�F˜G¡f q¨!ð ”=ˆDà�t˜F˜F 1™IœI v v¨a¡y¤yÑ1Ô1Ô3ˆHØ×"Ò" 8¨T¨T°'°'¸!±*´*¸g¸gÀa¹j¼jÑ-IÔ-IÔ-KÑLÔLÐLØ×"Ò" 8¨U¨U°7°7¸1±:´:¸w¸wÀq¹z¼zÑ-JÔ-JÔ-LÑMÔMÐMÐMå09Ô0AÝ•D˜,Ñ'Ô'à! =Ð1Ø'Ð)<Ð=ðð ñ1ô 1ð 	Hð 	HÑ,ˆEÑ$�F˜G¡f q¨!õ �q‘6”6�3˜q™6œ6ˆqˆAØ”=ˆDà�t˜F˜F 1™IœI v v¨a¡y¤yÑ1Ô1Ô3ˆHØ×Ò˜X t t¨G¨G°A©J¬J¸¸À¹
¼
Ñ'CÔ'CÔ'EÑFÔFÐFØ×Ò˜X u u¨W¨W°Q©Z¬Z¸¸À¹¼Ñ'DÔ'DÔ'FÑGÔGÐGÐGð	Hð 	Hr(   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 ]-}|                       | ||¦  «        ¦  «        |dz  ¦  «         Œ.|D ]•\  }}|                       | ||¦  «         ||¦  «        ¦  «         ||¦  «         ||¦  «        k    ¦  «         |                       | ||¦  «         ||¦  «        ¦  «         ||¦  «         ||¦  «        k    ¦  «         Œ–�Œd S )Nc                   ó,   — e Zd ZU eed<   d„ Zd„ Zd„ ZdS )ú9TestJitClassOverloads.test_hash_eq_ne.<locals>.HashEqTestr"   c                 ó   — || _         d S r!   rS  rT  s     r&   r'   zBTestJitClassOverloads.test_hash_eq_ne.<locals>.HashEqTest.__init__œ  r^  r(   c                 ó   — | j         dz  S )Nr¬   rS  r@   s    r&   rê  zBTestJitClassOverloads.test_hash_eq_ne.<locals>.HashEqTest.__hash__Ÿ  s   € Ø”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ñ  ™  sL   € € € € € € ØˆFˆF‰Fðð ð ð#ð #ð #ð0ð 0ð 0ð 0ð 0r(   r÷  c                   ó   — e Zd Zd„ ZdS )ú;TestJitClassOverloads.test_hash_eq_ne.<locals>.HashEqNeTestc                 ó.   — | j         |j         z
  dz  dk    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©  rO  r(   c                 ó   — | |k    S r!   r.   r”   s     r&   Úpy_eqz4TestJitClassOverloads.test_hash_eq_ne.<locals>.py_eq¬  ó   € Ø˜’6ˆMr(   c                 ó   — | |k    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ð 
	0ð 
	0ð 
	0ñ 
	0ô 
	0ð 
	0ð	/ð 	/ð 	/ð 	/ð 	/˜:ñ 	/ô 	/ð 	/ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð
ð 
ð 
ˆõ "+Ô!2Ø˜Ð&¨°¨ñ"
ô "
ð 	ñ 	ÑˆH�gð !(Ð?�˜Ð-?ˆIØ!˜	 'Ñ*Ô*ˆIØ�i Ñ&Ô&ˆGØ�i Ñ&Ô&ˆGå˜xÑ(Ô(ˆGà'ð @ð @�Ø× Ò   ¨7¨7°1©:¬:Ñ!6Ô!6¸¸B¹Ñ?Ô?Ð?Ð?à#ð ð ‘��1Ø× Ò Ø�G˜G˜G A™JœJ¨¨°©
¬
Ñ3Ô3Ø�H˜Q‘K”K 8 8¨A¡;¤;Ò.ñô ð ð × Ò Ø�G˜G˜G A™JœJ¨¨°©
¬
Ñ3Ô3Ø�H˜Q‘K”K 8 8¨A¡;¤;Ò.ñô ð ð ñð	ð 	r(   c                 ón  —  G d„ d¦  «        }|} t          dt          j        fg¦  «        |¦  «        } |d¦  «                             ¦   «         } |d¦  «                             ¦   «         } |d¦  «                             ¦   «         } |d¦  «                             ¦   «         }|                      ||¦  «         |                      ||¦  «         |                      t          |¦  «        t          |¦  «        ¦  «         |                      t          |¦  «        t          |¦  «        ¦  «         d S )Nc                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )úBTestJitClassOverloads.test_bool_fallback_len.<locals>.NoBoolHasLenc                 ó   — || _         d S 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�r(   c                 ó    — t          | ¦  «        S r!   r0  r@   s    r&   Úget_boolzKTestJitClassOverloads.test_bool_fallback_len.<locals>.NoBoolHasLen.get_boolë  ó   € Ý˜D‘z”zÐ!r(   N)r+   r,   r-   r'   rÜ  r  r.   r(   r&   ÚNoBoolHasLenr  ä  sA   € € € € € ðð ð ð ð  ð  ð"ð "ð "ð "ð "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Ô7¸ÑAÔAˆà"˜( 1™+œ+×.Ò.Ñ0Ô0ˆØ"˜( 1™+œ+×.Ò.Ñ0Ô0ˆØ*˜l¨1™oœo×6Ò6Ñ8Ô8ÐØ*˜l¨1™oœo×6Ò6Ñ8Ô8Ðð 	×Ò˜Ð*=Ñ>Ô>Ð>Ø×Ò˜Ð*=Ñ>Ô>Ð>ð 	×Ò�˜oÑ.Ô.µÐ5HÑ0IÔ0IÑJÔJÐJØ×Ò�˜oÑ.Ô.µÐ5HÑ0IÔ0IÑJÔJÐJÐJÐJr(   c                 óP  —  G d„ d¦  «        }|} t          g ¦  «        |¦  «        } |¦   «                              ¦   «         } |¦   «                              ¦   «         }|                      ||¦  «         |                      t          |¦  «        t          |¦  «        ¦  «         d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )úETestJitClassOverloads.test_bool_fallback_default.<locals>.NoBoolNoLenc                 ó   — d S r!   r.   r@   s    r&   r'   zNTestJitClassOverloads.test_bool_fallback_default.<locals>.NoBoolNoLen.__init__  r`   r(   c                 ó    — t          | ¦  «        S r!   r0  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#    s2   € € € € € ðð ð ð"ð "ð "ð "ð "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þ  s½   € ð	"ð 	"ð 	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð ˆØ#•x ‘|”| HÑ-Ô-ˆà ˜™
œ
×+Ò+Ñ-Ô-ˆØ(˜L™NœN×3Ò3Ñ5Ô5Ðð 	×Ò˜Ð(9Ñ:Ô:Ð:ð 	×Ò�˜mÑ,Ô,­dÐ3DÑ.EÔ.EÑFÔFÐFÐFÐFr(   c                 ó<  —  G d„ d¦  «        } G d„ d¦  «        }dt           j        fg} t          |¦  «        |¦  «        } t          |¦  «        |¦  «        } |d¦  «        } |d¦  «        } |d¦  «        } |d¦  «        }	|                      ||k    |	|k    ¦  «         |                      ||k    |	|k    ¦  «         |                      ||k     |	|k     ¦  «         |                      ||k    |	|k    ¦  «         |                      ||k    |	|k    ¦  «         d S )Nc                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )úHTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefinedc                 ó   — || _         d S r!   rS  rT  s     r&   r'   zQTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefined.__init__  r^  r(   c                 ó"   — | j         |j         k    S r!   rS  ræ  s     r&   rç  zOTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefined.__eq__  rè  r(   c                 ó"   — | j         |j         k    S r!   rS  ræ  s     r&   r	  zOTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefined.__le__  rè  r(   c                 ó"   — | j         |j         k     S r!   rS  ræ  s     r&   r  zOTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefined.__lt__   r  r(   c                 ó"   — | j         |j         k    S r!   rS  ræ  s     r&   r  zOTestJitClassOverloads.test_operator_reflection.<locals>.OperatorsDefined.__ge__#  rè  r(   c                 ó"   — | j         |j         k    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,    sn   € € € € € ðð ð ð)ð )ð )ð)ð )ð )ð(ð (ð (ð)ð )ð )ð(ð (ð (ð (ð (r(   r3  c                   ó   — e Zd Zd„ ZdS )úJTestJitClassOverloads.test_operator_reflection.<locals>.NoOperatorsDefinedc                 ó   — || _         d S r!   rS  rT  s     r&   r'   zSTestJitClassOverloads.test_operator_reflection.<locals>.NoOperatorsDefined.__init__*  r^  r(   Nr*   r.   r(   r&   ÚNoOperatorsDefinedr5  )  ó#   € € € € € ðð ð ð ð r(   r7  r"   r¦   r¨   )r   r	   r   rK   )
r%   r3  r7  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Ð"Ð#ˆØ,�h t™nœnÐ-=Ñ>Ô>ÐØ .¥¨¡¤Ð/AÑ BÔ BÐà)Ð)¨!Ñ,Ô,ˆØ/Ð/°Ñ2Ô2Ðà-Ð-¨aÑ0Ô0ˆØ3Ð3°AÑ6Ô6Ðà×ÒÐ+¨~Ò=Ø,°Ò?ñ	Aô 	Að 	Að 	×ÒÐ+¨~Ò=Ø,°Ò?ñ	Aô 	Að 	Að 	×ÒÐ+¨nÒ<Ø,¨Ò>ñ	@ô 	@ð 	@ð 	×ÒÐ+¨~Ò=Ø,°Ò?ñ	Aô 	Að 	Að 	×ÒÐ+¨nÒ<Ø,¨Ò>ñ	@ô 	@ð 	@ð 	@ð 	@r(   c           
      óê  —  G d„ d¦  «        } G d„ d¦  «        }d}t           j                             d¦  «         t           j                             |f¬¦  «        }t           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                             ||z  |	|z  ¦  «         t           j                             ||
z  |	|z  ¦  «         t           j                             ||z  ||z  ¦  «         t           j                             ||
z  ||z  ¦  «         t           j                             ||z  ||	z  ¦  «         t           j                             ||z  ||z  ¦  «         t           j                             |
|z  ||	z  ¦  «         t           j                             |
|z  ||z  ¦  «         ||
z  }||
z  }|	|z  }	||z  }t           j                             |j        |	j        ¦  «         t           j                             |j        |j        ¦  «         d S )
Nc                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ú;TestJitClassOverloads.test_matmul_operator.<locals>.ArrayAtc                 ó   — || _         d S r!   ©rŽ   ©r%   rl  s     r&   r'   zDTestJitClassOverloads.test_matmul_operator.<locals>.ArrayAt.__init__I  ó   € Ø �”��r(   c                 ó    — | j         |j         z  S r!   rD  ræ  s     r&   Ú
__matmul__zFTestJitClassOverloads.test_matmul_operator.<locals>.ArrayAt.__matmul__L  s   € Ø”x %¤)Ñ+Ð+r(   c                 ó    — |j         | j         z  S r!   rD  ræ  s     r&   Ú__rmatmul__zGTestJitClassOverloads.test_matmul_operator.<locals>.ArrayAt.__rmatmul__O  s   € Ø”y 4¤8Ñ+Ð+r(   c                 ó.   — | j         |j         z  | _         | S r!   rD  ræ  s     r&   Ú__imatmul__zGTestJitClassOverloads.test_matmul_operator.<locals>.ArrayAt.__imatmul__R  s   € Øœ8 e¤iÑ/�”Ø�r(   N)r+   r,   r-   r'   rH  rJ  rL  r.   r(   r&   ÚArrayAtrB  H  sP   € € € € € ð!ð !ð !ð,ð ,ð ,ð,ð ,ð ,ðð ð ð ð r(   rM  c                   ó   — e Zd Zd„ ZdS )ú=TestJitClassOverloads.test_matmul_operator.<locals>.ArrayNoAtc                 ó   — || _         d S r!   rD  rE  s     r&   r'   zFTestJitClassOverloads.test_matmul_operator.<locals>.ArrayNoAt.__init__W  rF  r(   Nr*   r.   r(   r&   Ú	ArrayNoAtrO  V  s#   € € € € € ð!ð !ð !ð !ð !r(   rQ  r¨   r   )ÚsizerŽ   r„  )r°   rD  Úseedr   r   rm  Úassert_allcloserŽ   )r%   rM  rQ  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  sa  € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð	!ð 	!ð 	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð ˆÝ
Œ	�Š�qÑÔÐÝŒi×Ò Q DÐÑ)Ô)ˆÝŒi×Ò Q¨ FÐÑ+Ô+ˆà�i ‘n”nˆØ�G˜C‘L”Lˆ	ØI�( 9°E½7À3À3ÀQÀ3¼<Ð3HÐIÑIÔIÈ#ÑNÔNˆØE� °µw¸s¸sÀ¸s´|Ð/DÐEÑEÔEÀcÑJÔJˆà�i ‘n”nˆØ�G˜C‘L”Lˆ	ØK�( 9°E½7À1À1À1ÀSÀSÀqÀSÀ5¼>Ð3JÐKÑKÔKÈCÑPÔPˆØG� °µw¸q¸q¸qÀÀÀ1À¸u´~Ð/FÐGÑGÔGÈÑLÔLˆõ 	Œ
×"Ò" 9¨{Ñ#:Ø#0°?Ñ#Bñ	Dô 	Dð 	Då
Œ
×"Ò" 9¨{Ñ#:Ø#0°?Ñ#Bñ	Dô 	Dð 	Då
Œ
×"Ò" 9¨{Ñ#:Ø#0°?Ñ#Bñ	Dô 	Dð 	Då
Œ
×"Ò" 9¨{Ñ#:Ø#0°?Ñ#Bñ	Dô 	Dð 	Dõ 	Œ
×"Ò" ;°Ñ#:Ø#2°]Ñ#Bñ	Dô 	Dð 	Då
Œ
×"Ò" ;°Ñ#:Ø#2°]Ñ#Bñ	Dô 	Dð 	Då
Œ
×"Ò" ;°Ñ#:Ø#2°]Ñ#Bñ	Dô 	Dð 	Då
Œ
×"Ò" ;°Ñ#:Ø#2°]Ñ#Bñ	Dô 	Dð 	Dð 	�[Ñ ˆ	Ø�[Ñ ˆ	Ø˜Ñ(ˆØ˜Ñ(ˆå
Œ
×"Ò" 9¤=°-Ô2CÑDÔDÐDÝ
Œ
×"Ò" 9¤=°-Ô2CÑDÔDÐDÐDÐ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 ]ž}dt          |¦  «        vr9|                      t          d|› d�¦  «        t          d|› d�¦  «        ¦  «         ŒL|                      t          t          d|› d�¦  «        ¦  «        t          t          d|› d�¦  «        ¦  «        ¦  «         ŒŸ�Œd S )Nc                   ó\   — 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dS )úRTestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefinedc                 ó   — || _         d S r!   rS  rT  s     r&   r'   z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__init__ˆ  r^  r(   c                 ó    — |j         | j         z   S r!   rS  ræ  s     r&   Ú__radd__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__radd__‹  ó   € Ø”w ¤Ñ'Ð'r(   c                 ó    — |j         | j         z
  S r!   rS  ræ  s     r&   Ú__rsub__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rsub__Ž  re  r(   c                 ó    — |j         | j         z  S r!   rS  ræ  s     r&   Ú__rmul__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rmul__‘  re  r(   c                 ó    — |j         | j         z  S r!   rS  ræ  s     r&   Ú__rtruediv__z_TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rtruediv__”  re  r(   c                 ó    — |j         | j         z  S r!   rS  ræ  s     r&   Ú__rfloordiv__z`TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rfloordiv__—  ó   € Ø”w $¤&Ñ(Ð(r(   c                 ó    — |j         | j         z  S r!   rS  ræ  s     r&   Ú__rmod__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rmod__š  re  r(   c                 ó    — |j         | j         z  S r!   rS  ræ  s     r&   Ú__rpow__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rpow__�  rn  r(   c                 ó    — |j         | j         z  S r!   rS  ræ  s     r&   Ú__rlshift__z^TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rlshift__   rn  r(   c                 ó    — |j         | j         z	  S r!   rS  ræ  s     r&   Ú__rrshift__z^TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rrshift__£  rn  r(   c                 ó    — |j         | j         z  S r!   rS  ræ  s     r&   Ú__rand__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rand__¦  re  r(   c                 ó    — |j         | j         z  S r!   rS  ræ  s     r&   Ú__rxor__z[TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__rxor__©  re  r(   c                 ó    — |j         | j         z  S r!   rS  ræ  s     r&   Ú__ror__zZTestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.OperatorsDefined.__ror__¬  re  r(   N)r+   r,   r-   r'   rd  rg  ri  rk  rm  rp  rr  rt  rv  rx  rz  r|  r.   r(   r&   r3  ra  ‡  s×   € € € € € ðð ð ð(ð (ð (ð(ð (ð (ð(ð (ð (ð(ð (ð (ð)ð )ð )ð(ð (ð (ð)ð )ð )ð)ð )ð )ð)ð )ð )ð(ð (ð (ð(ð (ð (ð(ð (ð (ð (ð (r(   r3  c                   ó   — e Zd Zd„ ZdS )úTTestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.NoOperatorsDefinedc                 ó   — || _         d S r!   rS  rT  s     r&   r'   z]TestJitClassOverloads.test_arithmetic_logical_reflection.<locals>.NoOperatorsDefined.__init__°  r^  r(   Nr*   r.   r(   r&   r7  r~  ¯  r8  r(   r7  )rØ  rÝ  rÛ  rÜ  rÞ  rÙ  rÚ  rà  rá  râ  rä  rã  )r¦   r©   )rœ  ç      @r   )rw  rœ  r€  )g      4@g      8Àrw  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%   r3  r7  Úfloat_opÚint_opÚ	test_typeÚtest_opÚ
test_valuerN   r9  r:  r;  r<  r=  r>  rÒ  s                   r&   Ú"test_arithmetic_logical_reflectionz8TestJitClassOverloads.test_arithmetic_logical_reflection†  sA  € ð&	(ð &	(ð &	(ð &	(ð &	(ñ &	(ô &	(ð &	(ðP	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 9Ð8Ð8ˆØ8�8Ð8˜TÐ8 4Ð8¨#Ð8¨sÐ8°CÐ8ˆõ �F˜FÐ#Ý�h Ð)Ý�S�S�q�SŒ\˜8Ý”˜,˜,˜,Ñ'Ô'­¬°/°/°/Ñ)BÔ)BÐCðEð/
ð 	ñ 	Ñ*ˆI�w 
ð ˜Ð#ˆDÝ"*Ð+;¸TÑ"BÔ"BÐÝ$,Ð-?ÀÑ$FÔ$FÐ!à-Ð-¨j¸¬mÑ<Ô<ˆNØ!3Ð!3°J¸q´MÑ!BÔ!BÐà1Ð1°*¸Q´-Ñ@Ô@ˆOØ"7Ð"7¸
À1¼Ñ"FÔ"FÐàð 
ð 
�Ø¥3 y¡>¤>Ð1Ð1Ø×$Ò$ÝÐF°2ÐFÐFÐFÑGÔGÝÐH°BÐHÐHÐHÑIÔIñô ð ð ð
 ×)Ò)Ý�dÐ#L¸Ð#LÐ#LÐ#LÑMÔMÑNÔNÝ�dÐ#N¸"Ð#NÐ#NÐ#NÑOÔOÑPÔPñô ð ð ñ
ð!	ð 	r(   c                 ó–   —  G d„ d¦  «        } t          g ¦  «        |¦  «        } |¦   «         }|                      ||k    ¦  «         d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )úGTestJitClassOverloads.test_implicit_hash_compiles.<locals>.ImplicitHashc                 ó   — d S r!   r.   r@   s    r&   r'   zPTestJitClassOverloads.test_implicit_hash_compiles.<locals>.ImplicitHash.__init__×  r`   r(   c                 ó   — dS )NFr.   ræ  s     r&   rç  zNTestJitClassOverloads.test_implicit_hash_compiles.<locals>.ImplicitHash.__eq__Ú  s   € Ø�ur(   N)r+   r,   r-   r'   rç  r.   r(   r&   ÚImplicitHashrŒ  Ö  s2   € € € € € ðð ð ðð ð ð ð r(   r�  )r   rÓ   )r%   r�  ÚjittedÚinstances       r&   Útest_implicit_hash_compilesz1TestJitClassOverloads.test_implicit_hash_compilesÒ  sk   € ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð •˜"‘”˜lÑ+Ô+ˆØ�6‘8”8ˆà×Ò˜ XÒ-Ñ.Ô.Ð.Ð.Ð.r(   c                 ó€  ‡— t          dt          j        fg¦  «         G ˆfd„d¦  «        ¦   «         Š ‰d¦  «        }| }|                      |‰¦  «         |                      |j        d¦  «         t          d„ ¦   «         } ||¦  «        }|                      |‰¦  «         |                      |j        d¦  «         d S )Nr"   c                   ó    •— e Zd Zd„ Zˆ fd„ZdS )úATestJitClassOverloads.test_invert_operator.<locals>.InvertWrapperc                 ó   — || _         d S 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 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�œÐ$Ð%Ñ	&Ô	&ð	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ñ 	.ô 	.ñ 
'Ô	&ð	.ð ˆm˜BÑÔˆà�Dˆ	Ø×Ò˜i¨Ñ7Ô7Ð7Ø×Ò˜œ cÑ*Ô*Ð*õ 
ð	ð 	ñ 
Œð	ð  �i ‘n”nˆØ×Ò˜k¨=Ñ9Ô9Ð9Ø×Ò˜œ¨Ñ,Ô,Ð,Ð,Ð,r(   r!   )r+   r,   r-   rß  rh  rü  r$  r'  rK  r]  r�  r©  rî  r  r   r)  r?  r   r^  r‰  r’  rž  r.   r(   r&   rÃ  rÃ  œ  s€  € € € € € ð,*ð ,*ð ,*ð ,*ð ,*ñ ,*ô ,*ð ,*ð\ ðð ñ „\ðð: ð4ð 4ñ „\ð4ðl1ð 1ð 1ð 1ð0<ð 0<ð 0<ðd($ð ($ð ($ðTa'ð a'ð a'ðFDDð DDð DDðLkHð kHð kHðZ:ð :ð :ðx)Kð )Kð )KðVGð Gð Gð./@ð /@ð /@ðb ð=Eð =Eñ Ôð=Eð~Jð Jð JðX/ð /ð /ð -ð -ð -ð -ð -r(   rÃ  Ú__main__)2rû   r   rT  rD  Ú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®     sz  ðØ €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ø €€€à #Ð #Ð #Ð #Ð #Ð #à Ð Ð Ð ð+ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +ð +à $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø *Ð *Ð *Ð *Ð *Ð *Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ 1Ð 1Ð 1Ð 1Ð 1Ð 1ðð ð ð ð �ñ ô ð ðð ð ð ð �ñ ô ð ðð ð ði2ð i2ð i2ð i2ð i2�8˜_ñ i2ô i2ð i2ðX#\-ð \-ð \-ð \-ð \-˜O¨Xñ \-ô \-ð \-ð~ ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr(   