§
    2@Äj3›  ã                   óf  — 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mZ d dl	Z
d dl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mZ d dlm Z! d dl"Z"e!dz
  Z#	 d dl$Z$n# e%$ r dZ$Y nw xY w	 d dl&Z&n# e%$ r dZ&Y nw xY w ej'        ¦   «         dk    Z(d„ Z)d„ Z*d„ Z+d5d„Z,d6d„Z-d7d„Z.d7d„Z/d8d„Z0 G d„ de¦  «        Z1 G d„ de1¦  «        Z2 G d„ de1¦  «        Z3 G d „ d!e3¦  «        Z4 G d"„ d#e¦  «        Z5 G d$„ d%e¦  «        Z6 G d&„ d'e"j        ¦  «        Z7 G d(„ d)e"j        ¦  «        Z8ed9d+„¦   «         Z9ed8d,„¦   «         Z:ed-„ ¦   «         Z;ee;fd.„¦   «         Z<d/„ Z= G d0„ d1ee"j        ¦  «        Z> G d2„ d3e"j        ¦  «        Z?e@d4k    r e"jA        ¦   «          dS dS ):é    N)Úchain)ÚStringIO)ÚnjitÚjitÚtypeofÚ	vectorize)ÚtypesÚerrors)Ú_dispatcher)ÚTestCaseÚcaptured_stdout)Úas_dtype)Ú
Dispatcher)Úoverload)Úneeds_lapackÚSerialMixin)Ú_TIMEOUTg      N@Úarmv7lc                 ó   — | S ©N© ©Úxs    úLC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_dispatcher.pyÚdummyr   &   s   € Ø€Hó    c                 ó   — | |z   S r   r   ©r   Úys     r   Úaddr    *   s   € Øˆq‰5€Lr   c                 ó   — | |z
  |z   S r   r   ©r   r   Úzs      r   Úaddsubr$   .   ó   € Øˆq‰5�1‰9Ðr   é   é   c                 ó   — | |z
  |z   S r   r   r"   s      r   Úaddsub_defaultsr)   2   r%   r   c                 ó   — | ||fS r   r   r"   s      r   Ústar_defaultsr+   6   s   € Øˆa�ˆ7€Nr   é   c                 óH   — t          | t          j        ¦  «        rd„ }nd„ }|S )Nc                 ó   — | |z   S r   r   r   s     r   Úimplzgenerated_usecase.<locals>.impl<   ó   € Ø�q‘5ˆLr   c                 ó   — | |z
  S r   r   r   s     r   r/   zgenerated_usecase.<locals>.impl?   r0   r   ©Ú
isinstancer	   ÚComplex©r   r   r/   s      r   Úgenerated_usecaser6   :   s>   € Ý�!•U”]Ñ#Ô#ð ð	ð 	ð 	ð 	ð	ð 	ð 	à€Kr   c                 óJ   — t          | t          j        ¦  «        rd„ }ndd„}|S )Nc                 ó   — | S r   r   r   s    r   r/   z#bad_generated_usecase.<locals>.implF   ó   € ØˆHr   é   c                 ó   — | |z
  S r   r   r   s     r   r/   z#bad_generated_usecase.<locals>.implI   r0   r   )r:   r2   r5   s      r   Úbad_generated_usecaser<   D   sC   € Ý�!•U”]Ñ#Ô#ð ð	ð 	ð 	ð 	ð	ð 	ð 	ð 	à€Kr   c                 óT  ‡— t          |t          j        j        t          j        j        f¦  «        rt          j        d„ | |fD ¦   «         Ž ŠnUt          |t          j        t          j        f¦  «        rt          |¦  «        Šnt          dt          |¦  «        z  ¦  «        ‚dˆfd„	}|S )Nc              3   óR   K  — | ]"}t          j        |j        j        ¦  «        V — Œ#d S r   )ÚnpÚdtypeÚname)Ú.0Úarys     r   ú	<genexpr>z*dtype_generated_usecase.<locals>.<genexpr>P   sD   è è € ð %6ð %6Ø'*õ &(¤X¨c¬i¬nÑ%=Ô%=ð %6ð %6ð %6ð %6ð %6ð %6r   zUnhandled Type %sc                 ó:   •— t          j        | j        ‰¬¦  «        S ©N©r@   )r?   ÚonesÚshape)ÚaÚbr@   Ú	out_dtypes      €r   Ú_fnz$dtype_generated_usecase.<locals>._fnW   s   ø€ ÝŒw�q”w iÐ0Ñ0Ô0Ð0r   r   )r3   r	   ÚmiscÚNoneTypeÚOmittedr?   Úresult_typeÚDTypeÚNumberClassr   Ú	TypeErrorÚtype)rJ   rK   r@   rM   rL   s       @r   Údtype_generated_usecaserV   N   sº   ø€ Ý�%�%œ*Ô-­u¬zÔ/AÐBÑCÔCð ;Ý”Nð %6ð %6Ø/0°!¨fð%6ñ %6ô %6ð 7ˆ	ˆ	å	�E�EœK­Ô):Ð;Ñ	<Ô	<ð ;Ý˜U‘O”Oˆ	ˆ	åÐ+­d°5©k¬kÑ9Ñ:Ô:Ð:ð1ð 1ð 1ð 1ð 1ð 1ð €Jr   c                   ó,   — e Zd Z ed¬¦  «        Zd„ ZdS )ÚBaseTestT©Únopythonc                 óR   ‡ ‡‡— ˆˆˆ fd„} t          di ‰ j        ¤Ž‰¦  «        Š‰|fS )Nc                  óT   •—  ‰| i |¤Ž} ‰| i |¤Ž}‰                      ||¦  «         d S r   )ÚassertPreciseEqual)ÚargsÚkwargsÚexpectedÚresultÚfÚpyfuncÚselfs       €€€r   Úcheckz$BaseTest.compile_func.<locals>.checkb   sG   ø€ Ø�v˜tÐ. vÐ.Ð.ˆHØ�Q˜Ð' Ð'Ð'ˆFØ×#Ò# F¨HÑ5Ô5Ð5Ð5Ð5r   r   )r   Újit_args)rd   rc   re   rb   s   `` @r   Úcompile_funczBaseTest.compile_funca   sR   øøø€ ð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð !�CÐ Ð �$”-Ð Ð  Ñ(Ô(ˆØ�%ˆxˆr   N)Ú__name__Ú
__module__Ú__qualname__Údictrf   rg   r   r   r   rX   rX   ]   s5   € € € € € àˆt˜TÐ"Ñ"Ô"€Hðð ð ð ð r   rX   c                   ó*  — 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„ Ze ej        ed¦  «        d„ ¦   «         ¦   «         Z ej        ed¦  «        d„ ¦   «         Ze ej        ed¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ ZdS )ÚTestDispatcherc                 óâ   — t           d„ ¦   «         }t           d„ ¦   «         }|                      ||k    d¦  «         |                      ||k    d¦  «         |                      |d k    d¦  «         d S )Nc                 ó   — | S r   r   r   s    r   Úfooz)TestDispatcher.test_equality.<locals>.foom   ó   € àˆHr   c                 ó   — | S r   r   r   s    r   Úbarz)TestDispatcher.test_equality.<locals>.barq   rq   r   TF©r   ÚassertEqual)rd   rp   rs   s      r   Útest_equalityzTestDispatcher.test_equalityl   sŒ   € Ý	ð	ð 	ñ 
Œð	õ 
ð	ð 	ñ 
Œð	ð 	×Ò˜ š TÑ*Ô*Ð*Ø×Ò˜ š UÑ+Ô+Ð+Ø×Ò˜ š eÑ,Ô,Ð,Ð,Ð,r   c                 óÆ   — t           d„ ¦   «         } |d¦  «         |j                             ¦   «         \  }|                      |j        j        |j        j        ¦  «         d S )Nc                 ó   — | S r   r   r   s    r   rp   z+TestDispatcher.test_dyn_pyfunc.<locals>.foo}   rq   r   é   )r   Ú	overloadsÚvaluesru   Úentry_pointri   Úpy_func)rd   rp   Úcrs      r   Útest_dyn_pyfunczTestDispatcher.test_dyn_pyfunc|   se   € Ý	ð	ð 	ñ 
Œð	ð 	ˆˆA‰ŒˆØŒ}×#Ò#Ñ%Ô%‰ˆà×Ò˜œÔ2°C´KÔ4JÑKÔKÐKÐKÐKr   c                 ó:   — t           d„ ¦   «         } |¦   «          d S )Nc                  ó   — dS ©Nry   r   r   r   r   rp   z,TestDispatcher.test_no_argument.<locals>.foo‡   s   € à�1r   ©r   ©rd   rp   s     r   Útest_no_argumentzTestDispatcher.test_no_argument†   s,   € Ý	ð	ð 	ñ 
Œð	ð 	ˆ‰Œˆˆˆr   c                 ó&  —  t          d¬¦  «        t          ¦  «        }|                       |dd¦  «        t          dd¦  «        ¦  «         |                       |dd¦  «        t          dd¦  «        ¦  «         |                       |dd¦  «        t          dd¦  «        ¦  «         |                       |dd¦  «        t          dd¦  «        ¦  «          t          d	d¬¦  «        t          ¦  «        }|                       |dd¦  «        t          dd¦  «        ¦  «         |                       |dd¦  «        t          d
d¦  «        ¦  «         |                      t          ¦  «        5   |dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTrY   é{   iÈ  gš™™™™™(@gÍÌÌÌÌÌF@y        ÍÌÌÌÌÌF@l    F: z(i4, i4)é   é-   )r   r    r]   ÚassertRaisesrT   )rd   Úc_adds     r   Útest_coerce_input_typesz&TestDispatcher.test_coerce_input_typesŽ   sÂ  € ð #•˜TÐ"Ñ"Ô"¥3Ñ'Ô'ˆØ×Ò   c¨3¡¤µ°S¸#±´Ñ?Ô?Ð?Ø×Ò   d¨DÑ 1Ô 1µ3°t¸T±?´?ÑCÔCÐCØ×Ò   d¨EÑ 2Ô 2µC¸¸eÑ4DÔ4DÑEÔEÐEØ×Ò   k°3Ñ 7Ô 7½¸[È#Ñ9NÔ9NÑOÔOÐOð /•�J¨Ð.Ñ.Ô.­sÑ3Ô3ˆØ×Ò   c¨3¡¤µ°S¸#±´Ñ?Ô?Ð?à×Ò   d¨DÑ 1Ô 1µ3°r¸2±;´;Ñ?Ô?Ð?Ø×Ò�yÑ)Ô)ð 	ð 	àˆE�$˜ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Å,FÆF
ÆF
c                 óˆ  — t           d„ ¦   «         }d}d}|                       |||¦  «        ||z   ¦  «         |                      t          |j        ¦  «        d¦  «         |                       |||¦  «        ||z   ¦  «         |                      t          |j        ¦  «        d¦  «         |                       |||¦  «        ||z   ¦  «         |                      t          |j        ¦  «        d¦  «         |                       |dd¦  «        ||z   ¦  «         |                      t          |j        ¦  «        dd¦  «         dS )	z8Test compiling new version in an ambiguous case
        c                 ó   — | |z   S r   r   ©rJ   rK   s     r   rp   z6TestDispatcher.test_ambiguous_new_version.<locals>.foo£   ó   € à�q‘5ˆLr   ry   ç      ø?r&   r'   é   zdidn't compile a new versionN)r   ÚassertAlmostEqualru   Úlenrz   )rd   rp   ÚINTÚFLTs       r   Útest_ambiguous_new_versionz)TestDispatcher.test_ambiguous_new_version    sP  € õ 
