§
    ƒÛgMœ  ã                   ó†  — 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mZ d dlmZmZ d dlmZ d dlmZ d dlmZmZ d d	lmZ 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,d7d„Z-d8d„Z.d9d„Z/d9d„Z0d:d„Z1 G d„ de¦  «        Z2 G d„ de2¦  «        Z3 G d„ de2¦  «        Z4 G d „ d!e4¦  «        Z5 G d"„ d#e¦  «        Z6 G d$„ d%e¦  «        Z7 G d&„ d'e¦  «        Z8 G d(„ d)e#j        ¦  «        Z9 G d*„ d+e#j        ¦  «        Z:ed;d-„¦   «         Z;ed:d.„¦   «         Z<ed/„ ¦   «         Z=ee=fd0„¦   «         Z>d1„ Z? G d2„ d3ee#j        ¦  «        Z@ G d4„ d5e#j        ¦  «        ZAeBd6k    r e#jC        ¦   «          dS dS )<é    N)Úchain)ÚStringIO)ÚnjitÚjitÚgenerated_jitÚtypeofÚ	vectorize)ÚtypesÚerrors)Ú_dispatcher)Úcompile_isolated)ÚTestCaseÚcaptured_stdout)Úas_dtype)Ú
Dispatcher)Úneeds_lapackÚSerialMixin)Ú_TIMEOUTg      N@Úarmv7lc                 ó   — | S ©N© ©Úxs    úQ/granary/edev/quantum/lib/python3.11/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*   3   r&   r   c                 ó   — | ||fS r   r   r#   s      r   Ústar_defaultsr,   7   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   r0   zgenerated_usecase.<locals>.impl@   r1   r   ©Ú
isinstancer
   ÚComplex©r   r    r0   s      r   Úgenerated_usecaser7   ;   s>   € Ý�!•U”]Ñ#Ô#ð ð	ð 	ð 	ð 	ð	ð 	ð 	à€Kr   c                 óJ   — t          | t          j        ¦  «        rd„ }ndd„}|S )Nc                 ó   — | S r   r   r   s    r   r0   z#bad_generated_usecase.<locals>.implG   ó   € ØˆHr   é   c                 ó   — | |z
  S r   r   r   s     r   r0   z#bad_generated_usecase.<locals>.implJ   r1   r   )r;   r3   r6   s      r   Úbad_generated_usecaser=   E   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>Q   sD   è è € ð %6ð %6Ø'*õ &(¤X¨c¬i¬nÑ%=Ô%=ð %6ð %6ð %6ð %6ð %6ð %6r   zUnhandled Type %sc                 ó:   •— t          j        | j        ‰¬¦  «        S ©N©rA   )r@   ÚonesÚshape)ÚaÚbrA   Ú	out_dtypes      €r   Ú_fnz$dtype_generated_usecase.<locals>._fnX   s   ø€ ÝŒw�q”w iÐ0Ñ0Ô0Ð0r   r   )r4   r
   ÚmiscÚNoneTypeÚOmittedr@   Úresult_typeÚDTypeÚNumberClassr   Ú	TypeErrorÚtype)rK   rL   rA   rN   rM   s       @r   Údtype_generated_usecaserW   O   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>.checkc   sG   ø€ Ø�v˜tÐ. vÐ.Ð.ˆHØ�Q˜Ð' Ð'Ð'ˆFØ×#Ò# F¨HÑ5Ô5Ð5Ð5Ð5r   r   )r   Újit_args)re   rd   rf   rc   s   `` @r   Úcompile_funczBaseTest.compile_funcb   sR   øøø€ ð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð !�CÐ Ð �$”-Ð Ð  Ñ(Ô(ˆØ�%ˆxˆr   N)Ú__name__Ú
