§
    2@Äj–8  ã                   óè   — d dl Z d dlZd dlmZ d dlmZ d dlmZm	Z	 ddl
T d dlZdZdZ ed	¦  «        Z ed
¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zedk    r ej        ¦   «          dS dS )é    N)Újit)Úutils)ÚTestCaseÚforbid_codegené   )Ú*g      °<g      €>ÚinfÚnanc                   óæ   — e Zd ZdZegZej        ej        gZ	e
ge	z   Zej        ej        gZegez   Zeej        gZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%dS )ÚTestAssertPreciseEqualz2
    Tests for TestCase.assertPreciseEqual().
    c                 ón   ‡ ‡— ˆˆ fd„} |||¦  «          |||f||f¦  «          |||g||g¦  «         d S )Nc                 óD   •—  ‰j         | |fi ‰¤Ž  ‰j         || fi ‰¤Ž d S ©N)ÚassertPreciseEqual©ÚleftÚrightÚkwargsÚselfs     €€úIC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_support.pyÚassert_succeedz1TestAssertPreciseEqual.eq.<locals>.assert_succeed    sC   ø€ Ø#ˆDÔ# D¨%Ð:Ð:°6Ð:Ð:Ð:Ø#ˆDÔ# E¨4Ð:Ð:°6Ð:Ð:Ð:Ð:Ð:ó    © )r   r   r   r   r   s   `  ` r   ÚeqzTestAssertPreciseEqual.eq   sp   øø€ ð	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	ˆ�t˜UÑ#Ô#Ð#Øˆ˜˜d�| e¨U ^Ñ4Ô4Ð4Øˆ˜˜d�| e¨U ^Ñ4Ô4Ð4Ð4Ð4r   c                 óÆ   ‡ ‡— ˆˆ fd„} |||¦  «          |||¦  «          |||f||f¦  «          |||f||f¦  «          |||g||g¦  «          |||g||g¦  «         d S )Nc                 ó€   •— 	  ‰j         | |fi ‰¤Ž ‰                     | ›d|›d�¦  «         d S # t          $ r Y d S w xY w)Nz and z unexpectedly considered equal)r   ÚfailÚAssertionErrorr   s     €€r   Úassert_failz.TestAssertPreciseEqual.ne.<locals>.assert_fail(   sq   ø€ ðUØ'�Ô'¨¨eÐ>Ð>°vÐ>Ð>Ð>ð —	’	ÀtÀtÀtÈUÈUÈUÐSÑTÔTÐTÐTÐTøõ "ð ð ð Ø��ðøøøs   ƒ/ ¯