ð	ð 	ñ 
Œð	ð ˆØˆØ×Ò˜s˜s 3¨™}œ}¨c°C©iÑ8Ô8Ð8Ø×Ò�˜Sœ]Ñ+Ô+¨QÑ/Ô/Ð/Ø×Ò˜s˜s 3¨™}œ}¨c°C©iÑ8Ô8Ð8Ø×Ò�˜Sœ]Ñ+Ô+¨QÑ/Ô/Ð/Ø×Ò˜s˜s 3¨™}œ}¨c°C©iÑ8Ô8Ð8Ø×Ò�˜Sœ]Ñ+Ô+¨QÑ/Ô/Ð/ð 	×Ò˜s˜s 1 a™yœy¨#°©)Ñ4Ô4Ð4Ø×Ò�˜Sœ]Ñ+Ô+¨Qð 1:ñ 	;ô 	;ð 	;ð 	;ð 	;r   c                 ó  ‡ ‡‡‡— g Št           d„ ¦   «         Šˆˆˆ fd„Šˆfd„t          d¦  «        D ¦   «         }|D ]}|                     ¦   «          Œ|D ]}|                     ¦   «          Œ‰                      ‰¦  «         dS )zz
        Test that (lazy) compiling from several threads at once doesn't
        produce errors (see issue #908).
        c                 ó   — | dz   S r‚   r   r   s    r   rp   z%TestDispatcher.test_lock.<locals>.foo¼   r�   r   c                  ó˜   •— 	 ‰                       ‰d¦  «        d¦  «         d S # t          $ r}  ‰j        | ¦  «         Y d } ~ d S d } ~ ww xY w©Nry   r&   )ru   Ú	ExceptionÚappend)Úer
   rp   rd   s    €€€r   Úwrapperz)TestDispatcher.test_lock.<locals>.wrapperÀ   so   ø€ ð!Ø× Ò    Q¡¤¨Ñ+Ô+Ð+Ð+Ð+øÝð !ð !ð !Ø�”˜aÑ Ô Ð Ð Ð Ð Ð Ð Ð øøøøð!øøøs   ƒ$ ¤
A	®AÁA	c                 ó:   •— g | ]}t          j        ‰¬ ¦  «        ‘ŒS ))Útarget)Ú	threadingÚThread)rB   ÚirŸ   s     €r   ú
<listcomp>z,TestDispatcher.test_lock.<locals>.<listcomp>Æ   s'   ø€ ÐGÐGÐG¸•9Ô#¨7Ð3Ñ3Ô3ÐGÐGÐGr   é   N)r   ÚrangeÚstartÚjoinÚassertFalse)rd   ÚthreadsÚtr
   rp   rŸ   s   `  @@@r   Ú	test_lockzTestDispatcher.test_lockµ   sÁ   øøøø€ ð
 ˆå	ð	ð 	ñ 
Œð	ð	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð HÐGÐGÐG½UÀ2¹Y¼YÐGÑGÔGˆØð 	ð 	ˆAØ�GŠG‰IŒIˆIˆIØð 	ð 	ˆAØ�FŠF‰HŒHˆHˆHØ×Ò˜Ñ Ô Ð Ð Ð r   c                 ó†  —  t          d¦  «        t          ¦  «        }|                       |dd¦  «        d¦  «         |                      t	          |j        ¦  «        d|j        ¦  «          t          ddg¦  «        t          ¦  «        }|                       |dd¦  «        d¦  «         |                       |dd¦  «        d¦  «         |                       |t          j        d¦  «        d¦  «        d	¦  «         |                      t          ¦  «        5 } |d
d
¦  «         d d d ¦  «         n# 1 swxY w Y   |  
                    dt          |j        ¦  «        ¦  «         |                      t	          |j        ¦  «        d|j        ¦  «          t          ddg¦  «        t          ¦  «        }|                       |t          j        d¦  «        t          j        d¦  «        ¦  «        d¦  «         |                       |dd¦  «        d¦  «          t          g d¢¦  «        t          ¦  «        }|                      t          ¦  «        5 } |dd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         |                      dt          |j        ¦  «        ¦  «         d S )Nú(int64,int64)r‘   ç      @r'   ry   z(float64,float64)r&   g      @ç      @ù              ð?zNo matching definitionz(float32,float32)g      `>ç      ð?g     ð?)z(float32,float64)z(float64,float32)r¯   ç       @z†Ambiguous overloading for <function add [^>]*> \(float64, float64\):\n\(float32, float64\) -> float64\n\(float64, float32\) -> float64Úint64)r   r    r]   ru   r”   rz   r?   Úint32rŠ   rT   ÚassertInÚstrÚ	exceptionÚfloat32ÚassertRegexÚassertNotIn©rd   rb   Úcms      r   Útest_explicit_signaturesz'TestDispatcher.test_explicit_signaturesÍ   s	  € Ø �C�Ñ Ô ¥Ñ%Ô%ˆà×Ò   # s¡¤¨QÑ/Ô/Ð/Ø×Ò�˜Qœ[Ñ)Ô)¨1¨a¬kÑ:Ô:Ð:Ø7�C�Ð"5Ð6Ñ7Ô7½Ñ<Ô<ˆà×Ò   ! Q¡¤¨Ñ+Ô+Ð+Ø×Ò   # s¡¤¨SÑ1Ô1Ð1à×Ò  ¥"¤(¨1¡+¤+¨sÑ 3Ô 3°SÑ9Ô9Ð9à×Ò�yÑ)Ô)ð 	¨RØˆAˆb�"‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ.µ°B´LÑ0AÔ0AÑBÔBÐBØ×Ò�˜Qœ[Ñ)Ô)¨1¨a¬kÑ:Ô:Ð:à;�CÐ$Ð&9Ð:Ñ;Ô;½CÑ@Ô@ˆØ×Ò  ¥"¤*¨Q¡-¤-µ´¸FÑ1CÔ1CÑ DÔ DÀcÑJÔJÐJØ×Ò   ! V¡¤Ð.@ÑAÔAÐAð#�Cð "ð "ð "ñ #ô #å#&ñ(ô (ˆð ×Ò�yÑ)Ô)ð 	¨RØˆAˆc�3‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×ÒÝ�”ÑÔð/ñ	
ô 	
ð 	
ð 	×Ò˜¥# b¤lÑ"3Ô"3Ñ4Ô4Ð4Ð4Ð4s$   ÄD0Ä0D4Ä7D4ÉI&É&I*É-I*c                 ó  — d}|                       t          ¦  «        5 } t          d¦  «        t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |dz  t          |j        ¦  «        ¦  «         |                       t          ¦  «        5 } t          d¦  «        t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |dz  t          |j        ¦  «        ¦  «         |                       t          ¦  «        5 } t          d¦  «        t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |dz  t          |j        ¦  «        ¦  «          t          dd¬	¦  «        t          ¦  «         |                       t          ¦  «        5 } t          dd¬	¦  «        t          ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |dz  t          |j        ¦  «        ¦  «         d S )
NzKSignature mismatch: %d argument types given, but function takes 2 argumentsz()r   z(intc,)ry   z(intc,intc,intc)r'   T©Úforceobj)rŠ   rT   r   r    r·   r¸   r¹   )rd   Útmplr¾   s      r   Útest_signature_mismatchz&TestDispatcher.test_signature_mismatchó   s«  € ð$ˆà×Ò�yÑ)Ô)ð 	¨RØ�C�‰IŒI•c‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�d˜Q‘h¥ B¤LÑ 1Ô 1Ñ2Ô2Ð2Ø×Ò�yÑ)Ô)ð 	 ¨RØ�C�	‰NŒN�3ÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 à�Š�d˜Q‘h¥ B¤LÑ 1Ô 1Ñ2Ô2Ð2Ø×Ò�yÑ)Ô)ð 	)¨RØ#�CÐ"Ñ#Ô#¥CÑ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)à�Š�d˜Q‘h¥ B¤LÑ 1Ô 1Ñ2Ô2Ð2à �ˆD˜4Ð Ñ Ô ¥Ñ%Ô%Ð%Ø×Ò�yÑ)Ô)ð 	/¨RØ)�C�	 DÐ)Ñ)Ô)­#Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/à�Š�d˜Q‘h¥ B¤LÑ 1Ô 1Ñ2Ô2Ð2Ð2Ð2sG   �AÁAÁAÂCÃCÃCÄD;Ä;D?ÅD?Æ* GÇGÇGc                 ó  —  t          d¦  «        t          ¦  «        }|                      t          ¦  «        5 } |dd¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d S )Nz(intc,intc)r²   zBNo matching definition for argument type(s) complex128, complex128)r   r    rŠ   rT   ru   r¸   r¹   r½   s      r   Útest_matching_error_messagez*TestDispatcher.test_matching_error_message  sÁ   € Ø�C�ÑÔ�sÑ#Ô#ˆØ×Ò�yÑ)Ô)ð 	¨RØˆAˆb�"‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜Rœ\Ñ*Ô*ð2ñ	3ô 	3ð 	3ð 	3ð 	3s   ¸AÁAÁAc                 ó¦  — t           d„ ¦   «         }|                     d¦  «         |                     ¦   «          |                      t          ¦  «        5 }|                     d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         |                      t          |j	        ¦  «        d¦  «         d S )Nc                 ó   — | S r   r   ©rJ   s    r   rp   z5TestDispatcher.test_disabled_compilation.<locals>.foo  rq   r   ú
(float32,)ú(int32,)úcompilation disabledry   )
r   ÚcompileÚdisable_compilerŠ   ÚRuntimeErrorru   r¸   r¹   r”   Ú
signatures©rd   rp   Úraisess      r   Útest_disabled_compilationz(TestDispatcher.test_disabled_compilation  s  € Ý	ð	ð 	ñ 
Œð	ð 	�Š�LÑ!Ô!Ð!Ø×ÒÑÔÐØ×Ò�|Ñ,Ô,ð 	$°Ø�KŠK˜
Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$à×Ò�˜VÔ-Ñ.Ô.Ð0FÑGÔGÐGØ×Ò�˜Sœ^Ñ,Ô,¨aÑ0Ô0Ð0Ð0Ð0s   ÁA6Á6A:Á=A:c                 óh  — t          ddg¦  «        d„ ¦   «         }|                      t          ¦  «        5 }|                     d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         |                      t          |j        ¦  «        d¦  «         d S )NrÊ   rË   c                 ó   — | S r   r   rÉ   s    r   rp   zBTestDispatcher.test_disabled_compilation_through_list.<locals>.foo  rq   r   z(complex64,)rÌ   r&   )	r   rŠ   rÏ   rÍ   ru   r¸   r¹   r”   rÐ   rÑ   s      r   Ú&test_disabled_compilation_through_listz5TestDispatcher.test_disabled_compilation_through_list  së   € Ý	ˆl˜JÐ'Ñ	(Ô	(ð	ð 	ñ 
)Ô	(ð	ð ×Ò�|Ñ,Ô,ð 	(°Ø�KŠK˜Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(à×Ò�˜VÔ-Ñ.Ô.Ð0FÑGÔGÐGØ×Ò�˜Sœ^Ñ,Ô,¨aÑ0Ô0Ð0Ð0Ð0s   µAÁAÁAc                 ó4  ‡— t          dg¦  «        d„ ¦   «         Št           ˆfd„¦   «         }|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   d}|                      t          |j        ¦  «        |¦  «         d S )Nz(intp,)c                 ó   — | S r   r   rÉ   s    r   rp   zATestDispatcher.test_disabled_compilation_nested_call.<locals>.foo$  rq   r   c                  óX   •—  ‰ d¦  «          ‰ t          j        d¦  «        ¦  «         d S r‚   )r?   rH   )rp   s   €r   rs   zATestDispatcher.test_disabled_compilation_nested_call.<locals>.bar(  s)   ø€ àˆC�‰FŒFˆFØˆC•”˜‘
”
‰OŒOˆOˆOˆOr   z?.*Invalid use of.*with parameters \(array\(float64, 1d, C\)\).*)r   rŠ   r
   ÚTypingErrorr»   r¸   r¹   )rd   rs   rÒ   Úmrp   s       @r   Ú%test_disabled_compilation_nested_callz4TestDispatcher.test_disabled_compilation_nested_call#  sñ   ø€ Ý	ˆiˆ[Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð ×Ò�vÔ1Ñ2Ô2ð 	°fØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð OˆØ×Ò�˜VÔ-Ñ.Ô.°Ñ2Ô2Ð2Ð2Ð2s   ÁA#Á#A'Á*A'c                 óR  ‡— d„ }d}|                       t          ¦  «        5 }t          j        g ¦  «         ddd¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «          t          d¬¦  «        |¦  «        Š|                       ‰g ¦  «        g ¦  «          t          d¬¦  «        |¦  «        }|                       t          ¦  «        5 } |g ¦  «         ddd¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         t          d¬¦  «        ˆfd„¦   «         }|                       |¦   «         g ¦  «         |j	         
                    ¦   «         \  }|                      t          |j        ¦  «        d¦  «         dS )	zÝ
        Failure in computing the fingerprint cannot affect a nopython=False
        function.  On the other hand, with nopython=True, a ValueError should
        be raised to report the failure with fingerprint.
        c                 ó   — | S r   r   r   s    r   rp   z4TestDispatcher.test_fingerprint_failure.<locals>.foo9  r9   r   z(cannot compute fingerprint of empty listNTrÁ   rY   c                  ób   •— t          ¦   «          g } t          d¦  «        D ]} ‰| ¦  «        } Œ| S )Né
   )Úobjectr§   )r   r¤   Úobjmode_foos     €r   rs   z4TestDispatcher.test_fingerprint_failure.<locals>.barK  s:   ø€ å‰HŒHˆHØˆAÝ˜2‘Y”Yð #ð #�Ø�K ‘N”N��ØˆHr   ry   )rŠ   Ú