__module__Ú__qualname__Údictrg   rh   r   r   r   rY   rY   ^   s5   € € € € € àˆt˜TÐ"Ñ"Ô"€Hðð ð ð ð r   rY   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>.foon   ó   € àˆHr   c                 ó   — | S r   r   r   s    r   Úbarz)TestDispatcher.test_equality.<locals>.barr   rr   r   TF©r   ÚassertEqual)re   rq   rt   s      r   Útest_equalityzTestDispatcher.test_equalitym   sŒ   € Ý	ð	ð 	ñ 
Œð	õ 
ð	ð 	ñ 
Œð	ð 	×Ò˜ š TÑ*Ô*Ð*Ø×Ò˜ š UÑ+Ô+Ð+Ø×Ò˜ š eÑ,Ô,Ð,Ð,Ð,r   c                 óÆ   — t           d„ ¦   «         } |d¦  «         |j                             ¦   «         \  }|                      |j        j        |j        j        ¦  «         d S )Nc                 ó   — | S r   r   r   s    r   rq   z+TestDispatcher.test_dyn_pyfunc.<locals>.foo~   rr   r   é   )r   Ú	overloadsÚvaluesrv   Úentry_pointrj   Úpy_func)re   rq   Ú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 ©Nrz   r   r   r   r   rq   z,TestDispatcher.test_no_argument.<locals>.fooˆ   s   € à�1r   ©r   ©re   rq   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 )NTrZ   é{   iÈ  gš™™™™™(@gÍÌÌÌÌÌF@y        ÍÌÌÌÌÌF@l    F: z(i4, i4)é   é-   )r   r!   r^   ÚassertRaisesrU   )re   Ú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   ©rK   rL   s     r   rq   z6TestDispatcher.test_ambiguous_new_version.<locals>.foo¤   ó   € à�q‘5ˆLr   rz   ç      ø?r'   r(   é   zdidn't compile a new versionN)r   ÚassertAlmostEqualrv   Úlenr{   )re   rq   Ú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   rq   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©Nrz   r'   )rv   Ú	ExceptionÚappend)Úer   rq   re   s    €€€r   Úwrapperz)TestDispatcher.test_lock.<locals>.wrapperÁ   so   ø€ ð!Ø× Ò    Q¡¤¨Ñ+Ô+Ð+Ð+Ð+øÝð !ð !ð !Ø�”˜aÑ Ô Ð Ð Ð Ð Ð Ð Ð øøøøð!øøøs   ƒ$ ¤
A	®AÁA	c                 ó:   •— g | ]}t          j        ‰¬ ¦  «        ‘ŒS ))Útarget)Ú	threadingÚThread)rC   Ú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)re   ÚthreadsÚtr   rq   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(   rz   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^   rv   r•   r{   r@   Úint32r‹   rU   ÚassertInÚstrÚ	exceptionÚfloat32ÚassertRegexpMatchesÚassertNotIn©re   rc   Ú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,)rz   z(intc,intc,intc)r(   T©Úforceobj)r‹   rU   r   r!   r¸   r¹   rº   )re   Ú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‹   rU   rv   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   ©rK   s    r   rq   z5TestDispatcher.test_disabled_compilation.<locals>.foo  rr   r   ú
(float32,)ú(int32,)úcompilation disabledrz   )
r   ÚcompileÚdisable_compiler‹   ÚRuntimeErrorrv   r¹   rº   r•   Ú
signatures©re   rq   Ú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   rq   zBTestDispatcher.test_disabled_compilation_through_list.<locals>.foo  rr   r   z(complex64,)rÍ   r'   )	r   r‹   rÐ   rÎ   rv   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                 ó*  ‡— t          dg¦  «        d„ ¦   «         Št           ˆfd„¦   «         }|                      t          ¦  «        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   rq   zATestDispatcher.test_disabled_compilation_nested_call.<locals>.foo%  rr   r   c                  óX   •—  ‰ d¦  «          ‰ t          j        d¦  «        ¦  «         d S rƒ   )r@   rI   )rq   s   €r   rt   zATestDispatcher.test_disabled_compilation_nested_call.<locals>.bar)  s)   ø€ àˆC�‰FŒFˆFØˆC•”˜‘
”
‰OŒOˆOˆOˆOr   zANo matching definition for argument type(s) array(float64, 1d, C))r   r‹   rU   rv   r¹   rº   )re   rt   rÓ   Úmrq   s       @r   Ú%test_disabled_compilation_nested_callz4TestDispatcher.test_disabled_compilation_nested_call$  së   ø€ Ý	ˆiˆ[Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð ×Ò�yÑ)Ô)ð 	¨VØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	àOˆØ×Ò�˜VÔ-Ñ.Ô.°Ñ2Ô2Ð2Ð2Ð2s   ÁAÁA"Á%A"c                 ó2  ‡— t           d„ ¦   «         Šd}|                      t          ¦  «        5 }t          j        g ¦  «         ddd¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         |                       ‰g ¦  «        g ¦  «          t          d¬¦  «        ‰j	        ¦  «        }|                      t          ¦  «        5 } |g ¦  «         ddd¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         t           ˆ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   rq   z4TestDispatcher.test_fingerprint_failure.<locals>.foo9  rr   r   z(cannot compute fingerprint of empty listNTrZ   c                  ób   •— t          ¦   «          g } t          d¦  «        D ]} ‰| ¦  «        } Œ| S )Né
   )Úobjectr¨   )r   r¥   rq   s     €r   rt   z4TestDispatcher.test_fingerprint_failure.<locals>.barK  s:   ø€ å‰HŒHˆHØˆAÝ˜2‘Y”Yð ð �Ø�C˜‘F”F��ØˆHr   rz   )r   r‹   Ú