=¼=r   )r   r   r   r   r   s   `  ` r   ÚnezTestAssertPreciseEqual.ne'   s¼   øø€ ð	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	ˆ�D˜%Ñ Ô Ð Øˆ�E˜4Ñ Ô Ð Øˆ�T˜4�L 5¨% .Ñ1Ô1Ð1Øˆ�U˜E�N T¨4 LÑ1Ô1Ð1Øˆ�T˜4�L 5¨% .Ñ1Ô1Ð1Øˆ�U˜E�N T¨4 LÑ1Ô1Ð1Ð1Ð1r   c                 ój  — t          j        | j        | j        | j        ¦  «        D ]~\  }}}|                       |d¦  «         |d¦  «        ¦  «         |                       |d¦  «         |d¦  «        ¦  «         |                       |d¦  «         |d¦  «        ¦  «         Œt          j        | j        | j        ¦  «        D ]-\  }}|                       |d¦  «         |d¦  «        ¦  «         Œ.t          j        | j        | j        ¦  «        D ]-\  }}|                       |d¦  «         |d¦  «        ¦  «         Œ.t          j        | j        | j        ¦  «        D ]Z\  }}||u r)|                       |d¦  «         |d¦  «        ¦  «         Œ2|                       |d¦  «         |d¦  «        ¦  «         Œ[t          j        | j	        | j	        ¦  «        D ]Z\  }}||u r)|                       |d¦  «         |d¦  «        ¦  «         Œ2|                       |d¦  «         |d¦  «        ¦  «         Œ[d S ©Nr   )
Ú	itertoolsÚproductÚ	int_typesÚfloat_typesÚcomplex_typesr    r   Ú
bool_typesÚnp_float_typesÚnp_complex_types)r   ÚiÚfÚcÚuÚvs         r   Ú
test_typesz!TestAssertPreciseEqual.test_types6   s>  € õ !Ô(¨¬¸Ô9IØ)-Ô);ñ=ô =ð 	 ð 	 ‰GˆAˆq�!à�GŠG�A�A�a‘D”D˜!˜!˜A™$œ$ÑÔÐØ�GŠG�A�A�a‘D”D˜!˜!˜A™$œ$ÑÔÐØ�GŠG�A�A�a‘D”D˜!˜!˜A™$œ$ÑÔÐÐåÔ% d¤n°d´nÑEÔEð 	 ð 	 ‰DˆAˆqØ�GŠG�A�A�a‘D”D˜!˜!˜A™$œ$ÑÔÐÐåÔ% d¤n°d´oÑFÔFð 	 ð 	 ‰DˆAˆqØ�GŠG�A�A�a‘D”D˜!˜!˜A™$œ$ÑÔÐÐåÔ% dÔ&9¸4Ô;NÑOÔOð 	$ð 	$‰DˆAˆqØ�AˆvˆvØ—’˜˜˜!™œ˜a˜a ™dœdÑ#Ô#Ð#Ð#à—’˜˜˜!™œ˜a˜a ™dœdÑ#Ô#Ð#Ð#åÔ% dÔ&;¸TÔ=RÑSÔSð 	$ð 	$‰DˆAˆqØ�AˆvˆvØ—’˜˜˜!™œ˜a˜a ™dœdÑ#Ô#Ð#Ð#à—’˜˜˜!™œ˜a˜a ™dœdÑ#Ô#Ð#Ð#ð		$ð 	$r   c           
      ó†  — | j         D ]¸}dD ]³}|                       |d¦  «         |d¦  «        |¬¦  «         |                       |d¦  «         |d¦  «        |¬¦  «         |                       |d¦  «         |d¦  «        |¬¦  «         |                       |ddz  ¦  «         |dddz  z   ¦  «        |¬¦  «         Œ´Œ¹d S )N©ÚexactÚsingleÚdoubler   ©Úprecr   éÿÿÿÿé   éP   )r%   r   r    ©r   Útpr7   s      r   Útest_int_valuesz&TestAssertPreciseEqual.test_int_valuesQ   sà   € Ø”.ð 	;ð 	;ˆBØ5ð ;ð ;�Ø—’˜˜˜1™œ˜r˜r !™uœu¨4�Ñ0Ô0Ð0Ø—’˜˜˜1™œ˜r˜r !™uœu¨4�Ñ0Ô0Ð0Ø—’˜˜˜2™œ   1¡¤¨D�Ñ1Ô1Ð1Ø—’˜˜˜1˜b™5™	œ	 2 2 a¨¨2©¡g¡;¤;°T�Ñ:Ô:Ð:Ð:ð	;ð	;ð 	;r   c                 ó@  — t          j        | j        | j        ¦  «        D ]}\  }}|                       |d¦  «         |d¦  «        ¦  «         |                       |d¦  «         |d¦  «        ¦  «         |                       |d¦  «         |d¦  «        ¦  «         Œ~d S )NTF)r#   r$   r(   r   r    )r   ÚtpaÚtpbs      r   Útest_bool_valuesz'TestAssertPreciseEqual.test_bool_valuesY   sŸ   € Ý!Ô)¨$¬/¸4¼?ÑKÔKð 	+ð 	+‰HˆC�Ø�GŠG�C�C˜‘I”I˜s˜s 4™yœyÑ)Ô)Ð)Ø�GŠG�C�C˜‘J”J   E¡