ValueErrorr   Úcompute_fingerprintr·   r¸   r¹   r   ru   rz   r{   r”   Úlifted)rd   rp   ÚerrmsgrÒ   Ú
strict_foors   r~   râ   s          @r   Útest_fingerprint_failurez'TestDispatcher.test_fingerprint_failure3  s  ø€ ð	ð 	ð 	ð <ˆØ×Ò�zÑ*Ô*ð 	0¨fÝÔ+¨BÑ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0à�Š�f�c &Ô"2Ñ3Ô3Ñ4Ô4Ð4à(•c 4Ð(Ñ(Ô(¨Ñ-Ô-ˆØ×Ò˜˜ R™œ¨"Ñ-Ô-Ð-à'•S $Ð'Ñ'Ô'¨Ñ,Ô,ˆ
Ø×Ò�zÑ*Ô*ð 	¨fØˆJ�r‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�f�c &Ô"2Ñ3Ô3Ñ4Ô4Ð4õ 
�dÐ	Ñ	Ô	ð	ð 	ð 	ð 	ñ 
Ô	ð	ð 	×Ò˜˜™œ Ñ#Ô#Ð#àŒ}×#Ò#Ñ%Ô%‰ˆØ×Ò�˜RœY™œ¨Ñ+Ô+Ð+Ð+Ð+s#   ¡AÁAÁ	AÃ C8Ã8C<Ã?C<c                 óè  — t          d¬¦  «        d„ ¦   «         }|                       |d¦  «        d¦  «         t          j        }t          j                             ¦   «          t          |¦  «        }t          j        |¦  «        }|                      |dz   t          |¦  «        ¦  «         t          j	        |¦  «        }|                      |dz   t          |¦  «        ¦  «         |  
                    ||¦  «         t          |¦  «        }~~|                      |dz   t          |¦  «        ¦  «         t          j	        |¦  «        }|                      |t          |¦  «        ¦  «         t          j        |¦  «        }~t          j                             ¦   «          |                      |t          |¦  «        ¦  «         t          j	        |¦  «         |  
                     |¦   «         d¦  «         dS )z:
        Test serialization of Dispatcher objects
        TrY   c                 ó   — | dz   S r‚   r   r   s    r   rp   z.TestDispatcher.test_serialization.<locals>.foo\  r�   r   ry   r&   N)r   ru   r   Ú_memoÚ_recentÚclearr”   ÚpickleÚdumpsÚloadsÚassertIsÚidÚweakrefÚref)	rd   rp   ÚmemoÚ	memo_sizeÚserialized_fooÚfoo_rebuiltÚid_origÚnew_foorô   s	            r   Útest_serializationz!TestDispatcher.test_serializationX  s¾  € õ 
�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð 	×Ò˜˜˜Q™œ Ñ#Ô#Ð#õ ÔˆÝÔ× Ò Ñ"Ô"Ð"Ý˜‘I”Iˆ	õ  œ cÑ*Ô*ˆà×Ò˜ Q™­¨D©	¬	Ñ2Ô2Ð2õ ”l >Ñ2Ô2ˆØ×Ò˜ Q™­¨D©	¬	Ñ2Ô2Ð2à�Š�c˜;Ñ'Ô'Ð'õ �[‘/”/ˆØØØ×Ò˜ Q™­¨D©	¬	Ñ2Ô2Ð2Ý”,˜~Ñ.Ô.ˆØ×Ò˜¥" W¡+¤+Ñ.Ô.Ð.õ Œk˜'Ñ"Ô"ˆØÝÔ× Ò Ñ"Ô"Ð"Ø×Ò˜¥C¨¡I¤IÑ.Ô.Ð.õ 	Œ�^Ñ$Ô$Ð$Ø�Š�c�c‘e”e˜TÑ"Ô"Ð"Ð"Ð"r   zUnaligned loads unsupportedc                 ó¤  ‡	‡
‡‡— d„ Š	 t          d¬¦  «        ‰	¦  «        Š
dŠt          t          j        ‰¦  «        ¦  «        Št          j        }t          j        ¦   «         j         |¦   «         j        z  }t          j        ‰|z  dz   |¬¦  «        }|d d…                              t          j        ¦  «         	                    ‰‰¦  «        }|dd …                              t          j        ¦  «         	                    ‰‰¦  «        }|j
        }|j
        }ˆ	ˆ
ˆˆfd„} |d	|¦  «          |d
|¦  «          |d|¦  «          |d|¦  «         d S )Nc                 óB   — t           j                             | d¦  «        S r‚   ©r?   ÚlinalgÚmatrix_powerrÉ   s    r   rp   z:TestDispatcher.test_misaligned_array_dispatch.<locals>.foo‰  s   € Ý”9×)Ò)¨!¨QÑ/Ô/Ð/r   TrY   é@   ry   rG   éÿÿÿÿc                 óî   •— t          j        ‰t           j        ¬¦  «                             ‰‰¦  «        |d d …d d …f<    ‰|¦  «        } ‰|¦  «        }t           j                             ||¦  «         d S rF   ©r?   ÚarangeÚ
complex128ÚreshapeÚtestingÚassert_allclose©rA   rJ   r`   Úgotrp   ÚjitfooÚnÚrs       €€€€r   re   z<TestDispatcher.test_misaligned_array_dispatch.<locals>.check�  sq   ø€ Ý”i ­¬Ð7Ñ7Ô7×?Ò?ÀÀ1ÑEÔEˆAˆaˆaˆa���ˆd‰GØ�s˜1‘v”vˆHØ�&˜‘)”)ˆCÝŒJ×&Ò& x°Ñ5Ô5Ð5Ð5Ð5r   ÚC_contig_alignedÚF_contig_alignedÚC_contig_misalignedÚF_contig_misaligned©r   Úintr?   ÚsqrtÚint8r  Úitemsizer  Úviewr  ÚT©rd   ÚdtÚcountÚtmpr  r  r  r  re   rp   r  r  r  s            @@@@r   Útest_misaligned_array_dispatchz-TestDispatcher.test_misaligned_array_dispatch…  ss  øøøø€ ð	0ð 	0ð 	0ð $•˜dÐ#Ñ#Ô# CÑ(Ô(ˆàˆÝ•”˜‘
”
‰OŒOˆÝŒWˆÝ”‘”Ô(¨B¨B©D¬D¬MÑ9ˆåŒi˜˜E™	 A™¨RÐ0Ñ0Ô0ˆð ˜s ˜sœ8Ÿ=š=­¬Ñ7Ô7×?Ò?ÀÀ1ÑEÔEÐØ! ! " "œgŸlšl­2¬=Ñ9Ô9×AÒAÀ!ÀQÑGÔGÐØ+Ô-ÐØ1Ô3Ðð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	ˆÐ Ð"2Ñ3Ô3Ð3ØˆÐ Ð"2Ñ3Ô3Ð3ØˆÐ#Ð%8Ñ9Ô9Ð9ØˆÐ#Ð%8Ñ9Ô9Ð9Ð9Ð9r   c                 ó¶  ‡	‡
‡‡— d„ Š	 t          d¬¦  «        ‰	¦  «        Š
dŠt          t          j        ‰¦  «        ¦  «        Št          j        }t          j        ¦   «         j         |¦   «         j        z  }t          j        ‰|z  dz   |¬¦  «        }|d d…                              t          j        ¦  «         	                    ‰‰¦  «        }|dd …                              t          j        ¦  «         	                    ‰‰¦  «        }|j
        }|j
        }dˆ	ˆ
ˆˆfd	„	} |d
|d¬¦  «          |d|d¬¦  «          |d|d¬¦  «          |d|d¬¦  «         d S )Nc                 ó*   — t          j        | ¦  «        S r   )r?   ÚsumrÉ   s    r   rp   z?TestDispatcher.test_immutability_in_array_dispatch.<locals>.foo±  s   € Ý”6˜!‘9”9Ðr   TrY   r  ry   rG   r  Fc                 ó
  •— t          j        ‰t           j        ¬¦  «                             ‰‰¦  «        |d d …d d …f<   |rd|j        _         ‰|¦  «        } ‰|¦  «        }t           j                             ||¦  «         d S )NrG   F)r?   r  r  r  ÚflagsÚ	writeabler  r	  )	rA   rJ   Údisable_write_bitr`   r  rp   r  r  r  s	        €€€€r   re   zATestDispatcher.test_immutability_in_array_dispatch.<locals>.checkÅ  sƒ   ø€ Ý”i ­¬Ð7Ñ7Ô7×?Ò?ÀÀ1ÑEÔEˆAˆaˆaˆa���ˆd‰GØ ð *Ø$)�”Ô!Ø�s˜1‘v”vˆHØ�&˜‘)”)ˆCÝŒJ×&Ò& x°Ñ5Ô5Ð5Ð5Ð5r   r  )r%  r  r  r  )Fr  r  s            @@@@r   Ú#test_immutability_in_array_dispatchz2TestDispatcher.test_immutability_in_array_dispatch­  s¢  øøøø€ ð	ð 	ð 	ð $•˜dÐ#Ñ#Ô# CÑ(Ô(ˆàˆÝ•”˜‘