ValueErrorr   Úcompute_fingerprintr¸   r¹   rº   rv   r~   r{   r|   r•   Úlifted)re   ÚerrmsgrÓ   Ú
strict_foort   r   rq   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à×Ò˜˜˜R™œ "Ñ%Ô%Ð%à'•S $Ð'Ñ'Ô'¨¬Ñ4Ô4ˆ
Ø×Ò�zÑ*Ô*ð 	¨fØˆJ�r‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�f�c &Ô"2Ñ3Ô3Ñ4Ô4Ð4õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð 	×Ò˜˜™œ Ñ#Ô#Ð#àŒ}×#Ò#Ñ%Ô%‰ˆØ×Ò�˜RœY™œ¨Ñ+Ô+Ð+Ð+Ð+s#   ®AÁAÁAÃC1Ã1C5Ã8C5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
        TrZ   c                 ó   — | dz   S rƒ   r   r   s    r   rq   z.TestDispatcher.test_serialization.<locals>.foo\  r‘   r   rz   r'   N)r   rv   r   Ú_memoÚ_recentÚclearr•   ÚpickleÚdumpsÚloadsÚassertIsÚidÚweakrefÚref)	re   rq   Ú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   rq   z:TestDispatcher.test_misaligned_array_dispatch.<locals>.foo‰  s   € Ý”9×)Ò)¨!¨QÑ/Ô/Ð/r   TrZ   é@   rz   rH   éÿÿÿÿc                 óî   •— t          j        ‰t           j        ¬¦  «                             ‰‰¦  «        |d d …d d …f<    ‰|¦  «        } ‰|¦  «        }t           j                             ||¦  «         d S rG   ©r@   ÚarangeÚ
complex128ÚreshapeÚtestingÚassert_allclose©rB   rK   ra   Úgotrq   ÚjitfooÚnÚrs       €€€€r   rf   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©re   ÚdtÚcountÚtmpr  r  r  r  rf   rq   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   rq   z?TestDispatcher.test_immutability_in_array_dispatch.<locals>.foo±  s   € Ý”6˜!‘9”9Ðr   TrZ   r   rz   rH   r  Fc                 ó
  •— t          j        ‰t           j        ¬¦  «                             ‰‰¦  «        |d d …d d …f<   |rd|j        _         ‰|¦  «        } ‰|¦  «        }t           j                             ||¦  «         d S )NrH   F)r@   r  r  r  ÚflagsÚ	writeabler  r  )	rB   rK   Údisable_write_bitra   r
  rq   r  r  r  s	        €€€€r   rf   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   rz   rý   rÊ   s    r   rq   zITestDispatcher.test_misaligned_high_dimension_array_dispatch.<locals>.fooÚ  s4   € Ý”9×)Ò)¨!¨A¨q°!°Q¸¸¸¸1¸1¸1Ð,<Ô*=¸qÑAÔAÐAr   TrZ   c                 óä   •— ‰                      | j        j        |¦  «         |dk    r ‰                      | j        j        d¦  «         |dk    r"‰                      | j        j        d¦  «         d S d S )NÚCTÚF)rv   r"  ÚalignedÚc_contiguousÚf_contiguous)ÚarrÚlayoutr,  re   s      €r   Úcheck_propertieszVTestDispatcher.test_misaligned_high_dimension_array_dispatch.<locals>.check_propertiesß  ss   ø€ Ø×Ò˜SœYÔ.°Ñ8Ô8Ð8Ø˜Š}ˆ}Ø× Ò  ¤Ô!7¸Ñ>Ô>Ð>Ø˜Š}ˆ}Ø× Ò  ¤Ô!7¸Ñ>Ô>Ð>Ð>Ð>ð ˆ}r   iÙ  r(   rz   rH   r  r*  Fr+  c                 óö   •— t          j        ‰t           j        ¬¦  «                             ‰‰‰‰‰‰¦  «        |d d …d d …f<    ‰|¦  «        } ‰|¦  «        }t           j                             ||¦  «         d S rG   r  r	  s       €€€€r   rf   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  )re   r1  r  r  r  r  r  r  r  rf   rq   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   rq   z@TestDispatcher.test_dispatch_recompiles_for_scalars.<locals>.foo  r:   r   TrZ   y      ð?       @rà   Fr(   rz   )	r   r@   r  r·   Úbool_rv   r•   rÑ   r
   )re   rq   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 )NTrZ   c                 ó   — | S r   r   r   s    r   rq   zITestDispatcher.test_dispatcher_raises_for_invalid_decoration.<locals>.foo(  rr   r   z8A jit decorator was called on an already jitted functionrq   z.py_funcz&The decorated object is not a function)r   r‹   rU   r¹   rº   r¸   rY   rV   )re   rq   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)ri   rj   rk   rw   r€   r†   r�   r˜   r®   rÀ   rÅ   rÇ   rÔ   r×   rÜ   rç   rú   r   ÚunittestÚskipIfÚ