¤
Ñ+Ô+Ð+Ø�GŠG�C�C˜‘I”I˜s˜s 5™zœzÑ*Ô*Ð*Ð*ð	+ð 	+r   c                 óÚ  — |                       t          ¦  «        5  |                      t          j        d¦  «        t          j        d¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                       t          ¦  «        5  |                      t          j        d¦  «        t          j        d¦  «        t          d¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nç—ÔFFõg<Úinvalid)Úabs_tolr   r9   é   )ÚassertRaisesÚ
ValueErrorr   ÚnpÚfloat64Úint)r   s    r   Útest_abs_tol_parsez)TestAssertPreciseEqual.test_abs_tol_parse_   sb  € à×Ò�zÑ*Ô*ð 	Mð 	MØ�GŠG•B”J˜uÑ%Ô%¥r¤z°%Ñ'8Ô'8À)ˆGÑLÔLÐLð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mà×Ò�zÑ*Ô*ð 	Bð 	BØ�GŠG•B”J˜q‘M”M¥2¤:¨a¡=¤=½#¸a¹&¼&ˆGÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bs$   ›=A$Á$A(Á+A(Â	A
C Ã C$Ã'C$c                 ó  — | j         D �]w}dD �]p}|                       |d¦  «         |d¦  «        |¬¦  «         |                       |d¦  «         |d¦  «        |¬¦  «         |                       |d¦  «         |d¦  «        |¬¦  «         |                       |d¦  «         |d¦  «        |¬¦  «         |                       |d¦  «         |d¦  «        |d¬¦  «         |                       |t          ¦  «         |t          ¦  «        |¬¦  «         |                       |t          ¦  «         |d¦  «        |¬¦  «         |                       |t           ¦  «         |t           ¦  «        |¬¦  «         |                       |t          ¦  «         |t           ¦  «        |¬¦  «         |                       |t          ¦  «         |t          ¦  «        |¬¦  «         |                       |t          ¦  «         |d	¦  «        |¬¦  «         |                       |t          ¦  «         |t          ¦  «        |¬¦  «         |                       |t          ¦  «         |t           ¦  «        |¬¦  «         �Œr�Œyd S )
Nr2   g      ø?r6   ç        ç       €T)r7   Úignore_sign_on_zerog±¡*ÓÎÒGr   )r&   r   r    ÚINFÚNANr;   s      r   Útest_float_valuesz(TestAssertPreciseEqual.test_float_valuesf   sG  € ØÔ"ð 	6ñ 	6ˆBØ5ð 6ñ 6�Ø—’˜˜˜3™œ   C¡¤¨t�Ñ4Ô4Ð4à—’˜˜˜3™œ   C¡¤¨t�Ñ4Ô4Ð4Ø—’˜˜˜4™œ " " T¡(¤(°�Ñ6Ô6Ð6Ø—’˜˜˜3™œ   D¡¤°�Ñ5Ô5Ð5Ø—’˜˜˜3™œ   D¡¤°È$�ÑOÔOÐOà—’˜˜�3™œ  ¥C¡¤¨t�Ñ4Ô4Ð4Ø—’˜˜�3™œ   D¡¤°�Ñ5Ô5Ð5Ø—’˜˜�C˜4™œ " "¥c T¡(¤(°�Ñ6Ô6Ð6Ø—’˜˜�3™œ  ¥S D¡¤°�Ñ5Ô5Ð5à—’˜˜�3™œ  ¥C¡¤¨t�Ñ4Ô4Ð4Ø—’˜˜�3™œ   A¡¤¨T�Ñ2Ô2Ð2Ø—’˜˜�3™œ  ¥C¡¤¨t�Ñ4Ô4Ð4Ø—’˜˜�3™œ  ¥S D¡¤°�Ñ5Ô5Ð5Ñ5ñ!6ð	6ð 	6r   c                 ó’   — t           t          j        fD ]2}|                       |dt          z   ¦  «         |d¦  «        ¦  «         Œ3d S ©Nç      ð?)ÚfloatrI   rJ   r    ÚDBL_EPSILON©r   r<   s     r   Útest_float64_valuesz*TestAssertPreciseEqual.test_float64_valuesz   sP   € Ý�"œ*Ð%ð 	4ð 	4ˆBØ�GŠG�B�B�s�[Ñ(Ñ)Ô)¨2¨2¨c©7¬7Ñ3Ô3Ð3Ð3ð	4ð 	4r   c                 ó~   — t           j        }|                       |dt          z   ¦  «         |d¦  «        ¦  «         d S rU   )rI   Úfloat32r    ÚFLT_EPSILONrY   s     r   Útest_float32_valuesz*TestAssertPreciseEqual.test_float32_values~   s:   € ÝŒZˆØ�Š���3�Ñ$Ñ%Ô% r r¨#¡w¤wÑ/Ô/Ð/Ð/Ð/r   c                 óú  — t           t          j        fD �]e}dD �]²}|dz  }|dt          z   z  }|dt          dz  z   z  }|dt          dz  z   z  }|                       ||¦  «         ||¦  «        ¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        dd¬	¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        dd¬	¦  «         |                       ||¦  «         ||¦  «        dd¬	¦  «         |                       ||¦  «         ||¦  «        dd
¬	¦  «         |                       ||¦  «         ||¦  «        dd
¬	¦  «         �Œ´|                       |d¦  «         |d¦  «        dd¬¦  «         |                       |d¦  «         |d¦  «        dd¬¦  «         |                       |d¦  «         |d¦  «        dd¬¦  «         |                       |d¦  «         |d¦  «        dd¬¦  «         �Œgd S )N©rV   iøÿÿÿg      °?g      °¾rV   r9   é   r3   r6   r5   r   ©r7   Úulpsé   g¼‰Ø—²Òœ<gMgâñžµ<Úeps©r7   rE   g¼‰Ø—²Ò¼<rC   g¬CÒÑ]r2<gqµô7K�<)rW   rI   rJ   rX   r    r   ©r   r<   ÚscaleÚaÚbr-   Úds          r   Útest_float64_values_inexactz2TestAssertPreciseEqual.test_float64_values_inexact‚   s�  € Ý�"œ*Ð%ð 	Hñ 	HˆBØ5ð =ñ =�Ø˜C‘K�Ø˜S¥;Ñ.Ñ/�Ø˜S¥;°¡?Ñ2Ñ3�Ø˜S¥;°¡?Ñ2Ñ3�Ø—’˜˜˜1™œ˜r˜r !™uœuÑ%Ô%Ð%Ø—’˜˜˜1™œ˜r˜r !™uœu¨7�Ñ3Ô3Ð3Ø—’˜˜˜1™œ˜r˜r !™uœu¨8�Ñ4Ô4Ð4Ø—’˜˜˜1™œ˜r˜r !™uœu¨8¸!�Ñ<Ô<Ð<Ø—’˜˜˜1™œ˜r˜r !™uœu¨8�Ñ4Ô4Ð4Ø—’˜˜˜1™œ˜r˜r !™uœu¨8¸!�Ñ<Ô<Ð<Ø—’˜˜˜1™œ˜r˜r !™uœu¨8¸!�Ñ<Ô<Ð<Ø—’˜˜˜1™œ˜r˜r !™uœu¨8¸!�Ñ<Ô<Ð<Ø—’˜˜˜1™œ˜r˜r !™uœu¨8¸!�Ñ<Ô<Ð<Ñ<à�GŠG�B�B�u‘I”I˜r˜r %™yœy¨xÀˆGÑGÔGÐGØ�GŠG�B�B�u‘I”I˜r˜r %™yœy¨xÀˆGÑGÔGÐGà�GŠG�B�B�u‘I”I˜r˜r %™yœy¨xÀˆGÑGÔGÐGØ�GŠG�B�B�u‘I”I˜r˜r %™yœy¨xÀˆGÑGÔGÐGÑGð)	Hð 	Hr   c                 óà  — t           j        }dD �]±}|dz  }|dt          z   z  }|dt          dz  z   z  }|dt          dz  z   z  }|                       ||¦  «         ||¦  «        ¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        dd¬	¦  «         |                       ||¦  «         ||¦  «        dd¬	¦  «         |                       ||¦  «         ||¦  «        dd
¬	¦  «         |                       ||¦  «         ||¦  «        dd
¬	¦  «         �Œ³|                       |d¦  «         |d¦  «        dd¬¦  «         |                       |d¦  «         |d¦  «        dd¬¦  «         |                       |d¦  «         |d¦  «        dd¬¦  «         |                       |d¦  «         |d¦  «        dd¬¦  «         d S )Nr`   rV   r9   ra   r3   r6   r5   r4   rb   rd   gH¯¼šò×z>gH¯¼šò×Š>re   rf   gvƒôõ!”>g:Œ0âŽyE>)rI   r\   r]   r    r   rg   s          r   Útest_float32_values_inexactz2TestAssertPreciseEqual.test_float32_values_inexact™   su  € ÝŒZˆØ1ð 	9ñ 	9ˆEð ˜‘ˆAØ˜�{Ñ*Ñ+ˆAØ˜�{¨Q™Ñ.Ñ/ˆAØ˜�{¨Q™Ñ.Ñ/ˆAØ�GŠG�B�B�q‘E”E˜2˜2˜a™5œ5Ñ!Ô!Ð!Ø�GŠG�B�B�q‘E”E˜2˜2˜a™5œ5 wˆGÑ/Ô/Ð/Ø�GŠG�B�B�q‘E”E˜2˜2˜a™5œ5 xˆGÑ0Ô0Ð0Ø�GŠG�B�B�q‘E”E˜2˜2˜a™5œ5 xˆGÑ0Ô0Ð0Ø�GŠG�B�B�q‘E”E˜2˜2˜a™5œ5 xˆGÑ0Ô0Ð0Ø�GŠG�B�B�q‘E”E˜2˜2˜a™5œ5 x°aˆGÑ8Ô8Ð8Ø�GŠG�B�B�q‘E”E˜2˜2˜a™5œ5 x°aˆGÑ8Ô8Ð8Ø�GŠG�B�B�q‘E”E˜2˜2˜a™5œ5 x°aˆGÑ8Ô8Ð8Ø�GŠG�B�B�q‘E”E˜2˜2˜a™5œ5 x°aˆGÑ8Ô8Ð8Ñ8à�Š���4‘”˜"˜"˜T™(œ(¨¸5ˆÑAÔAÐAØ�Š���4‘”˜"˜"˜T™(œ(¨¸5ˆÑAÔAÐAà�Š���4‘”˜"˜"˜T™(œ(¨¸4ˆÑ@Ô@Ð@Ø�Š���4‘”˜"˜"˜T™(œ(¨¸4ˆÑ@Ô@Ð@Ð@Ð@r   c                 ó†  — t          dd¦  «        t          dd¦  «        t          dd¦  «        t          dd¦  «        g\  }}}}| j        D �]t}dD �]}|                       |d¦  «         |d¦  «        |¬¦  «         |                       |d¦  «         |d¦  «        |¬¦  «         |                       |d¦  «         |d¦  «        |¬¦  «         |                       ||¦  «         ||¦  «        |¬¦  «         |                       ||¦  «         ||¦  «        |¬¦  «         |                       ||¦  «         ||¦  «        |¬¦  «         |                       ||¦  «         ||¦  «        |¬¦  «         |                       ||¦  «         ||¦  «        |¬¦  «         |                       |t          t          t          ¦  «        ¦  «         |t          t          t          ¦  «        ¦  «        |¬¦  «         |                       |t          t          t           ¦  «        ¦  «         |t          t          t           ¦  «        ¦  «        |¬¦  «         |                       |t          t           t           ¦  «        ¦  «         |t          t           t           ¦  «        ¦  «        |¬¦  «         |                       |t          t          t          ¦  «        ¦  «         |t          t          t           ¦  «        ¦  «        |¬¦  «         |                       |t          t          t          ¦  «        ¦  «         |t          t           t          ¦  «        ¦  «        |¬¦  «         |                       |t          t          d¦  «        ¦  «         |t          t          d¦  «        ¦  «        |¬¦  «         |                       |t          t
          d¦  «        ¦  «         |t          t
          d¦  «        ¦  «        |¬¦  «         |                       |t          dt
          ¦  «        ¦  «         |t          dt
          ¦  «        ¦  «        |¬¦  «         |                       |t          t
          t
          ¦  «        ¦  «         |t          t
          t
          ¦  «        ¦  «        |¬¦  «         |                       |t          t          t
          ¦  «        ¦  «         |t          t          t
          ¦  «        ¦  «        |¬¦  «         |                       |t          t
          t           ¦  «        ¦  «         |t          t
          t           ¦  «        ¦  «        |¬¦  «         �Œ|                       |t          t          d¦  «        ¦  «         |t          t          d	¦  «        ¦  «        d
¬¦  «         �Œvd S )NrN   rO   r2   y      ð?       @r6   y      ð?      ð?y       @       @r   r   r3   )Úcomplexr'   r   r    rQ   rR   )r   Úc_ppÚc_pnÚc_npÚc_nnr<   r7   s          r   Útest_complex_valuesz*TestAssertPreciseEqual.test_complex_values²   sÄ  € õ #*¨#¨sÑ"3Ô"3µW¸SÀ$Ñ5GÔ5GÝ")¨$°Ñ"4Ô"4µg¸dÀDÑ6IÔ6Ið"KÑˆˆd�D˜$àÔ$ð 	Lñ 	LˆBØ5ð Sñ S�Ø—’˜˜˜6™
œ
 B B v¡J¤J°T�Ñ:Ô:Ð:Ø—’˜˜˜6™
œ
 B B v¡J¤J°T�Ñ:Ô:Ð:Ø—’˜˜˜6™
œ
 B B v¡J¤J°T�Ñ:Ô:Ð:à—’˜˜˜4™œ " " T¡(¤(°�Ñ6Ô6Ð6Ø—’˜˜˜4™œ " " T¡(¤(°�Ñ6Ô6Ð6Ø—’˜˜˜4™œ " " T¡(¤(°�Ñ6Ô6Ð6Ø—’˜˜˜4™œ " " T¡(¤(°�Ñ6Ô6Ð6Ø—’˜˜˜4™œ " " T¡(¤(°�Ñ6Ô6Ð6à—’˜˜�7¥3­Ñ,Ô,Ñ-Ô-¨r¨rµ'½#½sÑ2CÔ2CÑ/DÔ/DÈ4�ÑPÔPÐPØ—’˜˜�7¥3­¨Ñ-Ô-Ñ.Ô.°°µ7½3ÅÀÑ3EÔ3EÑ0FÔ0FÈT�ÑRÔRÐRØ—’˜˜�7¥C 4­#¨Ñ.Ô.Ñ/Ô/°°µG½S¸DÅ3À$Ñ4GÔ4GÑ1HÔ1HÈt�ÑTÔTÐTØ—’˜˜�7¥3­Ñ,Ô,Ñ-Ô-¨r¨rµ'½#Å¸tÑ2DÔ2DÑ/EÔ/EÈD�ÑQÔQÐQØ—’˜˜�7¥3­Ñ,Ô,Ñ-Ô-¨r¨rµ'½3¸$ÅÑ2DÔ2DÑ/EÔ/EÈD�ÑQÔQÐQØ—’˜˜�7¥3¨™?œ?Ñ+Ô+¨R¨Rµ½¸Q±´Ñ-@Ô-@Àt�ÑLÔLÐLà—’˜˜�7¥3¨™?œ?Ñ+Ô+¨R¨Rµ½¸Q±´Ñ-@Ô-@Àt�ÑLÔLÐLØ—’˜˜�7 1¥c™?œ?Ñ+Ô+¨R¨Rµ¸½3±´Ñ-@Ô-@Àt�ÑLÔLÐLØ—’˜˜�7¥3­Ñ,Ô,Ñ-Ô-¨r¨rµ'½#½sÑ2CÔ2CÑ/DÔ/DÈ4�ÑPÔPÐPØ—’˜˜�7¥3­Ñ,Ô,Ñ-Ô-¨r¨rµ'½#½sÑ2CÔ2CÑ/DÔ/DÈ4�ÑPÔPÐPØ—’˜˜�7¥3­¨Ñ-Ô-Ñ.Ô.°°µ7½3ÅÀÑ3EÔ3EÑ0FÔ0FÈT�ÑRÔRÐRÑRð �GŠG�B�B•w�s A‘”Ñ'Ô'¨¨­GµC¸©O¬OÑ)<Ô)<À7ˆGÑKÔKÐKÑKð?	Lð 	Lr   c                 óÌ  — t           t          j        fD �]N}dD �]G}|dz  }|dt          z   z  }|dt          dz  z   z  } |t          ||¦  «        ¦  «        } |t          ||¦  «        ¦  «        } |t          ||¦  «        ¦  «        }|                       ||¦  «         ||¦  «        ¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        d¬¦  «          |t          ||¦  «        ¦  «        }	 |t          ||¦  «        ¦  «        }
|                       ||¦  «         ||	¦  «        d¬¦  «         |                       ||	¦  «         ||
¦  «        d¬¦  «         |                       ||¦  «         ||	¦  «        dd¬¦  «         |                       ||	¦  «         ||
¦  «        dd¬¦  «         |                       ||¦  «         ||
¦  «        dd¬¦  «         |                       ||¦  «         ||
¦  «        d¬¦  «         �ŒI�ŒPd S )Nr`   rV   r9   r5   r6   rb   r4   )rp   rI   Ú
complex128rX   r    r   ©r   r<   rh   ri   rj   r-   ÚaaÚabÚbbÚacÚccs              r   Útest_complex128_values_inexactz5TestAssertPreciseEqual.test_complex128_values_inexactØ   si  € Ý�BœMÐ*ð 	7ñ 	7ˆBØ5ð 7ñ 7�Ø˜C‘K�Ø˜S¥;Ñ.Ñ/�Ø˜S¥;°¡?Ñ2Ñ3�Ø�R�  1™œÑ&Ô&�Ø�R�  1™œÑ&Ô&�Ø�R�  1™œÑ&Ô&�Ø—’˜˜˜2™œ   2¡¤Ñ'Ô'Ð'Ø—’˜˜˜2™œ   2¡¤¨X�Ñ6Ô6Ð6Ø—’˜˜˜2™œ   2¡¤¨X�Ñ6Ô6Ð6Ø—’˜˜˜2™œ   2¡¤¨X�Ñ6Ô6Ð6Ø�R�  1™œÑ&Ô&�Ø�R�  1™œÑ&Ô&�Ø—’˜˜˜2™œ   2¡¤¨X�Ñ6Ô6Ð6Ø—’˜˜˜2™œ   2¡¤¨X�Ñ6Ô6Ð6Ø—’˜˜˜2™œ   2¡¤¨X¸A�Ñ>Ô>Ð>Ø—’˜˜˜2™œ   2¡¤¨X¸A�Ñ>Ô>Ð>Ø—’˜˜˜2™œ   2¡¤¨X¸A�Ñ>Ô>Ð>Ø—’˜˜˜2™œ   2¡¤¨X�Ñ6Ô6Ð6Ñ6ñ%7ð	7ð 	7r   c                 ó´  — t           j        }dD �]G}|dz  }|dt          z   z  }|dt          dz  z   z  } |t          ||¦  «        ¦  «        } |t          ||¦  «        ¦  «        } |t          ||¦  «        ¦  «        }|                       ||¦  «         ||¦  «        ¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        d¬¦  «         |                       ||¦  «         ||¦  «        d¬¦  «          |t          ||¦  «        ¦  «        }	 |t          ||¦  «        ¦  «        }
|                       ||¦  «         ||	¦  «        d¬¦  «         |                       ||	¦  «         ||
¦  «        d¬¦  «         |                       ||¦  «         ||	¦  «        dd¬¦  «         |                       ||	¦  «         ||
¦  «        dd¬¦  «         |                       ||¦  «         ||
¦  «        dd¬¦  «         �ŒId S )Nr`   rV   r9   r5   r6   r4   rb   )rI   Ú	complex64r]   rp   r    r   rx   s              r   Útest_complex64_values_inexactz4TestAssertPreciseEqual.test_complex64_values_inexactî   sU  € ÝŒ\ˆØ1ð 	;ñ 	;ˆEØ˜‘ˆAØ˜�{Ñ*Ñ+ˆAØ˜�{¨Q™Ñ.Ñ/ˆAØ�•G˜A˜q‘M”MÑ"Ô"ˆBØ�•G˜A˜q‘M”MÑ"Ô"ˆBØ�•G˜A˜q‘M”MÑ"Ô"ˆBØ�GŠG�B�B�r‘F”F˜B˜B˜r™FœFÑ#Ô#Ð#Ø�GŠG�B�B�r‘F”F˜B˜B˜r™FœF¨ˆGÑ2Ô2Ð2Ø�GŠG�B�B�r‘F”F˜B˜B˜r™FœF¨ˆGÑ2Ô2Ð2Ø�GŠG�B�B�r‘F”F˜B˜B˜r™FœF¨ˆGÑ2Ô2Ð2Ø�GŠG�B�B�r‘F”F˜B˜B˜r™FœF¨ˆGÑ2Ô2Ð2Ø�•G˜A˜q‘M”MÑ"Ô"ˆBØ�•G˜A˜q‘M”MÑ"Ô"ˆBØ�GŠG�B�B�r‘F”F˜B˜B˜r™FœF¨ˆGÑ2Ô2Ð2Ø�GŠG�B�B�r‘F”F˜B˜B˜r™FœF¨ˆGÑ2Ô2Ð2Ø�GŠG�B�B�r‘F”F˜B˜B˜r™FœF¨¸ˆGÑ:Ô:Ð:Ø�GŠG�B�B�r‘F”F˜B˜B˜r™FœF¨¸ˆGÑ:Ô:Ð:Ø�GŠG�B�B�r‘F”F˜B˜B˜r™FœF¨¸ˆGÑ:Ô:Ð:Ñ:ð%	;ð 	;r   c                 óˆ  — t           j        t           j        t           j        t          j        t          j        t          j        t          j
        t          j        g}|D ]3}|                      ||¦  «         |                      ||j        ¦  «         Œ4t          j        |d¦  «        D ]\  }}|                      ||¦  «         Œd S )Nr9   )ÚColorÚredÚgreenÚblueÚShakeÚmintÚShapeÚcircleÚsquareÚPlanetÚEARTHÚMERCURYr   r    Úvaluer#   Úcombinations)r   ÚvaluesÚvalri   rj   s        r   Ú
test_enumsz!TestAssertPreciseEqual.test_enums  s¥   € Ý”)�Uœ[­%¬*µe´jÝ”,¥¤­f¬l½F¼NðLˆàð 	$ð 	$ˆCØ�GŠG�C˜ÑÔÐØ�GŠG�C˜œÑ#Ô#Ð#Ð#ÝÔ*¨6°1Ñ5Ô5ð 	ð 	‰DˆAˆqØ�GŠG�A�q‰MŒMˆMˆMð	ð 	r   c                 óÌ  — t          j        ddt           j        ¬¦  «                             d¦  «        }|                     ¦   «         }|                      ||¦  «         |                      ||dz   ¦  «         |                      ||d d…         ¦  «         |                      ||j        ¦  «         |                      ||                     t           j	        ¦  «        ¦  «         |                      ||j                             ¦   «         j        ¦  «         |                      || 
                    ¦   «         ¦  «         d|j        _        |                      ||¦  «         t          j        ddt           j        ¬¦  «        }|dt          z   z  }|dt          d	z  z   z  }|                      ||¦  «         |                      ||d
¬¦  «         |                      ||d
¬¦  «         d S )Nr   rF   )Údtype)r9   rd   r8   Frd   rV   r9   r5   r6   )rI   ÚarangeÚint16ÚreshapeÚcopyr   r    ÚTÚastypeÚint32ÚflattenÚflagsÚ	writeablerJ   rX   )r   ri   rj   r-   s       r   Útest_arraysz"TestAssertPreciseEqual.test_arrays  s‡  € ÝŒI�a˜¥"¤(Ð+Ñ+Ô+×3Ò3°FÑ;Ô;ˆØ�FŠF‰HŒHˆØ�Š��1‰Œˆà�Š��1�q‘5ÑÔÐØ�Š��1�S�b�S”6ÑÔÐØ�Š��1”3‰Œˆà�Š��1—8’8�BœHÑ%Ô%Ñ&Ô&Ð&à�Š��1”3—8’8‘:”:”<Ñ Ô Ð à�Š��1—9’9‘;”;ÑÔÐà!ˆŒÔØ�Š��1‰ŒˆåŒI�a˜¥"¤*Ð-Ñ-Ô-ˆØ�•{Ñ"Ñ#ˆØ�•{ Q‘Ñ&Ñ'ˆØ�Š��1‰ŒˆØ�Š��1˜8ˆÑ$Ô$Ð$Ø�Š��1˜8ˆÑ$Ô$Ð$Ð$Ð$r   c                 ó2  — t          j        dd¦  «        }t          j        dd¦  «        }t          j        dd¦  «        }t          j        dd¦  «        }|                      ||¦  «         |                      ||¦  «         |                      ||¦  «         d S )NÚ1900ÚYz
1900-01-01ÚDÚ1901)rI   Ú
datetime64r   r    ©r   ri   rj   r-   rk   s        r   Útest_npdatetimez&TestAssertPreciseEqual.test_npdatetime&  s}   € ÝŒM˜& #Ñ&Ô&ˆÝŒM˜& #Ñ&Ô&ˆÝŒM˜,¨Ñ,Ô,ˆÝŒM˜& #Ñ&Ô&ˆØ�Š��1‰Œˆà�Š��1‰Œˆà�Š��1‰Œˆˆˆr   c                 ó2  — t          j        dd¦  «        }t          j        dd¦  «        }t          j        dd¦  «        }t          j        dd¦  «        }|                      ||¦  «         |                      ||¦  «         |                      ||¦  «         d S )Nr   Úhé<   Úmr9   )rI   Útimedelta64r   r    r§   s        r   Útest_nptimedeltaz'TestAssertPreciseEqual.test_nptimedelta1  s}   € ÝŒN˜1˜cÑ"Ô"ˆÝŒN˜1˜cÑ"Ô"ˆÝŒN˜2˜sÑ#Ô#ˆÝŒN˜1˜cÑ"Ô"ˆØ�Š��1‰Œˆà�Š��1‰Œˆà�Š��1‰Œˆˆˆr   N)&Ú__name__Ú
__module__Ú__qualname__Ú__doc__rK   r%   rI   r\   rJ   r)   rW   r&   r€   rw   r*   rp   r'   ÚboolÚbool_r(   r   r    r0   r=   rA   rL   rS   rZ   r^   rl   rn   ru   r~   r�   r“   r    r¨   r®   r   r   r   r   r      s„  € € € € € ðð ð �€IØ”j "¤*Ð-€NØ�'˜NÑ*€KØœ b¤mÐ4ÐØ�IÐ 0Ñ0€MØ˜œÐ!€Jð5ð 5ð 5ð2ð 2ð 2ð$ð $ð $ð6;ð ;ð ;ð+ð +ð +ðBð Bð Bð6ð 6ð 6ð(4ð 4ð 4ð0ð 0ð 0ðHð Hð Hð.Að Að Að2$Lð $Lð $LðL7ð 7ð 7ð,;ð ;ð ;ð,ð ð ð%ð %ð %ð2	ð 	ð 	ð	ð 	ð 	ð 	ð 	r   r   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestMiscc                 óô  — t          ¦   «         }t          ¦   «         }g }|                      ||¦  «        5  	 d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5 }|                      ||¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |                      t          |¦  «        t          |j        ¦  «        ¦  «         d S r   )ÚobjectÚassertRefCountrG   r   ÚappendÚassertInÚstrÚ	exception)r   ÚxÚyÚlÚcms        r   Útest_assertRefCountzTestMisc.test_assertRefCount?  s“  € å‰HŒHˆÝ‰HŒHˆØˆØ× Ò   AÑ&Ô&ð 	ð 	Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�~Ñ.Ô.ð 	°"à×$Ò$ Q¨Ñ*Ô*ð ð Ø—’˜‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�Š•c˜!‘f”f�c "¤,Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0sG   µAÁAÁ
AÁ(B8Á?B!ÂB8Â!B%	Â%B8Â(B%	Â)B8Â8B<Â?B<c                 óR  — d„ }t          ¦   «         5  |                      t          ¦  «        5 } t          d¬¦  «        |¦  «        } |¦   «          ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         dS )zg
        Test that forbid_codegen() prevents code generation using the @jit
        decorator.
        c                  ó   — dS r"   r   r   r   r   r,   z'TestMisc.test_forbid_codegen.<locals>.fQ  s   € Ø�1r   T)ÚnopythonNzcodegen forbidden by test case)r   rG   ÚRuntimeErrorr   r»   r¼   r½   )r   r,   ÚraisesÚcfuncs       r   Útest_forbid_codegenzTestMisc.test_forbid_codegenL  s%  € ð
	ð 	ð 	åÑÔð 	ð 	Ø×"Ò"¥<Ñ0Ô0ð °FØ*� TÐ*Ñ*Ô*¨1Ñ-Ô-�Ø�‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠÐ6½¸FÔ<LÑ8MÔ8MÑNÔNÐNÐNÐNs4   ’A4­$AÁA4ÁA!	Á!A4Á$A!	Á%A4Á4A8Á;A8N)r¯   r°   r±   rÂ   rÉ   r   r   r   r¶   r¶   =  s7   € € € € € ð1ð 1ð 1ðOð Oð Oð Oð Or   r¶   Ú__main__)r#   ÚnumpyrI   Únumbar   Ú
numba.corer   Únumba.tests.supportr   r   Úenum_usecasesÚunittestrX   r]   rW   rQ   rR   r   r¶   r¯   Úmainr   r   r   ú<module>rÒ      s  ðØ Ð Ð Ð à Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8à Ð Ð Ð Ø €€€à€Ø€à€eˆE�l„l€Ø€eˆE�l„l€ðgð gð gð gð g˜Xñ gô gð gðT	Oð Oð Oð Oð Oˆxñ Oô Oð Oð: ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   