”
‰OŒOˆÝŒWˆÝ”‘”Ô(¨B¨B©D¬D¬MÑ9ˆåŒi˜˜E™	 A™¨RÐ0Ñ0Ô0ˆð ˜s ˜sœ8Ÿ=š=­¬Ñ7Ô7×?Ò?ÀÀ1ÑEÔEÐØ! ! " "œgŸlšl­2¬=Ñ9Ô9×AÒAÀ!ÀQÑGÔGÐØ+Ô-ÐØ1Ô3Ðð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	ˆÐ Ð"2ÀdÐKÑKÔKÐKØˆÐ Ð"2ÀdÐKÑKÔKÐKØˆÐ#Ð%8Ø $ð	&ñ 	&ô 	&ð 	&àˆÐ#Ð%8Ø $ð	&ñ 	&ô 	&ð 	&ð 	&ð 	&r   c                 óê  ‡ ‡
‡‡‡— d„ Š
 t          d¬¦  «        ‰
¦  «        Šˆ fd„}dŠdŠt          j        }t          j        ¦   «         j         |¦   «         j        z  }t          j        ‰|z  dz   |¬¦  «        }|d d	…                              t          j        ¦  «                             ‰‰‰‰‰‰¦  «        } ||d
d¦  «         |dd …                              t          j        ¦  «                             ‰‰‰‰‰‰¦  «        } ||d
d¦  «         |j        } ||dd¦  «         |j        } ||dd¦  «         ˆ
ˆˆˆfd„}	 |	d|¦  «          |	d|¦  «          |	d|¦  «          |	d|¦  «         d S )Nc           
      ób   — t           j                             | ddddd d …d d …f         d¦  «        S ©Nr   ry   rþ   rÉ   s    r   rp   zITestDispatcher.test_misaligned_high_dimension_array_dispatch.<locals>.fooÚ  s4   € Ý”9×)Ò)¨!¨A¨q°!°Q¸¸¸¸1¸1¸1Ð,<Ô*=¸qÑAÔAÐAr   TrY   c                 óä   •— ‰                      | j        j        |¦  «         |dk    r ‰                      | j        j        d¦  «         |dk    r"‰                      | j        j        d¦  «         d S d S )NÚCTÚF)ru   r#  ÚalignedÚc_contiguousÚf_contiguous)ÚarrÚlayoutr-  rd   s      €r   Úcheck_propertieszVTestDispatcher.test_misaligned_high_dimension_array_dispatch.<locals>.check_propertiesß  ss   ø€ Ø×Ò˜SœYÔ.°Ñ8Ô8Ð8Ø˜Š}ˆ}Ø× Ò  ¤Ô!7¸Ñ>Ô>Ð>Ø˜Š}ˆ}Ø× Ò  ¤Ô!7¸Ñ>Ô>Ð>Ð>Ð>ð ˆ}r   iÙ  r'   ry   rG   r  r+  Fr,  c                 óö   •— t          j        ‰t           j        ¬¦  «                             ‰‰‰‰‰‰¦  «        |d d …d d …f<    ‰|¦  «        } ‰|¦  «        }t           j                             ||¦  «         d S rF   r  r
  s       €€€€r   re   zKTestDispatcher.test_misaligned_high_dimension_array_dispatch.<locals>.checkû  s{   ø€ Ý”i ­¬Ð7Ñ7Ô7ß’˜˜1˜a  A qÑ)Ô)ð ˆaˆaˆa���ˆd‰Gà�s˜1‘v”vˆHØ�&˜‘)”)ˆCÝŒJ×&Ò& x°Ñ5Ô5Ð5Ð5Ð5r   r  r  r  r  )	r   r?   r  r  r  r  r  r  r  )rd   r2  r  r  r  r  r  r  r  re   rp   r  r  r  s   `         @@@@r   Ú-test_misaligned_high_dimension_array_dispatchz<TestDispatcher.test_misaligned_high_dimension_array_dispatchÖ  sî  øøøøø€ ð	Bð 	Bð 	Bð $•˜dÐ#Ñ#Ô# CÑ(Ô(ˆð	?ð 	?ð 	?ð 	?ð 	?ð ˆØˆÝŒWˆÝ”‘”Ô(¨B¨B©D¬D¬MÑ9ˆåŒi˜˜E™	 A™¨RÐ0Ñ0Ô0ˆð ˜s ˜sœ8Ÿ=š=­¬Ñ7Ô7ßŠG�A�q˜!˜Q  1Ñ%Ô%ð 	àÐÐ)¨3°Ñ5Ô5Ð5Ø! ! " "œgŸlšl­2¬=Ñ9Ô9ßŠG�A�q˜!˜Q  1Ñ%Ô%ð 	àÐÐ,¨c°5Ñ9Ô9Ð9Ø+Ô-ÐØÐÐ)¨3°Ñ5Ô5Ð5Ø1Ô3ÐØÐÐ,¨c°5Ñ9Ô9Ð9ð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	ˆÐ#Ð%8Ñ9Ô9Ð9ØˆÐ Ð"2Ñ3Ô3Ð3ØˆÐ Ð"2Ñ3Ô3Ð3ØˆÐ#Ð%8Ñ9Ô9Ð9Ð9Ð9r   c                 óZ  — d„ } t          d¬¦  «        |¦  «        } |t          j        d¦  «        ¦  «          |t          j        d¦  «        ¦  «          |t          j        d¦  «        ¦  «         |                      t          |j        ¦  «        d¦  «         t          j        ft          j        ft          j        fg}|                      |j        |¦  «          t          t          j        fgd¬¦  «        |¦  «        } |t          j        d¦  «        ¦  «          |t          j        d¦  «        ¦  «          |t          j        d¦  «        ¦  «         |                      t          |j        ¦  «        d¦  «         t          j        fg}|                      |j        |¦  «         d S )	Nc                 ó   — | S r   r   r   s    r   rp   z@TestDispatcher.test_dispatch_recompiles_for_scalars.<locals>.foo  r9   r   TrY   y      ð?       @rà   Fr'   ry   )	r   r?   r  r¶   Úbool_ru   r”   rÐ   r	   )rd   rp   r  Úexpected_sigss       r   Ú$test_dispatch_recompiles_for_scalarsz3TestDispatcher.test_dispatch_recompiles_for_scalars	  sŠ  € ð	ð 	ð 	ð $•˜dÐ#Ñ#Ô# CÑ(Ô(ˆØˆ�rŒ}˜VÑ$Ô$Ñ%Ô%Ð%Øˆ�rŒx˜‰|Œ|ÑÔÐØˆ�rŒx˜‰ŒÑÔÐØ×Ò�˜VÔ.Ñ/Ô/°Ñ3Ô3Ð3ÝÔ*Ð,­u¬{¨n½u¼{¸nÐMˆØ×Ò˜Ô*¨MÑ:Ô:Ð:ð ;••uÔ'Ð)Ð*°TÐ:Ñ:Ô:¸3Ñ?Ô?ˆØˆ�rŒ}˜VÑ$Ô$Ñ%Ô%Ð%Øˆ�rŒx˜‰|Œ|ÑÔÐØˆ�rŒx˜‰ŒÑÔÐØ×Ò�˜VÔ.Ñ/Ô/°Ñ3Ô3Ð3ÝÔ*Ð,Ð-ˆØ×Ò˜Ô*¨MÑ:Ô:Ð:Ð:Ð:r   c                 ó˜  — t          d¬¦  «        d„ ¦   «         }|                      t          ¦  «        5 }t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         |                      d|¦  «         |                      d|¦  «         |                      t          ¦  «        5 }t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                      d|¦  «         |                      t          t          ¦  «        › |¦  «         d S )NTrY   c                 ó   — | S r   r   r   s    r   rp   zITestDispatcher.test_dispatcher_raises_for_invalid_decoration.<locals>.foo(  rq   r   z8A jit decorator was called on an already jitted functionrp   z.py_funcz&The decorated object is not a function)r   rŠ   rT   r¸   r¹   r·   rX   rU   )rd   rp   rÒ   Úerr_msgs       r   Ú-test_dispatcher_raises_for_invalid_decorationz<TestDispatcher.test_dispatcher_raises_for_invalid_decoration%  s«  € õ 
�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð ×Ò�yÑ)Ô)ð 	¨VÝ�‰HŒHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å�fÔ&Ñ'Ô'ˆØ�ŠØFÈñ	Qô 	Qð 	Qà�Š�e˜WÑ%Ô%Ð%Ø�Š�j 'Ñ*Ô*Ð*à×Ò�yÑ)Ô)ð 	¨VÝ•‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å�fÔ&Ñ'Ô'ˆØ�ŠÐ>ÀÑHÔHÐHØ�Š��h™œÐ)¨7Ñ3Ô3Ð3Ð3Ð3s#   ´AÁAÁAÃC,Ã,C0Ã3C0N)rh   ri   rj   rv   r   r…   rŒ   r—   r­   r¿   rÄ   rÆ   rÓ   rÖ   rÜ   rè   rû   r   ÚunittestÚskipIfÚ
_is_armv7lr  r&  r4  r9  r=  r   r   r   rm   rm   j   s¥  € € € € € ð-ð -ð -ð Lð Lð Lðð ð ðð ð ð$;ð ;ð ;ð*!ð !ð !ð0$5ð $5ð $5ðL3ð 3ð 3ð$3ð 3ð 3ð
1ð 
1ð 
1ð1ð 1ð 1ð3ð 3ð 3ð #,ð #,ð #,ðJ+#ð +#ð +#ðZ Ø€X„_�ZÐ!>Ñ?Ô?ð$:ð $:ñ @Ô?ñ „\ð$:ðL €X„_�ZÐ!>Ñ?Ô?ð&&ð &&ñ @Ô?ð&&ðP Ø€X„_�ZÐ!>Ñ?Ô?ð/:ð /:ñ @Ô?ñ „\ð/:ðb;ð ;ð ;ð84ð 4ð 4ð 4ð 4r   rm   c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )ÚTestSignatureHandlingz<
    Test support for various parameter passing styles.
    c                 óL  — |                       t          ¦  «        \  }} |ddd¬¦  «          |ddd¦  «          |ddd¬¦  «         |                      t          |j        ¦  «        d¦  «         |                      t          ¦  «        5 } |dddd¬	¦  «         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¬¦  «         d
d
d
¦  «         n# 1 swxY w Y   |                      dt          |j	        ¦  «        ¦  «         d
S )z?
        Test passing named arguments to a dispatcher.
        r'   rà   r’   ©r#   r   r"   ry   r:   é   ©r   r#   Nú%too many arguments: expected 3, got 4z'not enough arguments: expected 3, got 0©r   zmissing argument 'z')
rg   r$   ru   r”   rz   rŠ   rT   r·   r¸   r¹   ©rd   rb   re   r¾   s       r   Útest_named_argsz%TestSignatureHandling.test_named_args@  sT  € ð ×$Ò$¥VÑ,Ô,‰ˆˆ5Øˆˆa�2˜ÐÑÔÐØˆˆa��B‰ŒˆØˆ��Q˜"ÐÑÔÐà×Ò�˜Qœ[Ñ)Ô)¨1Ñ-Ô-Ð-à×Ò�yÑ)Ô)ð 	¨RØˆAˆa��a˜1ÐÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ=Ý˜"œ,Ñ'Ô'ñ	)ô 	)ð 	)à×Ò�yÑ)Ô)ð 	¨RØˆA‰CŒCˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ?Ý˜"œ,Ñ'Ô'ñ	)ô 	)ð 	)à×Ò�yÑ)Ô)ð 	¨RØˆAˆa��aˆL‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ,­c°"´,Ñ.?Ô.?Ñ@Ô@Ð@Ð@Ð@s6   Â	B%Â%B)Â,B)Ã2D	Ä	DÄDÅE1Å1E5Å8E5c                 ót  — |                       t          ¦  «        \  }} |ddd¬¦  «          |ddd¦  «          |ddd¬¦  «          |dd¬¦  «          |dd¦  «          |dd¬¦  «          |d¦  «          |d¬¦  «         |                      t          ¦  «        5 } |ddd	d
¬¦  «         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dd¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         dS )z?
        Test omitting arguments with a default value.
        r'   rà   r’   rD  r"   ©r#   r   r   r:   rE  rF  NrG  z0not enough arguments: expected at least 1, got 0zmissing argument 'x')rg   r)   rŠ   rT   r·   r¸   r¹   rI  s       r   Útest_default_argsz'TestSignatureHandling.test_default_argsW  s  € ð ×$Ò$¥_Ñ5Ô5‰ˆˆ5Øˆˆa�2˜ÐÑÔÐØˆˆa��B‰ŒˆØˆ��Q˜"ÐÑÔÐàˆˆa�2ˆ‰ŒˆØˆˆa�‰ŒˆØˆ��Qˆ‰ŒˆØˆˆa‰ŒˆØˆ�ˆ
‰
Œ
ˆ
à×Ò�yÑ)Ô)ð 	¨RØˆAˆa��a˜1ÐÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ=Ý˜"œ,Ñ'Ô'ñ	)ô 	)ð 	)à×Ò�yÑ)Ô)ð 	¨RØˆA‰CŒCˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐHÝ˜"œ,Ñ'Ô'ñ	)ô 	)ð 	)à×Ò�yÑ)Ô)ð 	¨RØˆA��QˆK‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ,­c°"´,Ñ.?Ô.?Ñ@Ô@Ð@Ð@Ð@s6   ÂB:Â:B>ÃB>ÄDÄD"Ä%D"Å+FÆF	ÆF	c                 ó|  — |                       t          ¦  «        \  }} |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	d	¦  «         n# 1 swxY w Y   |                      d
t          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } |ddd¬¦  «         d	d	d	¦  «         n# 1 swxY w Y   |                      d
t          |j        ¦  «        ¦  «         |                      t          ¦  «        5 } |dd¬¦  «         d	d	d	¦  «         n# 1 swxY w Y   |                      d
t          |j        ¦  «        ¦  «         d	S )zJ
        Test a compiled function with starargs in the signature.
        r’   r,   r:   rE  é   r   r   rH  Nz!some keyword arguments unexpectedrL  )rg   r+   rŠ   rT   r·   r¸   r¹   rI  s       r   Útest_star_argsz$TestSignatureHandling.test_star_argsr  ss  € ð ×$Ò$¥]Ñ3Ô3‰ˆˆ5Øˆˆa‰ŒˆØˆˆa�‰ŒˆØˆˆa��A‰ŒˆØˆˆa��A�qÑÔÐØˆˆa��A�q˜!ÑÔÐØˆ�ˆ
‰
Œ
ˆ
Øˆ��Qˆ‰ŒˆØˆˆa�1ˆ‰ŒˆØ×Ò�yÑ)Ô)ð 	¨RØˆAˆa��aˆL‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ9½3¸r¼|Ñ;LÔ;LÑMÔMÐMØ×Ò�yÑ)Ô)ð 	¨RØˆAˆa��aˆL‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ9½3¸r¼|Ñ;LÔ;LÑMÔMÐMØ×Ò�yÑ)Ô)ð 	¨RØˆAˆa�1ˆI‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ9½3¸r¼|Ñ;LÔ;LÑMÔMÐMÐMÐMs6   ÂB:Â:B>ÃB>ÄD"Ä"D&Ä)D&Å/F	Æ	FÆFN)rh   ri   rj   Ú__doc__rJ  rM  rP  r   r   r   rB  rB  ;  sV   € € € € € ðð ðAð Að Að.Að Að Að6Nð Nð Nð Nð Nr   rB  c                   ó*   — e Zd ZdZ ed¬¦  «        ZdS )ÚTestSignatureHandlingObjectModez<
    Sams as TestSignatureHandling, but in object mode.
    TrÁ   N)rh   ri   rj   rQ  rk   rf   r   r   r   rS  rS  Š  s,   € € € € € ðð ð ˆt˜TÐ"Ñ"Ô"€H€H€Hr   rS  c                   ó¼   — e Zd Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zd„ Z	d	„ Z
d
„ Z ej        edu d¦  «         ej        edu d¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ ZdS )ÚTestDispatcherMethodsc                 ó2  ‡— dŠt           ˆfd„¦   «         }|                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         |                      t          |j        ¦  «        d¦  «         dŠ|                       |d¦  «        d¦  «         |                     ¦   «          |                      t          |j        ¦  «        d¦  «         |                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         d S )Nry   c                 ó   •— | ‰z   S r   r   ©r   Úclosures    €r   rp   z1TestDispatcherMethods.test_recompile.<locals>.foo—  ó   ø€ à�w‘;Ðr   r&   r‘   r°   r'   r±   )r   r]   ru   r”   rÐ   Ú	recompile©rd   rp   rY  s     @r   Útest_recompilez$TestDispatcherMethods.test_recompile”  s  ø€ Øˆå	ð	ð 	ð 	ð 	ñ 
Œð	à×Ò   A¡¤¨Ñ*Ô*Ð*Ø×Ò   C¡¤¨#Ñ.Ô.Ð.Ø×Ò�˜Sœ^Ñ,Ô,¨aÑ0Ô0Ð0ØˆØ×Ò   A¡¤¨Ñ*Ô*Ð*à�Š‰Œˆà×Ò�˜Sœ^Ñ,Ô,¨aÑ0Ô0Ð0Ø×Ò   A¡¤¨Ñ*Ô*Ð*Ø×Ò   C¡¤¨#Ñ.Ô.Ð.Ð.Ð.r   c                 ó¢  ‡— dŠt          d¦  «        ˆfd„¦   «         }|                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         dŠ|                       |d¦  «        d¦  «         |                     ¦   «          |                       |d¦  «        d¦  «         |                       |d¦  «        d¦  «         d S )Nry   zint32(int32)c                 ó   •— | ‰z   S r   r   rX  s    €r   rp   z<TestDispatcherMethods.test_recompile_signatures.<locals>.fooª  rZ  r   r&   r‘   r'   )r   r]   r[  r\  s     @r   Útest_recompile_signaturesz/TestDispatcherMethods.test_recompile_signatures¦  sâ   ø€ àˆå	ˆ^Ñ	Ô	ð	ð 	ð 	ð 	ñ 
Ô	ð	à×Ò   A¡¤¨Ñ*Ô*Ð*Ø×Ò   C¡¤¨!Ñ,Ô,Ð,ØˆØ×Ò   A¡¤¨Ñ*Ô*Ð*à�Š‰ŒˆØ×Ò   A¡¤¨Ñ*Ô*Ð*Ø×Ò   C¡¤¨!Ñ,Ô,Ð,Ð,Ð,r   c                 óŽ  — t           d„ ¦   «         } |dd¦  «          |dd¦  «          |dd¦  «         |                     ¦   «         }|                      t          |¦  «        d¦  «         |                     ¦   «         D ]D}|                      d|¦  «         |                      d|¦  «         |                      d|¦  «         ŒEd S )Nc                 ó   — | |z   S r   r   ©Úexplicit_arg1Úexplicit_arg2s     r   rp   z4TestDispatcherMethods.test_inspect_llvm.<locals>.foo¸  ó   € à  =Ñ0Ð0r   ry   r³   r'   rp   rd  re  )r   Úinspect_llvmru   r”   r{   r·   )rd   rp   ÚllvmsÚllvm_bcs       r   Útest_inspect_llvmz'TestDispatcherMethods.test_inspect_llvm¶  sÝ   € å	ð	1ð 	1ñ 
Œð	1ð 	ˆˆAˆq‰	Œ	ˆ	ØˆˆC�‰ŒˆØˆˆC�‰Œˆð × Ò Ñ"Ô"ˆØ×Ò�˜U™œ QÑ'Ô'Ð'ð —|’|‘~”~ð 	4ð 	4ˆGà�MŠM˜% Ñ)Ô)Ð)ð �MŠM˜/¨7Ñ3Ô3Ð3Ø�MŠM˜/¨7Ñ3Ô3Ð3Ð3ð	4ð 	4r   c                 ó8  — t           d„ ¦   «         } |dd¦  «          |dd¦  «          |dd¦  «         |                     ¦   «         }|                      t          |¦  «        d¦  «         |                     ¦   «         D ]}|                      d|v ¦  «         Œd S )Nc                 ó   — | |z   S r   r   rc  s     r   rp   z3TestDispatcherMethods.test_inspect_asm.<locals>.fooÐ  rf  r   ry   r³   r'   rp   )r   Úinspect_asmru   r”   r{   Ú
assertTrue)rd   rp   ÚasmsÚasms       r   Útest_inspect_asmz&TestDispatcherMethods.test_inspect_asmÎ  s³   € å	ð	1ð 	1ñ 
Œð	1ð 	ˆˆAˆq‰	Œ	ˆ	ØˆˆC�‰ŒˆØˆˆC�‰Œˆð �ŠÑ Ô ˆØ×Ò�˜T™œ AÑ&Ô&Ð&ð —;’;‘=”=ð 	*ð 	*ˆCà�OŠO˜E S˜LÑ)Ô)Ð)Ð)ð	*ð 	*r   Ú c                 ór  — |r#d                      t          |¦  «        |¦  «        }t                               dd¦  «        d         }t          |¦  «        }d                      |||¦  «        }|                      t          |¦  «        |¦  «         |                      t          |j        ¦  «        ¦  «         d S )Nz{}{}ú.ry   r   z^digraph "CFG for \'_ZN{}{}{})	Úformatr”   rh   Úsplitr»   r¸   rn  ÚcallableÚdisplay)rd   ÚcfgrŸ   Úmodule_nameÚ
module_lenÚprefixs         r   Ú_check_cfg_displayz(TestDispatcherMethods._check_cfg_displayâ  s©   € àð 	;Ø—m’m¥C¨¡L¤L°'Ñ:Ô:ˆGÝ—n’n S¨!Ñ,Ô,¨QÔ/ˆÝ˜Ñ%Ô%ˆ
Ø1×8Ò8¸Ø9CØ9DñFô Fˆð 	×Ò�˜S™œ 6Ñ*Ô*Ð*ð 	�Š� ¤Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.r   c                 óP  — t           d„ ¦   «         }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        } ||¦  «          ||¦  «          ||¦  «         |                     ¦   «         }|                      t          |¦  «        d¦  «         |                     ¦   «         \  }}}|                      t          |||g¦  «        t          t          d„ |||g¦  «        ¦  «        ¦  «         | 	                    ¦   «         D ]}	|  
                    |	¦  «         Œ|                      t          t          | 	                    ¦   «         ¦  «        ¦  «        d¦  «         |                     |j        d         ¬¦  «        }	|  
                    |	¦  «         d S )	Nc                 ó*   — |                       ¦   «         S r   ©r!  ©Ú	the_arrays    r   rp   z3TestDispatcherMethods.test_inspect_cfg.<locals>.fooó  ó   € à—=’=‘?”?Ð"r   ry   ©ry   ry   ©ry   ry   ry   r'   c                 ó"   — t          | ¦  «        fS r   )r   r   s    r   ú<lambda>z8TestDispatcherMethods.test_inspect_cfg.<locals>.<lambda>  s   € ­F°1©I¬I¨<€ r   r   ©Ú	signature)r   r?   rH   Úinspect_cfgru   r”   ÚkeysÚsetÚmapr{   r}  ÚlistrÐ   )
rd   rp   Úa1Úa2Úa3ÚcfgsÚs1Ús2Ús3ry  s
             r   Útest_inspect_cfgz&TestDispatcherMethods.test_inspect_cfgð  s‘  € õ 
ð	#ð 	#ñ 
Œð	#õ ŒW�Q‰ZŒZˆÝŒW�V‰_Œ_ˆÝŒW�YÑÔˆØˆˆB‰ŒˆØˆˆB‰ŒˆØˆˆB‰Œˆð �ŠÑ Ô ˆð 	×Ò�˜T™œ AÑ&Ô&Ð&ð —y’y‘{”{‰ˆˆR�Ø×Ò�˜b " b˜\Ñ*Ô*Ý�SÐ!7Ð!7¸"¸bÀ"¸ÑFÔFÑGÔGñ	Iô 	Ið 	Ið —;’;‘=”=ð 	)ð 	)ˆCØ×#Ò# CÑ(Ô(Ð(Ð(Ø×Ò��T $§+¢+¡-¤-Ñ0Ô0Ñ1Ô1°1Ñ5Ô5Ð5ð �oŠo¨¬°qÔ(9ˆoÑ:Ô:ˆØ×Ò Ñ$Ô$Ð$Ð$Ð$r   c                 óR  — t           d„ ¦   «         }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        } ||¦  «          ||¦  «          ||¦  «         |                     |j        d         d¬¦  «        }|                      |d¬	¦  «         d S )
Nc                 ó*   — |                       ¦   «         S r   r€  r�  s    r   rp   zGTestDispatcherMethods.test_inspect_cfg_with_python_wrapper.<locals>.foo  rƒ  r   ry   r„  r…  r   Úpython)r‰  Úshow_wrapperÚcpython)rŸ   )r   r?   rH   rŠ  rÐ   r}  )rd   rp   r�  r�  r‘  ry  s         r   Ú$test_inspect_cfg_with_python_wrapperz:TestDispatcherMethods.test_inspect_cfg_with_python_wrapper  s´   € õ 
ð	#ð 	#ñ 
Œð	#õ ŒW�Q‰ZŒZˆÝŒW�V‰_Œ_ˆÝŒW�YÑÔˆØˆˆB‰ŒˆØˆˆB‰ŒˆØˆˆB‰Œˆð �oŠo¨¬°qÔ(9Ø+3ð ñ 5ô 5ˆà×Ò ¨YÐÑ7Ô7Ð7Ð7Ð7r   c                 óx  — t           d„ ¦   «         } |dd¦  «         |                     t          ¦   «         ¦  «         t          |j        |j        d                  j        ¦  «        }t          ¦   «         5 }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   ||                     ¦   «         v sJ ‚d S )Nc                 ó   — | |z   S r   r   r�   s     r   rp   z5TestDispatcherMethods.test_inspect_types.<locals>.foo(  r�   r   ry   r&   r   )	r   Úinspect_typesr   r¸   rz   rÐ   Útype_annotationr   Úgetvalue)rd   rp   r`   Úouts       r   Útest_inspect_typesz(TestDispatcherMethods.test_inspect_types'  só   € Ý	ð	ð 	ñ 
Œð	ð 	ˆˆAˆq‰	Œ	ˆ	à×Ò�(™*œ*Ñ%Ô%Ð%õ �s”} S¤^°AÔ%6Ô7ÔGÑHÔHˆÝÑÔð 	  #Ø×ÒÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 à˜3Ÿ<š<™>œ>Ð)Ð)Ð)Ð)Ð)Ð)s   Á6BÂBÂBc                 ó€  — t           d„ ¦   «         } |d¦  «          |d¦  «         t          ¦   «         5 }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5 }|                     |j        d         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5 }|                     |j        d         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     ¦   «         |                     ¦   «         |                     ¦   «         z   ¦  «         d S )Nc                 ó   — | dz   S r‚   r   rÉ   s    r   rp   zDTestDispatcherMethods.test_inspect_types_with_signature.<locals>.foo7  r�   r   ry   r³   r   rˆ  )r   r   rŸ  rÐ   ru   r¡  )rd   rp   ÚtotalÚfirstÚseconds        r   Ú!test_inspect_types_with_signaturez7TestDispatcherMethods.test_inspect_types_with_signature6  sä  € Ý	ð	ð 	ñ 
Œð	ð 	ˆˆA‰ŒˆØˆˆC‰ŒˆåÑÔð 	  %Ø×ÒÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 õ ÑÔð 	; %Ø×Ò¨¬°qÔ(9ÐÑ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;õ ÑÔð 	; &Ø×Ò¨¬°qÔ(9ÐÑ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	×Ò˜ŸšÑ)Ô)¨5¯>ª>Ñ+;Ô+;¸f¿oºoÑ>OÔ>OÑ+OÑPÔPÐPÐPÐPs5   µAÁAÁAÁ/"BÂB!Â$B!Â6"C$Ã$C(Ã+C(Nz#please install the 'jinja2' packagez%please install the 'pygments' packagec                 óJ  — t           d„ ¦   «         } |dd¦  «         t          ¦   «         5  |                     d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |j                             ¦   «         D ]3\  }}d}|d         D ]}d|d         v rd}Œ|                      |¦  «         Œ4|                      t          ¦  «        5 }|                     t          ¦   «         d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   |  	                    d
t          |j        ¦  «        ¦  «         d S )Nc                 ó   — | |z   S r   r   r�   s     r   rp   z<TestDispatcherMethods.test_inspect_types_pretty.<locals>.fooL  r�   r   ry   r&   T)ÚprettyFÚpygments_linesÚspan)Úfiler¬  z$`file` must be None if `pretty=True`)r   r   rŸ  ÚannÚitemsrn  rŠ   rã   r   r·   r¸   r¹   )rd   rp   r°  ÚkÚvÚ
span_foundÚlinerÒ   s           r   Útest_inspect_types_prettyz/TestDispatcherMethods.test_inspect_types_prettyI  sÂ  € õ 
ð	ð 	ñ 
Œð	ð 	ˆˆAˆq‰	Œ	ˆ	õ ÑÔð 	1ð 	1Ø×#Ò#¨4Ð#Ñ0Ô0ˆCð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð ”G—M’M‘O”Oð 	(ð 	(‰DˆAˆqØˆJØÐ*Ô+ð &ð &�Ø˜T !œWÐ$Ð$Ø!%�JøØ�OŠO˜JÑ'Ô'Ð'Ð'ð ×Ò�zÑ*Ô*ð 	<¨fØ×Ò¥8¡:¤:°dÐÑ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	�ŠÐ<Ý˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-s#   «AÁAÁAÃ $C0Ã0C4Ã7C4c                 ó  ‡— t           d„ ¦   «         Š ‰d¦  «          ‰d¦  «         t          t          j        ˆfd„‰j        D ¦   «         ¦  «        ¦  «        }‰                     ¦   «         }|                      ||¦  «         d S )Nc                 ó   — | dz   S r‚   r   rÉ   s    r   rp   z;TestDispatcherMethods.test_get_annotation_info.<locals>.foof  r�   r   ry   gÍÌÌÌÌÌô?c              3   óf   •K  — | ]+}‰                      |¦  «                             ¦   «         V — Œ,d S r   )Úget_annotation_infor±  )rB   r¤   rp   s     €r   rD   zATestDispatcherMethods.test_get_annotation_info.<locals>.<genexpr>m  sY   øè è € ð ,Eð ,EØ01ð -0×,CÒ,CÀAÑ,FÔ,F×,LÒ,LÑ,NÔ,Nð ,Eð ,Eð ,Eð ,Eð ,Eð ,Er   )r   rk   r   Úfrom_iterablerÐ   rº  ru   )rd   r`   ra   rp   s      @r   Útest_get_annotation_infoz.TestDispatcherMethods.test_get_annotation_infoe  s¶   ø€ Ý	ð	ð 	ñ 
Œð	ð 	ˆˆA‰ŒˆØˆˆC‰Œˆå�Ô+ð ,Eð ,Eð ,Eð ,EØ58´^ð,Eñ ,Eô ,Eñ Eô Eñ Fô Fˆà×(Ò(Ñ*Ô*ˆØ×Ò˜ 6Ñ*Ô*Ð*Ð*Ð*r   c                 óÈ  — d„ }t          |¦  «        }t          j        dgg¦  «        }t          j        ddgddggd¬¦  «        }t          j        ddgddggd¬¦  «        } ||d	d
¦  «        } ||d	d
¦  «        }|                      d ||d
d
¦  «        ¦  «          ||d	d
¦  «        } ||d	d
¦  «        }	|                      ||¦  «         |                      ||	¦  «         dS )aO  
        This test an issue with the dispatcher when an array that is both
        C and F contiguous is supplied as the first signature.
        The dispatcher checks for F contiguous first but the compiler checks
        for C contiguous first. This results in an C contiguous code inserted
        as F contiguous function.
        c                 ó   — | ||f         S r   r   )ÚAr¤   Újs      r   rc   zKTestDispatcherMethods.test_issue_with_array_layout_conflict.<locals>.pyfuncz  s   € Ø�Q˜�T”7ˆNr   r³   g        r´   g      @r+  )Úorderr,  ry   r   N)r   r?   Úarrayru   )