_is_armv7lr  r%  r3  r8  r<  r   r   r   rn   rn   k   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   rn   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#   rz   r;   é   ©r    r$   Nú%too many arguments: expected 3, got 4z'not enough arguments: expected 3, got 0©r    zmissing argument 'z')
rh   r%   rv   r•   r{   r‹   rU   r¸   r¹   rº   ©re   rc   rf   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“   rC  r#   ©r$   r   r   r;   rD  rE  NrF  z0not enough arguments: expected at least 1, got 0zmissing argument 'x')rh   r*   r‹   rU   r¸   r¹   rº   rH  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;   rD  é   r   r   rG  Nz!some keyword arguments unexpectedrK  )rh   r,   r‹   rU   r¸   r¹   rº   rH  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)ri   rj   rk   Ú__doc__rI  rL  rO  r   r   r   rA  rA  ;  sV   € € € € € ðð ðAð Að Að.Að Að Að6Nð Nð Nð Nð Nr   rA  c                   ó*   — e Zd ZdZ ed¬¦  «        ZdS )ÚTestSignatureHandlingObjectModez<
    Sams as TestSignatureHandling, but in object mode.
    TrÂ   N)ri   rj   rk   rP  rl   rg   r   r   r   rR  rR  Š  s,   € € € € € ðð ð ˆt˜TÐ"Ñ"Ô"€H€H€Hr   rR  c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )ÚTestGeneratedDispatcherz#
    Tests for @generated_jit.
    c                 óÂ  —  t          d¬¦  «        t          ¦  «        }|                       |d¦  «        d¦  «         |                       |d¬¦  «        d¦  «         |                       |dd¬¦  «        d¦  «         |                       |d¦  «        d	¦  «         |                       |dd