rd   rc   ÚcfuncÚary_c_and_fÚary_cÚary_fÚexp_cÚexp_fÚgot_cÚgot_fs
             r   Ú%test_issue_with_array_layout_conflictz;TestDispatcherMethods.test_issue_with_array_layout_conflictr  s  € ð	ð 	ð 	õ �F‘”ˆå”h  ˜vÑ&Ô&ˆÝ”˜2˜r˜( R¨ HÐ-°SÐ9Ñ9Ô9ˆÝ”˜2˜r˜( R¨ HÐ-°SÐ9Ñ9Ô9ˆà��u˜a Ñ#Ô#ˆØ��u˜a Ñ#Ô#ˆà×Ò˜˜U˜U ;°°1Ñ5Ô5Ñ6Ô6Ð6Ø��e˜Q Ñ"Ô"ˆØ��e˜Q Ñ"Ô"ˆà×Ò˜ Ñ&Ô&Ð&Ø×Ò˜ Ñ&Ô&Ð&Ð&Ð&r   )rr  )rh   ri   rj   r]  r`  rj  rq  r}  r–  rœ  r£  r©  r>  r?  Újinja2Úpygmentsr¶  r¼  rË  r   r   r   rU  rU  ’  s  € € € € € ð/ð /ð /ð$-ð -ð -ð 4ð 4ð 4ð0*ð *ð *ð(/ð /ð /ð /ð %ð  %ð  %ðD8ð 8ð 8ð**ð *ð *ðQð Qð Qð& €X„_�V˜t�^Ð%JÑKÔKØ€X„_�X Ð%Ð'NÑOÔOð-ð -ñ PÔOñ LÔKð-ð4+ð +ð +ð'ð 'ð 'ð 'ð 'r   rU  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )Ú TestDispatcherFunctionBoundariesc                 óÂ  ‡‡— t          d¬¦  «        d„ ¦   «         Št          d¬¦  «        d„ ¦   «         Št          d¬¦  «        ˆˆfd„¦   «         }ddt          j        d¦  «        g}d	„ |D ¦   «         }t          ||¦  «        D ]$\  }}|                       ||¦  «        |¦  «         Œ%t          ||¦  «        D ]%\  }}|                       ‰‰|¦  «        |¦  «         Œ&d S )
NTrY   c                 ó   — | dz   S r‚   r   r   s    r   Úadd1zJTestDispatcherFunctionBoundaries.test_pass_dispatcher_as_arg.<locals>.add1‘  r�   r   c                 ó   —  | |¦  «        S r   r   )Úfnr   s     r   rs   zITestDispatcherFunctionBoundaries.test_pass_dispatcher_as_arg.<locals>.bar•  s   € à�2�a‘5”5ˆLr   c                 ó   •—  ‰‰| ¦  «        S r   r   )r   rÒ  rs   s    €€r   rp   zITestDispatcherFunctionBoundaries.test_pass_dispatcher_as_arg.<locals>.foo™  s   ø€ à�3�t˜Q‘<”<Ðr   ry   g333333&@rà   c                 ó   — g | ]}|d z   ‘ŒS ©ry   r   )rB   r   s     r   r¥   zPTestDispatcherFunctionBoundaries.test_pass_dispatcher_as_arg.<locals>.<listcomp>Ÿ  s   € Ð2Ð2Ð2 a˜A ™EÐ2Ð2Ð2r   )r   r?   r  Úzipr]   )rd   rp   ÚinputsÚexpected_resultsÚargÚexpectrÒ  rs   s         @@r   Útest_pass_dispatcher_as_argz<TestDispatcherFunctionBoundaries.test_pass_dispatcher_as_arg�  s<  øø€ å	�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ 
�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ 
�dÐ	Ñ	Ô	ð	 ð 	 ð 	 ð 	 ð 	 ñ 
Ô	ð	 ð �T�2œ9 R™=œ=Ð)ˆØ2Ð2¨6Ð2Ñ2Ô2Ðå˜vÐ'7Ñ8Ô8ð 	6ð 	6‰KˆC�Ø×#Ò# C C¨¡H¤H¨fÑ5Ô5Ð5Ð5õ ˜vÐ'7Ñ8Ô8ð 	<ð 	<‰KˆC�Ø×#Ò# C C¨¨c¡N¤N°FÑ;Ô;Ð;Ð;ð	<ð 	<r   c                 óZ  — t          d¬¦  «        d„ ¦   «         } |g d¢t          d„ ¦  «        ¬¦  «        }|                      |d¦  «          |t          t          t	          d¦  «        t	          d¦  «        d d d	…         ¦  «        ¦  «        t          d
„ ¦  «        ¬¦  «        }|                      |d¦  «          |t          t          t	          d¦  «        t	          d¦  «        d d d	…         ¦  «        ¦  «        t          d„ ¦  «        ¬¦  «        }|                      |d¦  «         d S )NTrY   c                 óX   — | d         }| dd …         D ]} |||¦  «        }|dk     r|}Œ|S r)  r   )ÚseqÚcmpfnr  ÚeachÚcmpvals        r   ÚmaximumzPTestDispatcherFunctionBoundaries.test_dispatcher_as_arg_usecase.<locals>.maximum©  sG   € à�a”&ˆCØ˜A˜B˜Bœð ð �Ø˜˜s DÑ)Ô)�Ø˜A’:�:Ø�CøØˆJr   )ry   r&   r'   r’   c                 ó   — | |z
  S r   r   r   s     r   r‡  zQTestDispatcherFunctionBoundaries.test_dispatcher_as_arg_usecase.<locals>.<lambda>²  s
   € ¸1¸q¹5€ r   )rá  r’   r,   r  c                 ó$   — | d         |d         z
  S ©Nr   r   r   s     r   r‡  zQTestDispatcherFunctionBoundaries.test_dispatcher_as_arg_usecase.<locals>.<lambda>µ  ó   € ¨Q¨q¬T°A°a´D©[€ r   )r’   r   c                 ó$   — | d         |d         z
  S r‚   r   r   s     r   r‡  zQTestDispatcherFunctionBoundaries.test_dispatcher_as_arg_usecase.<locals>.<lambda>¸  rè  r   )r   r’   )r   ru   rŽ  rØ  r§   )rd   rä  r  s      r   Útest_dispatcher_as_arg_usecasez?TestDispatcherFunctionBoundaries.test_dispatcher_as_arg_usecase¨  s3  € Ý	�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð ˆg�l�l�l­#Ð.@Ð.@Ñ*AÔ*AÐBÑBÔBˆØ×Ò˜˜aÑ Ô Ð Øˆg•d�3�u Q™xœx­¨q©¬°$°$°B°$¬Ñ8Ô8Ñ9Ô9ÝÐ 8Ð 8Ñ9Ô9ð;ñ ;ô ;ˆà×Ò˜˜fÑ%Ô%Ð%Øˆg•d�3�u Q™xœx­¨q©¬°$°$°B°$¬Ñ8Ô8Ñ9Ô9ÝÐ 8Ð 8Ñ9Ô9ð;ñ ;ô ;ˆà×Ò˜˜fÑ%Ô%Ð%Ð%Ð%r   c                 ó–   — t          d¬¦  «        d„ ¦   «         }t          d„ ¦  «        }|                       ||¦  «        |¦  «         d S )NTrY   c                 ó   — | S r   r   )rÔ  s    r   rp   zRTestDispatcherFunctionBoundaries.test_dispatcher_can_return_to_python.<locals>.foo¼  s   € àˆIr   c                 ó   — | S r   r   r   s    r   r‡  zWTestDispatcherFunctionBoundaries.test_dispatcher_can_return_to_python.<locals>.<lambda>À  s   € ˜1€ r   rt   )rd   rp   rÔ  s      r   Ú$test_dispatcher_can_return_to_pythonzETestDispatcherFunctionBoundaries.test_dispatcher_can_return_to_python»  s\   € Ý	�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ ��ÑÔˆà×Ò˜˜˜R™œ "Ñ%Ô%Ð%Ð%Ð%r   c                 ód  ‡— t          d¬¦  «        d„ ¦   «         Št          d¬¦  «        ˆfd„¦   «         }t          d¬¦  «        ˆfd„¦   «         }t          d¬¦  «        d„ ¦   «         }|                       |‰||fd¦  «        d¦  «         |                       |‰‰‰gd¦  «        d	¦  «         d S )