¦  «        d¦  «         |                       |dd¬¦  «        d¦  «         d S )NTrZ   rN  r(   r   r“   r   r³   y      @      ð?é*   y      E@      ð?rD  y      @      ð?)r   r7   rv   )re   rc   s     r   Útest_generatedz&TestGeneratedDispatcher.test_generated—  sã   € Ø(�M 4Ð(Ñ(Ô(Õ):Ñ;Ô;ˆØ×Ò˜˜˜1™œ˜uÑ%Ô%Ð%Ø×Ò˜˜˜Q˜™œ Ñ'Ô'Ð'Ø×Ò˜˜˜Q !˜™œ eÑ,Ô,Ð,Ø×Ò˜˜˜2™œ Ñ'Ô'Ð'Ø×Ò˜˜˜2˜r™œ GÑ,Ô,Ð,Ø×Ò˜˜˜R 1˜™œ vÑ.Ô.Ð.Ð.Ð.r   c           	      ó  —  t          d¬¦  «        t          ¦  «        }t          j        dt          j        ¬¦  «        }t          j        dt          j        ¬¦  «        }|                       |||¦  «        j        t          j        ¦  «         |                       |||t          j        d¦  «        ¬¦  «        j        t          j        ¦  «         |                       |||t          j        ¬¦  «        j        t          j        ¦  «         d S )NTrZ   )rà   rH   r·   )	r   rW   r@   rI   r»   Úfloat64rv   rA   r·   )re   rc   rK   rL   s       r   Útest_generated_dtypez,TestGeneratedDispatcher.test_generated_dtype   s×   € Ø(�M 4Ð(Ñ(Ô(Õ)@ÑAÔAˆÝŒG�E¥¤Ð,Ñ,Ô,ˆÝŒG�E¥¤Ð,Ñ,Ô,ˆØ×Ò˜˜˜1˜a™œœ­¬
Ñ3Ô3Ð3Ø×Ò˜˜˜1˜a¥r¤x°Ñ'8Ô'8Ð9Ñ9Ô9Ô?ÅÄÑJÔJÐJØ×Ò˜˜˜1˜a¥r¤xÐ0Ñ0Ô0Ô6½¼ÑAÔAÐAÐAÐAr   c                 óÖ  —  t          d¬¦  «        t          ¦  «        }|                      t          ¦  «        5 } |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        ¦  «        ¦  «         dS )zz
        Check error reporting when implementation signature doesn't match
        generating function signature.
        TrZ   r³   NzGshould be compatible with signature '(x, y=5)', but has signature '(x)'rz   zLshould be compatible with signature '(x, y=5)', but has signature '(x, y=6)')r   r=   r‹   rU   r¸   r¹   rº   )re   rc   rÓ   s      r   Útest_signature_errorsz-TestGeneratedDispatcher.test_signature_errors¨  sc  € ð
 )�M 4Ð(Ñ(Ô(Õ)>Ñ?Ô?ˆà×Ò�yÑ)Ô)ð 	¨VØˆAˆb‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Šð 0å˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð ×Ò�yÑ)Ô)ð 	¨VØˆAˆa‰DŒDˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Šð 5å˜&Ô*Ñ+Ô+ñ	-ô 	-ð 	-ð 	-ð 	-s#   ¹AÁAÁAÂB6Â6B:Â=B:N)ri   rj   rk   rP  rW  rZ  r\  r   r   r   rT  rT  ’  sN   € € € € € ðð ð/ð /ð /ðBð Bð Bð-ð -ð -ð -ð -r   rT  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 )Nrz   c                 ó   •— | ‰z   S r   r   ©r   Úclosures    €r   rq   z1TestDispatcherMethods.test_recompile.<locals>.fooÁ  ó   ø€ à�w‘;Ðr   r'   r’   r±   r(   r²   )r   r^   rv   r•   rÑ   Ú	recompile©re   rq   rb  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 )Nrz   zint32(int32)c                 ó   •— | ‰z   S r   r   ra  s    €r   rq   z<TestDispatcherMethods.test_recompile_signatures.<locals>.fooÔ  rc  r   r'   r’   r(   )r   r^   rd  re  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   rq   z4TestDispatcherMethods.test_inspect_llvm.<locals>.fooâ  ó   € à  =Ñ0Ð0r   rz   r´   r(   rq   rm  rn  )r   Úinspect_llvmrv   r•   r|   r¸   )re   rq   Ú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   rl  s     r   rq   z3TestDispatcherMethods.test_inspect_asm.<locals>.fooú  ro  r   rz   r´   r(   rq   )r   Úinspect_asmrv   r•   r|   Ú
assertTrue)re   rq   Ú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{}{}ú.rz   r   z^digraph "CFG for \'_ZN{}{}{})	Úformatr•   ri   Úsplitr¼   r¹   rw  ÚcallableÚdisplay)re   Ú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Ñ2Ô2Ð2ð 	�Š� ¤Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.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   rq   z3TestDispatcherMethods.test_inspect_cfg.<locals>.foo  ó   € à—=’=‘?”?Ð"r   rz   ©rz   rz   ©rz   rz   rz   r(   c                 ó"   — t          | ¦  «        fS r   )r   r   s    r   ú<lambda>z8TestDispatcherMethods.test_inspect_cfg.<locals>.<lambda>2  s   € ­F°1©I¬I¨<€ r   r   ©Ú	signature)r   r@   rI   Úinspect_cfgrv   r•   ÚkeysÚsetÚmapr|   r†  ÚlistrÑ   )
re   rq   Úa1Úa2Úa3ÚcfgsÚs1Ús2Ús3r‚  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   rq   zGTestDispatcherMethods.test_inspect_cfg_with_python_wrapper.<locals>.foo@  rŒ  r   rz   r�  rŽ  r   Úpython)r’  Úshow_wrapperÚcpython)r    )r   r@   rI   r“  rÑ   r†  )re   rq   r˜  r™  rš  r‚  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   rq   z5TestDispatcherMethods.test_inspect_types.<locals>.fooR  r‘   r   rz   r'   r   )	r   Úinspect_typesr   r¹   r{   rÑ   Útype_annotationr   Úgetvalue)re   rq   ra   Úouts       r   Útest_inspect_typesz(TestDispatcherMethods.test_inspect_typesQ  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   rq   zDTestDispatcherMethods.test_inspect_types_with_signature.<locals>.fooa  r‘   r   rz   r´   r   r‘  )r   r   r¨  rÑ   rv   rª  )re   rq   ÚtotalÚfirstÚseconds        r   Ú!test_inspect_types_with_signaturez7TestDispatcherMethods.test_inspect_types_with_signature`  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   rq   z<TestDispatcherMethods.test_inspect_types_pretty.<locals>.foov  r‘   r   rz   r'   T)ÚprettyFÚpygments_linesÚspan)Úfilerµ  z$`file` must be None if `pretty=True`)r   r   r¨  ÚannÚitemsrw  r‹   râ   r   r¸   r¹   rº   )re   rq   r¹  ÚkÚvÚ
span_foundÚlinerÓ   s           r   Útest_inspect_types_prettyz/TestDispatcherMethods.test_inspect_types_prettys  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   rq   z;TestDispatcherMethods.test_get_annotation_info.<locals>.foo�  r‘   r   rz   gÍÌÌÌÌÌô?c              3   óf   •K  — | ]+}‰                      |¦  «                             ¦   «         V — Œ,d S r   )Úget_annotation_inforº  )rC   r¥   rq   s     €r   rE   zATestDispatcherMethods.test_get_annotation_info.<locals>.<genexpr>—  sY   øè è € ð ,Eð ,EØ01ð -0×,CÒ,CÀAÑ,FÔ,F×,LÒ,LÑ,NÔ,Nð ,Eð ,Eð ,Eð ,Eð ,Eð ,Er   )r   rl   r   Úfrom_iterablerÑ   rÃ  rv   )re   ra   rb   rq   s      @r   Útest_get_annotation_infoz.TestDispatcherMethods.test_get_annotation_info�  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   rd   zKTestDispatcherMethods.test_issue_with_array_layout_conflict.<locals>.pyfunc¤  s   € Ø�Q˜�T”7ˆNr   r´   g        rµ   g      @r*  )Úorderr+  rz   r   N)r   r@   Úarrayrv   )
re   rd   Ú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_conflictœ  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   )r{  )ri   rj   rk   rf  ri  rs  rz  r†  rŸ  r¥  r¬  r²  r=  r>  Újinja2Úpygmentsr¿  rÅ  rÔ  r   r   r   r^  r^  ¼  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   r^  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 )
NTrZ   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   rt   zITestDispatcherFunctionBoundaries.test_pass_dispatcher_as_arg.<locals>.bar¿  s   € à�2�a‘5”5ˆLr   c                 ó   •—  ‰‰| ¦  «        S r   r   )r   rÛ  rt   s    €€r   rq   zITestDispatcherFunctionBoundaries.test_pass_dispatcher_as_arg.<locals>.fooÃ  s   ø€ à�3�t˜Q‘<”<Ðr   rz   g333333&@rà   c                 ó   — g | ]}|d z   ‘ŒS ©rz   r   )rC   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^   )re   rq   ÚinputsÚexpected_resultsÚargÚexpectrÛ  rt   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 )NTrZ   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   )rz   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   rv   r—  rá  r¨   )re   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 )NTrZ   c                 ó   — | S r   r   )rÝ  s    r   rq   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   ru   )re   rq   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 )
NTrZ   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   rz   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   rz   )r'   r(   r“   )r'   r'   r'   ru   )re   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)ri   rj   rk   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                 ó0  — d„ }t          |t          j        d¦  «        f¦  «        }|                      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   rq   z<TestBoxingDefaultError.test_unbox_runtime_error.<locals>.foo	  s   € ØˆDr   Ú
dummy_typezcan't unbox dummy_type type)	r   r
   ÚDummyr‹   rU   r}   rv   r¹   rº   )re   rq   ÚcresrÓ   s       r   Útest_unbox_runtime_errorz/TestBoxingDefaultError.test_unbox_runtime_error  sÓ   € ð	ð 	ð 	å ¥e¤k°,Ñ&?Ô&?Ð%AÑBÔBˆØ×Ò�yÑ)Ô)ð 	#¨Vð ×Ò˜TÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	×Ò�˜VÔ-Ñ.Ô.Ð0MÑNÔNÐNÐNÐNs   ÁA#Á#A'Á*A'c                 ó  — d„ }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   rq   z:TestBoxingDefaultError.test_box_runtime_error.<locals>.foo  s   € ÝˆOr   r   z/cannot convert native Module.* to Python object)r   r‹   rU   r}   r¼   r¹   rº   )re   rq   r
  rÓ   Úpats        r   Útest_box_runtime_errorz-TestBoxingDefaultError.test_box_runtime_error  sÉ   € ð	ð 	ð 	å  RÑ(Ô(ˆØ×Ò�yÑ)Ô)ð 	¨Vð ×ÒÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð @ˆØ× Ò ¥ VÔ%5Ñ!6Ô!6¸Ñ<Ô<Ð<Ð<Ð<s   ®AÁAÁAN)ri   rj   rk   r  r  r   r   r   r  r    s5   € € € € € ð	Oð 	Oð 	Oð	=ð 	=ð 	=ð 	=ð 	=r   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   rz   r´   r'   )Ú	_compilerrv   r•   Ú_failed_cacher‹   r   ÚTypingError)re   Ú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 )NTrZ   c                 ó   — | d         S rð  r   r   s    r   rq   z8TestNoRetryFailedSignature.test_direct_call.<locals>.foo3  ó   € à�Q”4ˆKr   ©r   r  r…   s     r   Útest_direct_callz+TestNoRetryFailedSignature.test_direct_call2  sA   € Ý	�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	ð 	�Š�cÑÔÐÐÐr   c                 óÔ   ‡‡— t          d¬¦  «        d„ ¦   «         Št          d¬¦  «        ˆfd„¦   «         Št          d¬¦  «        ˆˆfd„¦   «         }|                      |¦  «         d S )NTrZ   c                 ó   — | d         S rð  r   r   s    r   rt   z8TestNoRetryFailedSignature.test_nested_call.<locals>.bar:  r  r   c                 ó   •—  ‰| ¦  «         d S r   r   )r   rt   s    €r   Úfoobarz;TestNoRetryFailedSignature.test_nested_call.<locals>.foobar>  s   ø€ àˆC�‰FŒFˆFˆFˆFr   c                 ó2   •—  ‰| ¦  «         ‰| ¦  «        z   S r   r   )r   rt   r!  s    €€r   rq   z8TestNoRetryFailedSignature.test_nested_call.<locals>.fooB  s   ø€ à�3�q‘6”6˜F˜F 1™IœIÑ%Ð%r   r  )re   rq   rt   r!  s     @@r   Útest_nested_callz+TestNoRetryFailedSignature.test_nested_call9  sª   øø€ Ý	�dÐ	Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ 