NTrY   c                 ó   — | dz   S r‚   r   r   s    r   ÚonezMTestDispatcherFunctionBoundaries.test_dispatcher_in_sequence_arg.<locals>.oneÅ  r�   r   c                 ó,   •—  ‰ ‰| ¦  «        ¦  «        S r   r   ©r   rñ  s    €r   ÚtwozMTestDispatcherFunctionBoundaries.test_dispatcher_in_sequence_arg.<locals>.twoÉ  s   ø€ à�3�s�s˜1‘v”v‘;”;Ðr   c                 ó>   •—  ‰ ‰ ‰| ¦  «        ¦  «        ¦  «        S r   r   ró  s    €r   ÚthreezOTestDispatcherFunctionBoundaries.test_dispatcher_in_sequence_arg.<locals>.threeÍ  s#   ø€ à�3�s�s˜3˜3˜q™6œ6‘{”{Ñ#Ô#Ð#r   c                 óf   —  | d         |¦  «         | d         |¦  «         | d         |¦  «        fS )Nr   ry   r&   r   )Úfnsr   s     r   ÚchoosezPTestDispatcherFunctionBoundaries.test_dispatcher_in_sequence_arg.<locals>.chooseÑ  s3   € à�3�q”6˜!‘9”9˜f˜c !œf Q™iœi¨¨¨Q¬°©¬Ð2Ð2r   ry   )r&   r'   r’   )r&   r&   r&   rt   )rd   rô  rö  rù  rñ  s       @r   Útest_dispatcher_in_sequence_argz@TestDispatcherFunctionBoundaries.test_dispatcher_in_sequence_argÄ  s
  ø€ Ý	�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ 