�dÐ	Ñ	Ô	ð	ð 	ð 	ð 	ñ 
Ô	ð	õ 
�dÐ	Ñ	Ô	ð	&ð 	&ð 	&ð 	&ð 	&ñ 
Ô	ð	&ð 	�Š�cÑÔÐÐÐr   c                 óš   ‡ — ˆ fd„} |dd¦  «        } |dd¦  «        }‰                       |d¦  «         ‰                       |d¦  «         d S )Nc                 óÆ  •‡‡‡	— d}ddiŠ	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                 óV   •— ‰dxx         dz  cc<   ‰rt          j        d¦  «        ‚d„ S )Nr&  rz   Úinvoke_failedc                 ó   — | S r   r   r   s    r   r�  z]TestNoRetryFailedSignature.test_error_count.<locals>.check.<locals>.trigger.<locals>.<lambda>W  s   €  € r   )r   r  )r   ÚcounterÚ
would_fails    €€r   ÚtriggerzKTestNoRetryFailedSignature.test_error_count.<locals>.check.<locals>.triggerQ  s<   ø€ ð ˜��” Ñ!��‘Øð >Ý Ô,¨_Ñ=Ô=Ð=Ø"�{Ð"r   TrZ   c                 ó   — d S r   r   )r«  r   s     r   ÚidentzITestNoRetryFailedSignature.test_error_count.<locals>.check.<locals>.identY  s   € à�r   c                 ó†   •‡‡— | d         | d d…         cŠ}t          d¬¦  «        ˆˆfd„¦   «         }|r ‰||¦  «        S |S )Nr  TrZ   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„   )Úfsr1  Útab_tailr3  r2  Úchain_assigns    `  @€r   r6  zPTestNoRetryFailedSignature.test_error_count.<locals>.check.<locals>.chain_assign]  sr   øøø€ Ø%'¨¤V¨R°°°¬WÐ"�˜(å˜dÐ#Ñ#Ô#ð*ð *ð *ð *ð *ñ $Ô#ð*ð ð "Ø'˜<¨°&Ñ9Ô9Ð9à!�Mr   r'   rz   r(  )
r   r   r@   rI   r‹   r   r  r¸   r¹   rº   )Úfieldr+  r»  r,  r.  r   r«  rÓ   r6  r*  re   s    `      @@€r   rf   z:TestNoRetryFailedSignature.test_error_count.<locals>.checkI  si  øøøø€ ð
 ˆAØ˜A�hˆ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rK   Fr&  Trz   )rv   )re   rf   Úct_okÚct_bads   `   r   Útest_error_countz+TestNoRetryFailedSignature.test_error_countH  su   ø€ ð+	 ð +	 ð +	 ð +	 ð +	 ðZ ��c˜5Ñ!Ô!ˆØ��s˜DÑ!Ô!ˆð 	×Ò˜ Ñ"Ô"Ð"Ø×Ò˜ Ñ#Ô#Ð#Ð#Ð#r   N)ri   rj   rk   rP  r  r  r#  r:  r   r   r   r  r    sZ   € € € € € ðð ð5ð 5ð 5ð ð ð ðð ð ð3$ð 3$ð 3$ð 3$ð 3$r   r  rz   c                 ó   — | |z   S r   r   r   s     r   Úadd_y1r<  ~  ó   € àˆq‰5€Lr   c                 ó   — | |rdndz   S rœ   r   r   s     r   Ú	add_ynoner?  ƒ  s   € à�Q���˜AÑÐr   c                 ó   — | |z  S r   r   r   s     r   ÚmultrA  ˆ  r=  r   c                 ó    — |  || | ¦  «        z   S r   r   )r   r  s     r   Úadd_funcrC  �  s   € àˆtˆt�A�q‰zŒz‰>Ðr   c                 óN   —  | |¦  «        |                       |¦  «        k    sJ ‚d S r   )r~   )Úf1rä  s     r   Ú_checkerrF  ’  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)rz   r'   r(   )r¢   r_   r   )
ÚmultiprocessingÚget_contextÚAttributeErrorÚProcessrF  r©   rª   Ú_TEST_TIMEOUTrv   Úexitcode)re   ÚfcÚctxrK   Úps        r   Úrun_fc_multiprocz5TestMultiprocessingDefaultParameters.run_fc_multiproc—  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)rT  r<  ©re   s    r   Útest_int_def_paramz7TestMultiprocessingDefaultParameters.test_int_def_param¨  s   € ð 	×Ò�fÑ%Ô%Ð%Ð%Ð%r   c                 ó:   — |                       t          ¦  «         dS )z" Tests None as a default parameterN©rT  rC  rV  s    r   Útest_none_def_paramz8TestMultiprocessingDefaultParameters.test_none_def_param­  ó   € ð 	×Ò�hÑ'Ô'Ð'Ð'Ð'r   c                 ó:   — |                       t          ¦  «         dS )z( Tests a function as a default parameterNrY  rV  s    r   Útest_function_def_paramz<TestMultiprocessingDefaultParameters.test_function_def_param²  r[  r   N)ri   rj   rk   rT  rW  rZ  r]  r   r   r   rH  rH  –  sP   € € € € € ð,ð ,ð ,ð"&ð &ð &ð
(ð (ð (ð
(ð (ð (ð (ð (r   rH  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	   )re   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)ri   rj   rk   rP  rg  r   r   r   r_  r_  ¸  s-   € € € € € ðð ð ð  ð  ð  ð  r   r_  Ú__main__)r'   r(   )r'   )r-   r   rà  )DrK  Úplatformr£   rí   rò   Ú	itertoolsr   Úior   Únumpyr@   Únumbar   r   r   r   r	   Ú
numba.corer
   r   r   Únumba.core.compilerr   Únumba.tests.supportr   r   Únumba.np.numpy_supportr   Únumba.core.dispatcherr   r   r   Únumba.testing.mainr   Ú_RUNNER_TIMEOUTr=  rO  rÕ  ÚImportErrorrÖ  Úmachiner?  r   r!   r%   r*   r,   r7   r=   rW   rY   rn   rA  rR  rT  r^  rØ  r  r  r<  r?  rA  rC  rF  rH  r_  ri   Úmainr   r   r   ú<module>rx     s(  ðØ Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð à =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 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ñ 
ô 
ð 
ðM4ð M4ð M4ð M4ð M4�Xñ M4ô M4ð M4ð`LNð LNð LNð LNð LN˜Hñ LNô LNð LNð^#ð #ð #ð #ð #Ð&;ñ #ô #ð #ð'-ð '-ð '-ð '-ð '-˜hñ '-ô '-ð '-ðTy'ð y'ð y'ð y'ð y'˜Hñ y'ô y'ð y'ðxJ@ð J@ð J@ð J@ð J@ xñ J@ô J@ð J@ðZ=ð =ð =ð =ð =˜XÔ.ñ =ô =ð =ð2]$ð ]$ð ]$ð ]$ð ]$ Ô!2ñ ]$ô ]$ð ]$ð@ ðð ð ñ „ðð ðð ð ñ „ðð ðð ñ „ðð Øð ð ð ñ „ðð&ð &ð &ð(ð (ð (ð (ð (¨;¸Ô8Iñ (ô (ð (ðD ð  ð  ð  ð   HÔ$5ñ  ô  ð  ð$ ˆzÒÐØ€H„M�O„O€O€O€Oð Ðs$   Á3A8 Á8BÂBÂB ÂBÂB