�dÐ	Ñ	Ô	ð	ð 	ð 	ð 	ñ 
Ô	ð	õ 
�dÐ	Ñ	Ô	ð	$ð 	$ð 	$ð 	$ñ 
Ô	ð	$õ 
�dÐ	Ñ	Ô	ð	3ð 	3ñ 
Ô	ð	3ð 	×Ò˜˜  c¨5Ð 1°1Ñ5Ô5°yÑAÔAÐAà×Ò˜˜  c¨3 °Ñ3Ô3°YÑ?Ô?Ð?Ð?Ð?r   N)rh   ri   rj   rÝ  rê  rî  rú  r   r   r   rÏ  rÏ  Ž  sU   € € € € € ð<ð <ð <ð2&ð &ð &ð&&ð &ð &ð@ð @ð @ð @ð @r   rÏ  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestBoxingDefaultErrorc                 óZ  — d„ }t          j        d¦  «        f} t          |¦  «        |¦  «        j        |         }|                      t
          ¦  «        5 }|                     d ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j	        ¦  «        d¦  «         d S )Nc                 ó   — d S r   r   r   s    r   rp   z<TestBoxingDefaultError.test_unbox_runtime_error.<locals>.fooß  s   € ØˆDr   Ú
dummy_typezcan't unbox dummy_type type)
r	   ÚDummyr   rz   rŠ   rT   r|   ru   r¸   r¹   )rd   rp   ÚargtysÚcresrÒ   s        r   Útest_unbox_runtime_errorz/TestBoxingDefaultError.test_unbox_runtime_errorÝ  sè   € ð	ð 	ð 	å”+˜lÑ+Ô+Ð-ˆð �t�F‰|Œ|˜CÑ Ô Ô*¨6Ô2ˆØ×Ò�yÑ)Ô)ð 	#¨Vð ×Ò˜TÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	×Ò�˜VÔ-Ñ.Ô.Ð0MÑNÔNÐNÐNÐNs   ÁA8Á8A<Á?A<c                 óò   — t           d„ ¦   «         }|                      t          ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   d}|                      t	          |j        ¦  «        |¦  «         d S )Nc                  ó   — t           S r   )r>  r   r   r   rp   z:TestBoxingDefaultError.test_box_runtime_error.<locals>.fooì  s   € åˆOr   z/cannot convert native Module.* to Python object)r   rŠ   rT   r»   r¸   r¹   )rd   rp   rÒ   Úpats       r   Útest_box_runtime_errorz-TestBoxingDefaultError.test_box_runtime_errorë  s¸   € Ý	ð	ð 	ñ 
Œð	à×Ò�yÑ)Ô)ð 	¨VØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à?ˆØ×Ò�˜VÔ-Ñ.Ô.°Ñ4Ô4Ð4Ð4Ð4s   «AÁAÁ	AN)rh   ri   rj   r  r  r   r   r   rü  rü  Û  s5   € € € € € ðOð Oð Oð5ð 5ð 5ð 5ð 5r   rü  c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ÚTestNoRetryFailedSignaturez?Test that failed-to-compile signatures are not recompiled.
    c                 óà  — |j         }|                      t          |j        ¦  «        d¦  «         |                      t
          j        ¦  «        5   |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         |                      t
          j        ¦  «        5   |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         |                      t
          j        ¦  «        5   |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d S )Nr   ry   r³   r&   )Ú	_compilerru   r”   Ú_failed_cacherŠ   r
   rÚ   )rd   ÚfuncÚfcoms      r   Úrun_testz#TestNoRetryFailedSignature.run_testù  sþ  € ØŒ~ˆØ×Ò�˜TÔ/Ñ0Ô0°!Ñ4Ô4Ð4à×Ò�vÔ1Ñ2Ô2ð 	ð 	ØˆD�‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜TÔ/Ñ0Ô0°!Ñ4Ô4Ð4à×Ò�vÔ1Ñ2Ô2ð 	ð 	ØˆD�‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜TÔ/Ñ0Ô0°!Ñ4Ô4Ð4à×Ò�vÔ1Ñ2Ô2ð 	ð 	ØˆD�‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜TÔ/Ñ0Ô0°!Ñ4Ô4Ð4Ð4Ð4s6   ÁA'Á'A+Á.A+Â9CÃCÃCÄ#D;Ä;D?ÅD?c                 ób   — t          d¬¦  «        d„ ¦   «         }|                      |¦  «         d S )NTrY   c                 ó   — | d         S rç  r   r   s    r   rp   z8TestNoRetryFailedSignature.test_direct_call.<locals>.foo
  ó   € à�Q”4ˆKr   ©r   r  r„   s     r   Útest_direct_callz+TestNoRetryFailedSignature.test_direct_call	  sA   € Ý	�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð 	�Š�cÑÔÐÐÐr   c                 óÔ   ‡‡— t          d¬¦  «        d„ ¦   «         Št          d¬¦  «        ˆfd„¦   «         Št          d¬¦  «        ˆˆfd„¦   «         }|                      |¦  «         d S )NTrY   c                 ó   — | d         S rç  r   r   s    r   rs   z8TestNoRetryFailedSignature.test_nested_call.<locals>.bar  r  r   c                 ó   •—  ‰| ¦  «         d S r   r   )r   rs   s    €r   Úfoobarz;TestNoRetryFailedSignature.test_nested_call.<locals>.foobar  s   ø€ àˆC�‰FŒFˆFˆFˆFr   c                 ó2   •—  ‰| ¦  «         ‰| ¦  «        z   S r   r   )r   rs   r  s    €€r   rp   z8TestNoRetryFailedSignature.test_nested_call.<locals>.foo  s   ø€ à�3�q‘6”6˜F˜F 1™IœIÑ%Ð%r   r  )rd   rp   rs   r  s     @@r   Útest_nested_callz+TestNoRetryFailedSignature.test_nested_call  sª   øø€ Ý	�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ 
�dÐ	Ñ	Ô	ð	ð 	ð 	ð 	ñ 
Ô	ð	õ 
�dÐ	Ñ	Ô	ð	&ð 	&ð 	&ð 	&ð 	&ñ 
Ô	ð	&ð 	�Š�cÑÔÐÐÐr   c                 óš   ‡ — ˆ fd„} |dd¦  «        } |dd¦  «        }‰                       |d¦  «         ‰                       |d¦  «         d S )Nc                 óÜ  •‡‡	‡
— d}ddiŠ
d„ }t          |¦  «        ˆ
ˆfd„¦   «         }t          d¬¦  «        d„ ¦   «         }|fˆ	fd	„	Š	 ‰	|f|z  ¦  «        }t          j        d
¦  «        }‰rl‰                     t
          j        ¦  «        5 } ||d¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                     dt          |j	        ¦  «        ¦  «         n ||d¦  «         ‰
d         S )Nrà   Úcr   c                 ó   — J d¦   «         ‚)Nr   Úunreachabler   r   s    r   ÚtriggerzKTestNoRetryFailedSignature.test_error_count.<locals>.check.<locals>.trigger(  s   € Ø'˜-Ñ'Ô'�qr   c                 óV   •— ‰dxx         dz  cc<   ‰rt          j        d¦  «        ‚d„ S )Nr  ry   Úinvoke_failedc                 ó   — | S r   r   r   s    r   r‡  z`TestNoRetryFailedSignature.test_error_count.<locals>.check.<locals>.ol_trigger.<locals>.<lambda>1  s   €  € r   )r
   rÚ   )r   ÚcounterÚ
would_fails    €€r   Ú
ol_triggerzNTestNoRetryFailedSignature.test_error_count.<locals>.check.<locals>.ol_trigger+  s<   ø€ ð ˜��” Ñ!��‘Øð >Ý Ô,¨_Ñ=Ô=Ð=Ø"�{Ð"r   TrY   c                 ó   — d S r   r   )r¢  r   s     r   ÚidentzITestNoRetryFailedSignature.test_error_count.<locals>.check.<locals>.ident3  s   € à�r   c                 ó†   •‡‡— | d         | d d…         cŠ}t          d¬¦  «        ˆˆfd„¦   «         }|r ‰||¦  «        S |S )Nr  TrY   c                 óR   •—  ‰| |¦  «         | dxx          ‰|¦  «        z  cc<   d S rç  r   )r¢  r   ÚinnerÚtab_heads     €€r   Úassignz`TestNoRetryFailedSignature.test_error_count.<locals>.check.<locals>.chain_assign.<locals>.assign:  s4   ø€ à�E˜#˜q‘M”M�MØ˜�F�F”F˜h˜h q™kœkÑ)�F�F‘F�F�Fr   rƒ   )Úfsr+  Útab_tailr-  r,  Úchain_assigns    `  @€r   r0  zPTestNoRetryFailedSignature.test_error_count.<locals>.check.<locals>.chain_assign7  sr   øøø€ Ø%'¨¤V¨R°°°¬WÐ"�˜(å˜dÐ#Ñ#Ô#ð*ð *ð *ð *ð *ñ $Ô#ð*ð ð "Ø'˜<¨°&Ñ9Ô9Ð9à!�Mr   r&   ry   r"  )
r   r   r?   rH   rŠ   r
   rÚ   r·   r¸   r¹   )Úfieldr%  r²  r   r&  r(  r   r¢  rÒ   r0  r$  rd   s    `       @@€r   re   z:TestNoRetryFailedSignature.test_error_count.<locals>.check   sƒ  øøøø€ ð
 ˆAØ˜A�hˆGð(ð (ð (õ �gÑÔð#ð #ð #ð #ð #ñ Ôð#õ ˜$ÐÑÔðð ñ  Ôðð (-ð "ð "ð "ð "ð "ð "ð !�L ' ¨a¡Ñ0Ô0ˆEÝ”'˜!‘*”*ˆCØð Ø×&Ò&¥vÔ'9Ñ:Ô:ð "¸fØ�E˜#˜q‘M”M�Mð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "à—’˜o­s°6Ô3CÑ/DÔ/DÑEÔEÐEÐEà��c˜1‘”�ð ˜3”<Ðs   ÂB&Â&B*Â-B*rJ   Fr  Try   r&   )ru   )rd   re   Úct_okÚct_bads   `   r   Útest_error_countz+TestNoRetryFailedSignature.test_error_count  su   ø€ ð.	 ð .	 ð .	 ð .	 ð .	 ð` ��c˜5Ñ!Ô!ˆØ��s˜DÑ!Ô!ˆð 	×Ò˜ Ñ"Ô"Ð"à×Ò˜ Ñ#Ô#Ð#Ð#Ð#r   N)rh   ri   rj   rQ  r  r  r  r4  r   r   r   r	  r	  õ  sZ   € € € € € ðð ð5ð 5ð 5ð ð ð ðð ð ð7$ð 7$ð 7$ð 7$ð 7$r   r	  ry   c                 ó   — | |z   S r   r   r   s     r   Úadd_y1r6  Y  ó   € àˆq‰5€Lr   c                 ó   — | |rdndz   S r›   r   r   s     r   Ú	add_ynoner9  ^  s   € à�Q���˜AÑÐr   c                 ó   — | |z  S r   r   r   s     r   Úmultr;  c  r7  r   c                 ó    — |  || | ¦  «        z   S r   r   )r   r  s     r   Úadd_funcr=  h  s   € àˆtˆt�A�q‰zŒz‰>Ðr   c                 óN   —  | |¦  «        |                       |¦  «        k    sJ ‚d S r   )r}   )Úf1rÛ  s     r   Ú_checkerr@  m  s+   € Øˆ2ˆc‰7Œ7�b—j’j ‘o”oÒ%Ð%Ð%Ð%Ð%Ð%r   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )Ú$TestMultiprocessingDefaultParametersc                 ó8  — 	 t          j        d¦  «        }n# t          $ r
 t           }Y nw xY wdD ]i}|                     t          ||f¬¦  «        }|                     ¦   «          |                     t          ¦  «         |                      |j	        d¦  «         Œjd S )NÚspawn)ry   r&   r'   )r¡   r^   r   )
ÚmultiprocessingÚget_contextÚAttributeErrorÚProcessr@  r¨   r©   Ú_TEST_TIMEOUTru   Úexitcode)rd   ÚfcÚctxrJ   Úps        r   Úrun_fc_multiprocz5TestMultiprocessingDefaultParameters.run_fc_multiprocr  s«   € ð	"Ý!Ô-¨gÑ6Ô6ˆCˆCøÝð 	"ð 	"ð 	"Ý!ˆCˆCˆCð	"øøøð ð 	,ð 	,ˆAØ—’¥8°2°q°(�Ñ;Ô;ˆAØ�GŠG‰IŒIˆIØ�FŠF•=Ñ!Ô!Ð!Ø×Ò˜QœZ¨Ñ+Ô+Ð+Ð+ð		,ð 	,s   ‚ —+ª+c                 ó:   — |                       t          ¦  «         dS )z Tests issue #4888N)rN  r6  ©rd   s    r   Útest_int_def_paramz7TestMultiprocessingDefaultParameters.test_int_def_paramƒ  s   € ð 	×Ò�fÑ%Ô%Ð%Ð%Ð%r   c                 ó:   — |                       t          ¦  «         dS )z" Tests None as a default parameterN©rN  r=  rP  s    r   Útest_none_def_paramz8TestMultiprocessingDefaultParameters.test_none_def_paramˆ  ó   € ð 	×Ò�hÑ'Ô'Ð'Ð'Ð'r   c                 ó:   — |                       t          ¦  «         dS )z( Tests a function as a default parameterNrS  rP  s    r   Útest_function_def_paramz<TestMultiprocessingDefaultParameters.test_function_def_param�  rU  r   N)rh   ri   rj   rN  rQ  rT  rW  r   r   r   rB  rB  q  sP   € € € € € ð,ð ,ð ,ð"&ð &ð &ð
(ð (ð (ð
(ð (ð (ð (ð (r   rB  c                   ó   — e Zd ZdZd„ ZdS )ÚTestVectorizeDifferentTargetszDTest that vectorize can be reapplied if the target is different
    c                 óš   — t           d„ ¦   «         }t          g d d¬¦  «        } ||¦  «         t          g d d¬¦  «        } ||¦  «         d S )Nc                 ó   — | |z   S r   r   r   s     r   r    z?TestVectorizeDifferentTargets.test_cpu_vs_parallel.<locals>.add˜  r�   r   Úcpu)Úidentityr¡   Úparallel)r   r   )rd   r    Úcustom_vectorizeÚcustom_vectorize_2s       r   Útest_cpu_vs_parallelz2TestVectorizeDifferentTargets.test_cpu_vs_parallel—  so   € Ý	ð	ð 	ñ 
Œð	õ % R°$¸uÐEÑEÔEÐàÐ˜ÑÔÐå& r°DÀÐLÑLÔLÐàÐ˜3ÑÔÐÐÐr   N)rh   ri   rj   rQ  ra  r   r   r   rY  rY  “  s-   € € € € € ðð ð ð  ð  ð  ð  r   rY  Ú__main__)r&   r'   )r&   )r,   r   r×  )BrE  Úplatformr¢   rî   ró   Ú	itertoolsr   Úior   Únumpyr?   Únumbar   r   r   r   Ú
numba.corer	   r
   r   Únumba.tests.supportr   r   Únumba.np.numpy_supportr   Únumba.core.dispatcherr   Únumba.extendingr   r   r   Únumba.testing.mainr   Ú_RUNNER_TIMEOUTr>  rI  rÌ  ÚImportErrorrÍ  Úmachiner@  r   r    r$   r)   r+   r6   r<   rV   rX   rm   rB  rS  rU  rÏ  rü  r	  r6  r9  r;  r=  r@  rB  rY  rh   Úmainr   r   r   ú<module>rr     sõ  ðØ Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð à .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø +Ð +Ð +Ð +Ð +Ð +Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø $Ð $Ð $Ð $Ð $Ð $Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø :Ð :Ð :Ð :Ð :Ð :Ø €€€à #Ñ%€ðØ€M€M€M€MøØð ð ð Ø€F€F€FðøøøðØ€O€O€O€OøØð ð ð Ø€H€H€Hðøøøð ˆXÔÑÔ 8Ò+€
ðð ð ðð ð ðð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð
ð 
ð 
ð 
ð 
ˆxñ 
ô 
ð 
ðN4ð N4ð N4ð N4ð N4�Xñ N4ô N4ð N4ðbLNð LNð LNð LNð LN˜Hñ LNô LNð LNð^#ð #ð #ð #ð #Ð&;ñ #ô #ð #ðy'ð y'ð y'ð y'ð y'˜Hñ y'ô y'ð y'ðxJ@ð J@ð J@ð J@ð J@ xñ J@ô J@ð J@ðZ5ð 5ð 5ð 5ð 5˜XÔ.ñ 5ô 5ð 5ð4a$ð a$ð a$ð a$ð a$ Ô!2ñ a$ô a$ð a$ðH ðð ð ñ „ðð ðð ð ñ „ðð ðð ñ „ðð Øð ð ð ñ „ðð&ð &ð &ð(ð (ð (ð (ð (¨;¸Ô8Iñ (ô (ð (ðD ð  ð  ð  ð   HÔ$5ñ  ô  ð  ð$ ˆzÒÐØ€H„M�O„O€O€O€Oð Ðs$   Á1A6 Á6B Á?B ÂB	 Â	BÂB