+
    ei c                   s|   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
u Ht ^ RIHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtH t H!t!H"t"  ! R R4      t# ! R R]#4      t$ ! R R4      t% ! R	 R
]$4      t& ! R R]#4      t' ! R R]#4      t( ! R R4      t) ! R R4      t* ! R R4      t+ ! R R4      t, ! R R4      t- ! R R4      t. ! R R4      t/R t0R t1R t2R  t3R! t4R" t5R# t6R$ t7R% t8R& t9R' t: ! R( R)]4      t;R* t<]Pz                  P}                  ]'       * R+R,7       ! R- R.4      4       t?R# )/    N)HAS_REFCOUNTassert_assert_allcloseassert_almost_equalassert_approx_equalassert_array_almost_equalassert_array_almost_equal_nulpassert_array_equalassert_array_lessassert_array_max_ulpassert_equalassert_no_gc_cyclesassert_no_warningsassert_raisesassert_string_equalassert_warnsbuild_err_msgclear_and_catch_warningssuppress_warningstempdirtemppathc                   sP   a  ] tR t^%t o R tR tR tR tR tR t	R t
R tR	tV tR
# )_GenericTestc                s(    V P                  W4       R # N_assert_funcselfab   &&&E/usr/lib64/python3.14/site-packages/numpy/testing/tests/test_utils.py_test_equalZ_GenericTest._test_equal'   s    !    c                s    \        \        4      ;_uu_ 4        V P                  W4       R R R 4       R #   + '       g   i     R # ; ir   )r   AssertionErrorr   r   r   r   _test_not_equalZ_GenericTest._test_not_equal*   s*    >**a# +***s	   4A	c                s    \         P                  ! ^^.4      p\         P                  ! ^^.4      pV P                  W4       R# )z/Test two equal array of rank 1 are found equal.Nnparrayr    r      &  r   test_array_rank1_eqZ _GenericTest.test_array_rank1_eq.   s4    HHaVHHaVr!   c                s    \         P                  ! ^^.4      p\         P                  ! ^^.4      pV P                  W4       R# )z7Test two different array of rank 1 are found not equal.Nr%   r&   r#   r   r'   r   test_array_rank1_noteqZ#_GenericTest.test_array_rank1_noteq5   s4    HHaVHHaVQ"r!   c                s    \         P                  ! ^^.^^..4      p\         P                  ! ^^.^^..4      pV P                  W4       R# )z/Test two equal array of rank 2 are found equal.Nr$   r   r'   r   test_array_rank2_eqZ _GenericTest.test_array_rank2_eq<   sF    HHq!fq!f%&HHq!fq!f%&r!   c                s    \         P                  ! ^^.4      p\         P                  ! ^^.^^..4      pV P                  W4       R# ):Test two arrays with different shapes are found not equal.Nr)   r   r'   r   test_array_diffshapeZ!_GenericTest.test_array_diffshapeC   s=    HHaVHHq!fq!f%&Q"r!   c                sf    \         P                  ! ^^.\        R7      pV P                  V^4       R# )zTest object arrays.dtypeN)r%   r&   Zobjectr    r   r      & r   test_objarrayZ_GenericTest.test_objarrayJ   s&    HHaV6*Ar!   c                s.    V P                  . ROR4       R# )   Nr3         )r    r      &r   test_array_likesZ_GenericTest.test_array_likesO   s    I.r!    N)__name__
__module____qualname____firstlineno__r    r#   r(   r*   r+   r-   r2   r9   __static_attributes____classdictcell____classdict__   @r   r   r   %   s2      $##
/ /r!   r   c                   s   a  ] tR t^St o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tRtV tR# )TestArrayEqualc                    \         V n        R # r   )r   r   r7   r8   r   setup_methodZTestArrayEqual.setup_methodU   s
    .r!   c                X   a  V 3R lpR F  pV! V4       K  	  R F  pV! V4       K  	  R# )z!Test rank 1 array for all dtypes.c                 s   < \         P                  ! ^V 4      pVP                  ^4       VP                  4       pVP                  4       pVP                  ^ 4       SP	                  W4       SP                  W24       R# )r5   Nr%   emptyZfillcopyr    r#   tr   r   cr      &   r   fooZ.TestArrayEqual.test_generic_rank1.<locals>.fooZ   sZ    AAFF1IAAFF1IQ"  &r!   ?bhilqpBHILQPfdgFDGNZS1ZU1r:   r   rO   rL      f  r   test_generic_rank1Z!TestArrayEqual.test_generic_rank1X   .    	' 'AF ' AF r!   c                s   \         P                  ! R 4      p\         P                  ! R4      p\        P                  ! \        4      ;_uu_ 4       pV P                  W4       RRR4       \        XP                  4      p\        RV9   4       TpV P                  W4       \         P                  ! R4      p\         P                  ! ^ 4      pRp\        P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P                  W4       RRR4       TpV P                  W4       R#   + '       g   i     L; i  + '       g   i     L8; i)l   Cj<T"3w-l   (M$c7uvNz"Mismatched elements: 1 / 1 (100%)
gLxrBzMismatched elements: 1 / 1 (100%)
Max absolute difference among violations: 4.39506535e+12
Max relative difference among violations: inf
Zmatch)r%   r&   pytestraisesr"   r   strvaluer   reescape)r   xyexc_infomsgexpected_msg   &     r   test_0_ndim_arrayZ TestArrayEqual.test_0_ndim_arrayk   s    HH9:HH89]]>**ha# +(..!5 	 !HH34HHQKJ ]]><1HIIa# J !' +* JIs   D4E4E	E	c                rG   )z!Test rank 3 array for all dtypes.c                 s   < \         P                  ! RV 4      pVP                  ^4       VP                  4       pVP                  4       pVP                  ^ 4       SP	                  W4       SP                  W24       R# )   N)rd   r5   r6   rH   rK   rN   r   rO   Z.TestArrayEqual.test_generic_rank3.<locals>.foo   s[    A&AFF1IAAFF1IQ"  &r!   rP   NrQ   r:   rR   rS   r   test_generic_rank3Z!TestArrayEqual.test_generic_rank3   rU   r!   c                s   \         P                  ! ^^\         P                  .4      p\         P                  ! ^^\         P                  .4      pV P                  W4       \         P                  ! . RO4      pV P	                  W24       R# )z$Test arrays with nan values in them.Nr4   )r%   r&   nanr    r#   r   r   r   rM      &   r   test_nan_arrayZTestArrayEqual.test_nan_array   s\    HHaBFF^$HHaBFF^$HHYQ"r!   c                s    \         P                  ! RR.4      p\         P                  ! RR.4      pV P                  W4       \         P                  ! RR.4      pV P                  W24       R# )r,   floupifloupafloupipiN)r%   r&   r    r#   rg   rh   r   test_string_arraysZ!TestArrayEqual.test_string_arrays   sW    HHh)*HHh)*HHj(+,Q"r!   c                s   \         P                  ! ^R\        3R\        3.4      p^^.VR&   ^^.VR&   VP                  4       pV P	                  W4       \         P                  ! ^R\        3R\        3R\        3.4      pVR,          P                  4       VR&   VR,          P                  4       VR&   \
        P                  ! \        4      ;_uu_ 4        V P                  W24       RRR4       R#   + '       g   i     R# ; i)zTest record arrays.rj   rk   rl   N)	r%   rI   ZfloatrJ   r    rW   rX   	TypeErrorr#   rg   rh   r   test_recarraysZTestArrayEqual.test_recarrays   s    HHQ(E*Xu,=>?!f(!f(FFHHHQ*e,"E*Xu,=? @(((**k&&((]]9%%  & &%%%s   C33D	c                s   \         P                  P                  . RO. ROR7      p\         P                  ! R \         P                  R.4      pV P                  W4       V P                  W!4       \         P                  P                  . RO. ROR7      p\         P                  ! \         P                  RR.4      pV P                  W4       V P                  W!4       R# )      @      @      @ZmaskNrp   rq   rr   )FTF)TFF)r%   maMaskedArrayr&   rf   r    infr   r'   r   test_masked_nan_infZ"TestArrayEqual.test_masked_nan_inf   s    EEm2FGHHb"&&#&'EEm2FGHHbffb#&'r!   c                s    ! R  R\         P                  4      p\         P                  ! RR.4      P                  V4      p\         P                  ! RR.4      P                  V4      p\	        \        W"8H  4      \        4       \	        W"8H  4       \	        W#8g  4       V P                  W"4       V P                  W#4       V P                  W24       Rp\        P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P                  W#4       RRR4       \         P                  ! RR	.4      P                  V4      pR
p\        P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P                  W54       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                   s,   a  ] tR t^t o R tR tRtV tR# )?TestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArrayc                s\    \        \        P                  ! W4      P                  4       4      # r   )boolr%   Zequalallr   other   &&r   __eq__ZFTestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArray.__eq__   s    BHHT155788r!   c                s    W8X  * # r   r:   r|   r~   r   __ne__ZFTestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArray.__ne__   s    ((r!   r:   N)r;   r<   r=   r>   r   r   r?   r@   rA   rC   r   MyArrayry      s     9) )r!   r         ?       @rp   z{Mismatched elements: 1 / 2 (50%)
Max absolute difference among violations: 1.
Max relative difference among violations: 0.5rV   N        g333333@z{Mismatched elements: 1 / 2 (50%)
Max absolute difference among violations: 2.
Max relative difference among violations: inf)r%   ndarrayr&   viewr   Ztyperz   r    r#   rW   rX   r"   r[   r\   )r   r   r   r   ra   rM   rb   r   test_subclass_that_overrides_eqZ.TestArrayEqual.test_subclass_that_overrides_eq   sC   
	)bjj 	) HHb"X##G,HHb"X##G,QVd#Q"Q"H ]]><1HIIQ" J HHb#Y$$W-H ]]><1HIIQ" JI JI JIIs   
F!F4!F1	4G	c                s    ! R  R\         P                  4      p\         P                  ! RR.4      P                  V4      p\         P                  ! RR.4      P                  V4      p\	        \
        4      ;_uu_ 4        \         P                  ! V4       RRR4       V P                  W"4       V P                  W#4       V P                  W24       R#   + '       g   i     LE; i)c                   s&   a  ] tR t^t o R tRtV tR# )KTestArrayEqual.test_subclass_that_does_not_implement_npall.<locals>.MyArrayc                s    \         # r   )ZNotImplementedr   argsZkwargs   &*,r   __array_function__Z^TestArrayEqual.test_subclass_that_does_not_implement_npall.<locals>.MyArray.__array_function__   s    %%r!   r:   N)r;   r<   r=   r>   r   r?   r@   rA   rC   r   r   r      s     & &r!   r   r   r   rp   N)	r%   r   r&   r   r   rn   r{   r    r#   )r   r   r   r   rh   r   +test_subclass_that_does_not_implement_npallZ:TestArrayEqual.test_subclass_that_does_not_implement_npall   s    	&bjj 	& HHb"X##G,HHb"X##G,9%%FF1I &Q"Q"	 &%s   ?CC#	c                s   \         P                  ! \        4      ;_uu_ 4        \        P                  ! R R7      ;_uu_ 4        \        P
                  P                  \        P                  ! . RO\        P                  4      \        P                  ! . RO\        P                  4      4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)Zraiser{   Nr4   )r3   gWw'&l7r6   )	rW   rX   r"   r%   ZerrstateZtestingr   r&   float32r7   r8   r   test_suppress_overflow_warningsZ.TestArrayEqual.test_suppress_overflow_warnings   sv    ]]>**))

--HHY

3HH]BJJ79 * +*)) +**s$    CA+C 	.C CCC$	c                s\    \         P                  ! . RO4      pRpV P                  W4       R# )z@Test comparing an array with a scalar when all values are equal.r   Nr   r   r   r$   r   r'   r   test_array_vs_scalar_is_equalZ,TestArrayEqual.test_array_vs_scalar_is_equal   s#    HH\"r!   c                s4   \         P                  ! . RO4      p\         P                  ! . RO4      pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W4       RRR4       \         P                  ! . RO4      pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W4       RRR4       R#   + '       g   i     L~; i  + '       g   i     R# ; i)z@Test comparing an array with a scalar when not all values equal.zMismatched elements: 1 / 4 (25%)
Max absolute difference among violations: 563766
Max relative difference among violations: infrV   NzMismatched elements: 2 / 4 (50%)
Max absolute difference among violations: 563766.
Max relative difference among violations: 4.54902139e-07)骈  S g 6 )r   r   r   r    )r   r   g̜Ar   r%   r&   rW   rX   r"   r[   r\   r   r   r   r   ra   rh   r   test_array_vs_array_not_equalZ,TestArrayEqual.test_array_vs_array_not_equal  s    HH45HH/0H ]]><1HIIa# J HH67)
 ]]><1HIIa# JI JI JIIs   +C3D3D	D	c                s    \         P                  ! . RO4      pRp\        P                  ! \        4      ;_uu_ 4        V P                  WRR7       RRR4       R#   + '       g   i     R# ; i)z9Test comparing an array with a scalar with strict option.r   TZstrictNr   r%   r&   rW   rX   r"   r   r   r'   r   test_array_vs_scalar_strictZ*TestArrayEqual.test_array_vs_scalar_strict  sF    HH\"]]>**a40 +***s   AA,	c                s    \         P                  ! . RO4      p\         P                  ! . RO4      pV P                  WRR7       R# )-Test comparing two arrays with strict option.Tr   Nr   )r%   r&   r   r   r'   r   test_array_vs_array_strictZ)TestArrayEqual.test_array_vs_array_strict"  s1    HH\"HH\"!t,r!   c                s
   \         P                  ! . RO4      p\         P                  ! . RO4      p\        P                  ! \        4      ;_uu_ 4        V P                  WRR7       RRR4       R#   + '       g   i     R# ; i)r   Tr   N)r3   r3   r3   r   r   r   r'   r    test_array_vs_float_array_strictZ/TestArrayEqual.test_array_vs_float_array_strict)  sO    HHYHH\"]]>**a40 +***s   A11B	r   N)r;   r<   r=   r>   rF   rT   rc   re   ri   rm   ro   rx   r   r   r   r   r   r   r   r   r?   r@   rA   rC   r   rD   rD   S   s[     /& 2&#	#'"	 #D#9$(1-1 1r!   rD   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestBuildErrorMessagei2  c                s    \         P                  ! . RO4      p\         P                  ! . RO4      pRp\        W.V4      pRp\        WE4       R# )rZ|
 ?There is a mismatchz
Items are not equal: There is a mismatch
 ACTUAL: array([1.00001, 2.00002, 3.00003])
 DESIRED: array([1.00002, 2.00003, 3.00004])Nr   rZ|
  @& @g㈵ ?&  @㈵ @r%   r&   r   r   r   r]   r^   Zerr_msgr   r   rb   r   test_build_err_msg_defaultsZ1TestBuildErrorMessage.test_build_err_msg_defaults4  sD    HH01HH01'1&'*" 	Qr!   c                s    \         P                  ! . RO4      p\         P                  ! . RO4      pRp\        W.VRR7      pRp\        WE4       R# )r   r   F)Zverbosez)
Items are not equal: There is a mismatchNr   r   r   r   rb   r   test_build_err_msg_no_verboseZ3TestBuildErrorMessage.test_build_err_msg_no_verbose?  sB    HH01HH01'1&'598Qr!   c                s    \         P                  ! . RO4      p\         P                  ! . RO4      pRp\        W.VRR7      pRp\        WE4       R# )r   r   )Znamesz{
Items are not equal: There is a mismatch
 FOO: array([1.00001, 2.00002, 3.00003])
 BAR: array([1.00002, 2.00003, 3.00004])Nr   r   )ZFOOZBARr   r   rb   r   test_build_err_msg_custom_namesZ5TestBuildErrorMessage.test_build_err_msg_custom_namesH  sF    HH01HH01'1&'@ 	Qr!   c                s    \         P                  ! . RO4      p\         P                  ! . RO4      pRp\        W.V^
R7      pRp\        WE4       R# )0D   ?r   )Z	precisionz
Items are not equal: There is a mismatch
 ACTUAL: array([1.000000001, 2.00002    , 3.00003    ])
 DESIRED: array([1.000000002, 2.00003    , 3.00004    ])N)r   r   r   )g_p   ?r   r   r   r   rb   r   #test_build_err_msg_custom_precisionZ9TestBuildErrorMessage.test_build_err_msg_custom_precisionS  sF    HH45HH45'1&'R87 	Qr!   r:   N)
r;   r<   r=   r>   r   r   r   r   r?   r@   rA   rC   r   r   r   2  s     			 	r!   r   c                   \   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )	TestEquali_  c                rE   r   )r   r   r7   r8   r   rF   ZTestEqual.setup_methoda  s
    (r!   c                s`   V P                  \        P                  \        P                  4       V P                  \        P                  .\        P                  .4       V P                  \        P                  \        P                  .4       V P                  \        P                  ^4       R# r3   N)r   r%   rf   r#   r7   r8   r   test_nan_itemsZTestEqual.test_nan_itemsd  sd    "&&"&&)266(RVVH-RVVbffX.RVVQ'r!   c                s    V P                  \        P                  \        P                  4       V P                  \        P                  .\        P                  .4       V P                  \        P                  \        P                  .4       R # r   )r   r%   rw   r#   r7   r8   r   test_inf_itemsZTestEqual.test_inf_itemsj  sP    "&&"&&)266(RVVH-RVVbffX.r!   c                s   V P                  \        P                  ! R R4      \        P                  ! R R4      4       V P                  \        P                  ! R R4      \        P                  ! R R4      4       V P                  \        P                  ! R R4      \        P                  ! RR4      4       V P                  \        P                  ! R R4      \        P                  ! RR4      4       R# )
2017-01-01sZmz
2017-01-02N)r    r%   
datetime64r#   r7   r8   r   test_datetimeZTestEqual.test_datetimeo  s    MM,,MM,,	
 	MM,,MM,,	
 	MM,,MM,,	
 	MM,,MM,,	
r!   c                sn   \         P                  ! R 4      p\         P                  ! R R4      p\         P                  ! R R4      p\         P                  ! R 4      p\         P                  ! R R4      p\         P                  ! R R4      pWV.pWEV.p\        P                  ! Ww4       F=  w  rV P                  W4       V P                  V	.V
.4       V P                  V	.V
4       K?  	  \        P                  ! W4       F=  w  rV P                  W4       V P                  V	.V
.4       V P                  V	.V
4       K?  	  \        P                  ! W4       F  w  rV P                  W4       V P                  W.4       V P                  V	.V
.4       V P                  V	.\         P                  ! RR4      4       V P                  V
.\         P                  ! RR4      4       V P                  V	.\         P                  ! ^{R4      4       V P                  V
.\         P                  ! ^{R4      4       K  	  R# )NaTr   Znsr   N)r%   r   Ztimedelta64	itertoolsZproductr   r#   )r   Znadt_no_unitZnadt_sZnadt_dZnatd_no_unitZnatd_sZnatd_dZdtsZtdsr   r   s   &          r   test_nat_itemsZTestEqual.test_nat_items  s   }}U+uc*ud+~~e,s+t,V,V,%%c/DAa#qcA3'  !a( 0
 %%c/DAa#qcA3'  !a( 0
 %%c/DA  &  C(  !qc*  !bmmL#&FG  !bmmL#&FG  !bnnS#&>?  !bnnS#&>? 0r!   c                sN    V P                  R R 4       V P                  R R4       R# )ZabZabbN)r   r#   r7   r8   r   test_non_numericZTestEqual.test_non_numeric  s"    $%T5)r!   c                sb   V P                  \        ^^4      \        ^^4      4       V P                  \        ^\        P                  4      \        ^\        P                  4      4       V P	                  \        ^\        P                  4      \        ^^4      4       V P	                  \        \        P                  ^4      \        ^\        P                  4      4       V P	                  \        \        P                  \        P
                  4      \        \        P                  ^4      4       R# r   )r   complexr%   rf   r#   rw   r7   r8   r   test_complex_itemZTestEqual.test_complex_item  s    '!Q-A7'!RVV,ga.@AWQ/A?WRVVQ/BFF1CDWRVVRVV4gbffa6HIr!   c                sb    V P                  \        P                  \        P                  4       R # r   )r#   ncuZPZEROZNZEROr7   r8   r   test_negative_zeroZTestEqual.test_negative_zero  s    SYY		2r!   c                s   \         P                  ! \        ^^4      \        ^\         P                  4      .4      p\         P                  ! \        ^^4      \        ^^4      .4      pV P	                  W4       V P                  W4       R# r   r%   r&   r   rf   r   r#   r   r]   r^   r'   r   test_complexZTestEqual.test_complex  sa    HHgamWQ%789HHgamWQ]34!Q"r!   c                s    ^ RI p\        P                  ! VP                  R^^4      VP                  R^^4      .4      pV P                  W"RRR1,          4       R# )r    Ni  )datetimer%   r&   r#   )r   r   r   r'   r   test_objectZTestEqual.test_object  sQ    HHh''a3''a35 6Q$B$(r!   r   N)r;   r<   r=   r>   rF   r   r   r   r   r   r   r   r   r   r?   r@   rA   rC   r   r   r   _  s>     )(/

(@>*J3#) )r!   r   c                   sV   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tRtV tR# )TestArrayAlmostEquali  c                rE   r   )r   r   r7   r8   r   rF   Z!TestArrayAlmostEqual.setup_method  s
    5r!   c                s   R p\         P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P                  RR^ R7       RRR4       V P                  R.R.^ R7       R p\         P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P                  R.R.^ R7       RRR4       RR.pR	^ .pR
p\         P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P                  W#^R7       RRR4       Rp\         P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P                  W2^R7       RRR4       R#   + '       g   i     EL6; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)z}Mismatched elements: 1 / 1 (100%)
Max absolute difference among violations: 1.5
Max relative difference among violations: infrV         ?r   ZdecimalN?ge(?giUMu>gB??zMismatched elements: 1 / 2 (50%)
Max absolute difference among violations: 3.e-05
Max relative difference among violations: infz~Mismatched elements: 1 / 2 (50%)
Max absolute difference among violations: 3.e-05
Max relative difference among violations: 1.rW   rX   r"   r[   r\   r   )r   ra   r   r   rh   r   test_closenessZ#TestArrayAlmostEqual.test_closeness  s_   H ]]><1HIIc32 J 	8*seQ7H ]]><1HIIsecUA6 J  OH ]]><1HIIaA. JG ]]><1HIIaA. JI/ JII JI JI JIIs/   E=(F	F$F7=F	F!	$F4	7G	c                s   \         P                  ! R .4      p\         P                  ! R.4      pV P                  W^R7       V P                  W^R7       Rp\        P                  ! \
        \        P                  ! V4      R7      ;_uu_ 4        V P                  W^R7       RRR4       R#   + '       g   i     R# ; i)geH@gwH@r   zMismatched elements: 1 / 1 (100%)
Max absolute difference among violations: 1.e-04
Max relative difference among violations: 8.10226812e-08rV   Nr%   r&   r   rW   rX   r"   r[   r\   r   r]   r^   ra   rh   r   test_simpleZ TestArrayAlmostEqual.test_simple  s    HHi[!HHi[!!*!*)
 ]]><1HIIaA. JIIIs   B--B>	c                sj   . ROpR pRp\         P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P                  W^	R7       RRR4       Rp\         P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P                  W!^	R7       RRR4       R R.pRp\         P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P                  W!^R7       RRR4       ^ pRp\         P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P                  W^R7       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)	mlz@r   zMismatched elements: 2 / 3 (66.7%)
Max absolute difference among violations: 5498.42354
Max relative difference among violations: 1.rV   r   NzMismatched elements: 2 / 3 (66.7%)
Max absolute difference among violations: 5498.42354
Max relative difference among violations: 5.4722099zMismatched elements: 1 / 2 (50%)
Max absolute difference among violations: 5498.42354
Max relative difference among violations: inf)r   gHPX@r   r   r   rh   r   test_array_vs_scalarZ)TestArrayAlmostEqual.test_array_vs_scalar  sD   )G ]]><1HIIaA. JN ]]><1HIIaA. J H ]]><1HIIaA. J H ]]><1HIIaA. JI/ JII JI JI JIIs0   E'E;1F	F!'E8	;F	F	!F2	c                sx  a aaa \         P                  ! \         P                  .4      o\         P                  ! ^.4      o\         P                  ! \         P                  .4      oS P	                  SS4       \        \        VVV 3R l4       \        \        VVV 3R l4       \        \        VVV 3R l4       R# )r3   c                  (   < SP                  S S4      # r   r   ananaoner      r   <lambda>/TestArrayAlmostEqual.test_nan.<locals>.<lambda>      d//d;r!   c                  (   < SP                  SS 4      # r   r   ainfr   r   r   r   r   r      r   r!   c                  r   r   r   r   r   r   r   r   "  r   r!   Nr%   r&   rf   rw   r   r   r"   r   r   r   r      f@@@r   test_nanZTestArrayAlmostEqual.test_nan  sq    xx!xx}xx!$%n;	=n;	=n;	=r!   c                s
  a aa \         P                  ! R R.RR..4      oSP                  4       o\         P                  SR&   \	        \
        VVV 3R l4       \         P                  ) SR&   \	        \
        VVV 3R l4       R# )r   r   rp   rq   c                  r   r   r   r   r   r   r   r   r   /TestArrayAlmostEqual.test_inf.<locals>.<lambda>)      d//15r!   c                  r   r   r   r   r   r   r   r   ,  r   r!   N)r    r    )r%   r&   rJ   rw   r   r"   r      f@@r   test_infZTestArrayAlmostEqual.test_inf$  s_    HHr2hR)*FFH&&$n5	766'$n5	7r!   c                s   \         P                  ! R R.RR..4      p\         P                  P                  R R.RR..RR.RR..4      pV P	                  W4       V P	                  W!4       V P	                  W"4       \         P                  P                  RRR7      p\         P                  ! . R
O4      pV P                  W4       V P                  W!4       \         P                  P                  p\         P                  ! . R
O4      pV P                  W4       V P                  W!4       \         P                  P                  . R
O. ROR7      p\         P                  ! . RO4      pV P                  W4       V P                  W!4       \         P                  P                  . R
O. ROR7      p\         P                  ! R 4      pV P                  W4       V P                  W!4       R	# )r   r   rp   rq   r   FTg      @rs   Nrt   )TTT)r   r   rp   )r%   r&   ru   Zmasked_arrayr   rv   r    Zmaskedr   r'   r   test_subclassZ"TestArrayAlmostEqual.test_subclass.  s~   HHr2hR)*EER2r(3!&u>@!!! EEc-HH]#EELLHH]#EEm2DEHH\"EEm2DEHHRLr!   c                s*    ! R  R\         P                  4      p\         P                  ! RR.4      P                  V4      pV P	                  W"4       \         P                  ! RR.4      P                  V4      p\        V4       \         P                  ! R^.4      P                  V4      pRp\        P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P	                  W$4       RRR4       R#   + '       g   i     R# ; i)c                   D   a a ] tR tRt oV 3R ltV 3R ltR tRtVtV ;t	# )5TestArrayAlmostEqual.test_subclass_2.<locals>.MyArrayiM  c                \   < \         SV `  V4      P                  \        P                  4      # r   superr   r   r%   r   r   r}   	__class__   &&r   r   Z<TestArrayAlmostEqual.test_subclass_2.<locals>.MyArray.__eq__N  !    w~e,11"**==r!   c                r   r   r   __lt__r   r%   r   r   r   r   r   Z<TestArrayAlmostEqual.test_subclass_2.<locals>.MyArray.__lt__Q  r   r!   c                s    \        V 4      # r   r   r   r   r   r{   Z9TestArrayAlmostEqual.test_subclass_2.<locals>.MyArray.allT  s    4y r!   r:   
r;   r<   r=   r>   r   r   r{   r?   r@   Z__classcell__r   rB      @@r   r   r   M  s     >>! !r!   r   r   r   TzMismatched elements: 1 / 2 (50%)
Max absolute difference among violations: 200.
Max relative difference among violations: 0.99009rV   N)r%   r   r&   r   r   r{   rW   rX   r"   r[   r\   )r   r   r   zr   ra   rb   r   test_subclass_2Z$TestArrayAlmostEqual.test_subclass_2H  s    
	!bjj 	! HHb"X##G,!HHdD\"''0AHHb#Y$$W-L ]]><1HIIa# JIIIs   %DD	c                     ! R  R\         P                  4      p\         P                  ! RR.4      P                  V4      pV P	                  W"4       R# )c                   r   )GTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArrayih  c                r   r   r   r   r   r   r   ZNTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__eq__i  r   r!   c                r   r   r   r   r   r   r   ZNTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__lt__l  r   r!   c                    \         hr   ZNotImplementedErrorr   r   r   r{   ZKTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.allo      ))r!   r:   r   r   r   r   r   r   h       >>* *r!   r   r   r   Nr%   r   r&   r   r   r   r   r   r'   r   !test_subclass_that_cannot_be_boolZ6TestArrayAlmostEqual.test_subclass_that_cannot_be_boolc  ?    
	*bjj 	* HHb"X##G,!r!   r   N)r;   r<   r=   r>   rF   r   r   r   r   r   r   r   r   r?   r@   rA   rC   r   r   r     s9     6#/J//B
=74$6   r!   r   c                   r   )TestAlmostEqualiv  c                rE   r   )r   r   r7   r8   r   rF   ZTestAlmostEqual.setup_methodx  
    /r!   c                s   a  S P                  R R^ R7       \        \        V 3R l4       S P                  R .R.^ R7       \        \        V 3R l4       R# )r   r   r   c                  s,   < S P                  R R^ R7      # r   r   r   r   r7      r   r   0TestAlmostEqual.test_closeness.<locals>.<lambda>  s    d//S!/Dr!   c                  s0   < S P                  R .R.^ R7      # r  r   r7   r  r   r   r    s    d//ua/Hr!   Nr   r   r"   r7      fr   r   ZTestAlmostEqual.test_closeness{  sQ     	(C3nD	F 	8*seQ7nH	Jr!   c                s   a  S P                  \        P                  \        P                  4       \        \        V 3R  l4       \        \        V 3R l4       \        \        V 3R l4       R# )c                  D   < S P                  \        P                  ^4      # r3   )r   r%   rf   r7   r  r   r   /TestAlmostEqual.test_nan_item.<locals>.<lambda>      d//:r!   c                  `   < S P                  \        P                  \        P                  4      # r   )r   r%   rf   rw   r7   r  r   r   r        d//?r!   c                  r  r   )r   r%   rw   rf   r7   r  r   r   r    r  r!   N)r   r%   rf   r   r"   r7   r  r   test_nan_itemZTestAlmostEqual.test_nan_item  sD    "&&"&&)n:	<n?	An?	Ar!   c                s  a  S P                  \        P                  \        P                  4       S P                  \        P                  ) \        P                  ) 4       \        \        V 3R  l4       \        \        V 3R l4       R# )c                  r	  r
  r   r%   rw   r7   r  r   r   /TestAlmostEqual.test_inf_item.<locals>.<lambda>  r  r!   c                  sb   < S P                  \        P                  ) \        P                  4      # r   r  r7   r  r   r   r    s    d//@r!   N)r   r%   rw   r   r"   r7   r  r   test_inf_itemZTestAlmostEqual.test_inf_item  sR    "&&"&&)266'BFF7+n:	<n@	Br!   c                s*    V P                  ^^4       R# r   )r#   r7   r8   r   test_simple_itemZ TestAlmostEqual.test_simple_item  s    Q"r!   c                s   V P                  \        ^^4      \        ^^4      4       V P                  \        ^\        P                  4      \        ^\        P                  4      4       V P                  \        \        P                  \        P                  4      \        \        P                  \        P                  4      4       V P                  \        ^\        P                  4      \        ^^4      4       V P                  \        \        P                  ^4      \        ^\        P                  4      4       V P                  \        \        P                  \        P                  4      \        \        P                  ^4      4       R# r   )r   r   r%   rf   rw   r#   r7   r8   r   r   Z!TestAlmostEqual.test_complex_item  s    '!Q-A7'!RVV,ga.@A'"&&"&&172662663JKWQ/A?WRVVQ/BFF1CDWRVVRVV4gbffa6HIr!   c                s   \         P                  ! \        ^^4      \        ^\         P                  4      .4      p\         P                  ! \        ^^4      \        \         P                  ^4      .4      p\         P                  ! \        ^^4      \        ^^4      .4      pV P	                  W4       V P                  W4       V P                  W4       R# r   r   )r   r]   r   r^   rh   r   r   ZTestAlmostEqual.test_complex  s    HHgamWQ%789HHgamWRVVQ%789HHgamWQ]34!Q"Q"r!   c                s   \         P                  ! . RO4      p\         P                  ! . R	O4      pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W^R7       RRR4       Rp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W4       RRR4       \         P                  ! \         P                  ^ .4      p\         P                  ! \         P                  ^.4      pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W4       RRR4       \         P                  ! ^^.4      p\         P                  ! ^ ^ .4      pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W4       RRR4       R#   + '       g   i     EL; i  + '       g   i     ELK; i  + '       g   i     L; i  + '       g   i     R# ; i)
zCheck the message is formatted correctly for the decimal value.
Also check the message when input includes inf or nan (gh12200)a  Mismatched elements: 3 / 3 (100%)
Max absolute difference among violations: 1.e-05
Max relative difference among violations: 3.33328889e-06
 ACTUAL: array([1.00000000001, 2.00000000002, 3.00003      ])
 DESIRED: array([1.00000000002, 2.00000000003, 3.00004      ])rV   r   NzMismatched elements: 1 / 3 (33.3%)
Max absolute difference among violations: 1.e-05
Max relative difference among violations: 3.33328889e-06
 ACTUAL: array([1.     , 2.     , 3.00003])
 DESIRED: array([1.     , 2.     , 3.00004])zMismatched elements: 1 / 2 (50%)
Max absolute difference among violations: 1.
Max relative difference among violations: 1.
 ACTUAL: array([inf,  0.])
 DESIRED: array([inf,  1.])z{Mismatched elements: 2 / 2 (100%)
Max absolute difference among violations: 2
Max relative difference among violations: inf)g    ?g     @r   )g_   ?g    @r   )	r%   r&   rW   rX   r"   r[   r\   r   rw   r   rh   r   test_error_messageZ"TestAlmostEqual.test_error_message  s    HH<=HH<=* ]]><1HIIaB/ JG ]]><1HIIa# J HHbffa[!HHbffa[!6
 ]]><1HIIa# J HHaVHHaVH ]]><1HIIa# JIA JII JII JI JIIs0   +HH!H)%H<H	H&	)H9	<I	c                s    ^p\         P                  ! ^4      pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W4       RRR4       ^p\         P                  ! ^4      pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W4       RRR4       R#   + '       g   i     L~; i  + '       g   i     R# ; i)z)Check the message is formatted correctly z}Mismatched elements: 20 / 20 (100%)
Max absolute difference among violations: 1.
Max relative difference among violations: 1.rV   Nz~Mismatched elements: 20 / 20 (100%)
Max absolute difference among violations: 1.
Max relative difference among violations: 0.5)r%   onesrW   rX   r"   r[   r\   r   r   rh   r   test_error_message_2Z$TestAlmostEqual.test_error_message_2  s    -GGBKG ]]><1HIIa# J GGBKH ]]><1HIIa# JI JI JIIs   C C/C,	/D 	c                r   )c                   r   )BTestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArrayi  c                r   r   r   r   r   r   r   ZITestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__eq__  r   r!   c                r   r   r   r   r   r   r   ZITestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__lt__  r   r!   c                r   r   r   r   r   r   r{   ZFTestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.all  r   r!   r:   r   r   r   r   r   r    r   r!   r   r   r   Nr   r   r'   r   r   Z1TestAlmostEqual.test_subclass_that_cannot_be_bool  r  r!   r   N)r;   r<   r=   r>   rF   r   r  r  r  r   r   r  r  r   r?   r@   rA   rC   r   r  r  v  sA     0J"AB#J#1$f$&   r!   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestApproxEquali	  c                rE   r   )r   r   r7   r8   r   rF   ZTestApproxEqual.setup_method  r  r!   c                s   a aa \         P                  ! R 4      o\         P                  ! R4      oS P                  SS^R7       S P                  SS^R7       \        \        V VV3R l4       R# ){GH@RH@Zsignificantc                  ,   < S P                  SS^R7      # i   r  r   r   r   r   r   Z7TestApproxEqual.test_simple_0d_arrays.<locals>.<lambda>      d//1!/Dr!   N)r%   r&   r   r   r"   r   r   r   test_simple_0d_arraysZ%TestApproxEqual.test_simple_0d_arrays  sW    HHWHHW!QA.!QA.nD	Fr!   c                s   a aa R oRoS P                  SS^R7       S P                  SS^R7       S P                  SS^R7       \        \        V VV3R l4       R# )r  r  r  c                  r  r  r   r   r   r   r   Z3TestApproxEqual.test_simple_items.<locals>.<lambda>  r  r!   Nr  r   r   r   test_simple_itemsZ!TestApproxEqual.test_simple_items  sZ    !QA.!QA.!QA.nD	Fr!   c                r  a aaa \         P                  ! \         P                  4      o\         P                  ! ^4      o\         P                  ! \         P                  4      oS P	                  SS4       \        \        VVV 3R l4       \        \        VVV 3R l4       \        \        VVV 3R l4       R# )r3   c                  r   r   r   r   r   r   r   0TestApproxEqual.test_nan_array.<locals>.<lambda>&      d.?.?d.Kr!   c                  r   r   r   r   r   r   r   r#  '  r$  r!   c                  r   r   r   r   r   r   r   r#  (  r$  r!   Nr   r   r   r   ri   ZTestApproxEqual.test_nan_array!  e    xxxx{xx$%n&KLn&KLn&KLr!   c                r"  )r3   c                  r   r   r   r   r   r   r   0TestApproxEqual.test_nan_items.<locals>.<lambda>/  r$  r!   c                  r   r   r   r   r   r   r   r&  0  r$  r!   c                  r   r   r   r   r   r   r   r&  1  r$  r!   Nr   r   r   r   r   ZTestApproxEqual.test_nan_items*  r%  r!   r   N)r;   r<   r=   r>   rF   r   r!  ri   r   r?   r@   rA   rC   r   r  r  	  s(     0FFMM Mr!   r  c                   sh   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )TestArrayAssertLessi4  c                rE   r   )r	   r   r7   r8   r   rF   Z TestArrayAssertLess.setup_method6  s
    -r!   c                st  a aa \         P                  ! R R.4      o\         P                  ! RR.4      oS P                  SS4       \        \        V VV3R l4       \         P                  ! RR.4      o\        \        V VV3R l4       \        \        V VV3R l4       \         P                  ! . RO4      p\         P                  ! . RO4      pRp\
        P                  ! \        \        P                  ! V4      R	7      ;_uu_ 4        S P                  W4       R
R
R
4       R
#   + '       g   i     R
# ; i)皙?皙@333333?ffffff@c                  (   < S P                  SS4      # r   r   r   r   r   r   8TestArrayAssertLess.test_simple_arrays.<locals>.<lambda>>      d.?.?1.Er!   r   c                  (   < S P                  SS4      # r   r   r   r   r   r   r-  B  r.  r!   c                  r,  r   r   r   r   r   r   r-  C  r.  r!   z{Mismatched elements: 2 / 4 (50%)
Max absolute difference among violations: 12
Max relative difference among violations: 1.5rV   N)r3   r6      i   )r5   rd   r0     )	r%   r&   r   r   r"   rW   rX   r[   r\   )r   r   r   ra   r]   r^   s   f   @@r   test_simple_arraysZ&TestArrayAssertLess.test_simple_arrays9  s    HHc3Z HHc3Z !Qn&EFHHc3Z n&EFn&EFHH]#HH\"H ]]><1HIIa# JIIIs   
D&&D7	c                s   a aa \         P                  ! R R.RR..4      o\         P                  ! RR.RR..4      oS P                  SS4       Rp\        P                  ! \
        \        P                  ! V4      R	7      ;_uu_ 4        S P                  SS4       R
R
R
4       \         P                  ! RR.RR..4      o\        \
        V VV3R l4       \        \
        V VV3R l4       R
#   + '       g   i     LZ; i)r(  r)  ffffff
@g@r*  r+  g333333@g      @zMismatched elements: 4 / 4 (100%)
Max absolute difference among violations: 0.1
Max relative difference among violations: 0.09090909rV   Nr   c                  r/  r   r   r   r   r   r   0TestArrayAssertLess.test_rank2.<locals>.<lambda>Z  r.  r!   c                  r,  r   r   r   r   r   r   r4  [  r.  r!   )	r%   r&   r   rW   rX   r"   r[   r\   r   r   ra   r]   r^      f @@r   
test_rank2ZTestArrayAssertLess.test_rank2N  s    HHsCj3*-.HHsCj3*-.!QO ]]><1HIIa# J HHsCj3*-.n&EFn&EF JIs   C--C=	c                s  a aa \         P                  ! RR7      o\         P                  ! RR7      ^,           oS P                  SS4       \        \        V VV3R l4       ^ SR&   Rp\
        P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        S P                  SS4       RRR4       \        \        V VV3R l4       R#   + '       g   i     L(; i)	r5   )shapec                  r,  r   r   r   r   r   r   0TestArrayAssertLess.test_rank3.<locals>.<lambda>b  r.  r!   z}Mismatched elements: 1 / 8 (12.5%)
Max absolute difference among violations: 1.
Max relative difference among violations: infrV   Nc                  r,  r   r   r   r   r   r   r9  k  r.  r!   )r5   r5   r5   )r    r    r    )	r%   r  r   r   r"   rW   rX   r[   r\   r5  r6  r   
test_rank3ZTestArrayAssertLess.test_rank3]  s    GG)$GG)$q(!Qn&EF'
H ]]><1HIIa# J 	n&EF JIs    CC#	c                s  a aa R oRoS P                  SS4       Rp\        P                  ! \        \        P
                  ! V4      R7      ;_uu_ 4        S P                  SS4       RRR4       \        P                  ! RR.4      oS P                  SS4       \        \        V VV3R l4       \        P                  ! RR.4      o\        \        V VV3R l4       R#   + '       g   i     L; i)	r(  r)  z|Mismatched elements: 1 / 1 (100%)
Max absolute difference among violations: 1.1
Max relative difference among violations: 1.rV   Nr3  c                  r,  r   r   r   r   r   r   7TestArrayAssertLess.test_simple_items.<locals>.<lambda>{  r.  r!   r   c                  r/  r   r   r   r   r   r   r;    r.  r!   )	r   rW   rX   r"   r[   r\   r%   r&   r   r5  r6  r   r!  Z%TestArrayAssertLess.test_simple_itemsm  s    !QG ]]><1HIIa# J HHc3Z !Qn&EFHHc3Z n&EF JIs   CC/	c                sp   \         P                  ! . RO. R	O. R
O.4      pRpV P                  W4       RpV P                  W!4       \         P                  ! . RO. RO. RO.4      pRpRp\        P                  ! \
        \        P                  ! V4      R7      ;_uu_ 4        V P                  W4       RRR4       Rp\        P                  ! \
        \        P                  ! V4      R7      ;_uu_ 4        V P                  W!4       RRR4       R#   + '       g   i     Lf; i  + '       g   i     R# ; i).c}j@gQ@gmXSY @Hze}.Az}Mismatched elements: 1 / 12 (8.33%)
Max absolute difference among violations: 0.
Max relative difference among violations: 0.rV   NzMismatched elements: 12 / 12 (100%)
Max absolute difference among violations: 999087.0864
Max relative difference among violations: 289288.5934676)r<  g镲hx@g|yE@g㥛Ġ@)gQEK@gH}@g      *@V-Xy@)(\@Gz @nV@gt@)gk	@g6<R@g//8{@gMbеA)gףp=I@r=  g=
ף@r>  )r?  r@  rA  gye}.Ar   r   rh   r   test_simple_items_and_arrayZ/TestArrayAssertLess.test_simple_items_and_array  s    HH@646 7 !!HHA?;= > G ]]><1HIIa# J)
 ]]><1HIIa# JI JI JIIs   !D5D$D!	$D5	c                s   \         P                  ! . RO4      p\         P                  ! R4      pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W4       RRR4       Rp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W!4       RRR4       ^ pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W4       RRR4       Rp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        V P                  W!4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)	    0 Ag    `f@zMismatched elements: 1 / 3 (33.3%)
Max absolute difference among violations: 458802.
Max relative difference among violations: 5.23423917rV   NzMismatched elements: 2 / 3 (66.7%)
Max absolute difference among violations: 87654.
Max relative difference among violations: 5670.5626011zMismatched elements: 3 / 3 (100%)
Max absolute difference among violations: 546456.
Max relative difference among violations: infz}Mismatched elements: 1 / 3 (33.3%)
Max absolute difference among violations: 0.
Max relative difference among violations: inf)rC  r    g)\.@r   r   rh   r   test_zeroesZTestArrayAssertLess.test_zeroes  s6   HH)*HHVO ]]><1HIIa# J' ]]><1HIIa# J H ]]><1HIIa# JH ]]><1HIIa# JI+ JII JI JI JIIs0   )F=FF*'F=F	F'	*F:	=G	c                s  a aaa \         P                  ! \         P                  4      o\         P                  ! ^4      o\         P                  ! \         P                  4      oS P	                  SS4       \        \        VVV 3R l4       \        \        VVV 3R l4       \        \        VVV 3R l4       \        \        VVV 3R l4       R# )r3   c                  r   r   r   r   r   r   r   9TestArrayAssertLess.test_nan_noncompare.<locals>.<lambda>  r$  r!   c                  r   r   r   r   r   r   r   rE    r$  r!   c                  r   r   r   r   r   r   r   rE    r$  r!   c                  r   r   r   r   r   r   r   rE    r$  r!   Nr   r   r   r   test_nan_noncompareZ'TestArrayAssertLess.test_nan_noncompare  sp    xxxx{xx$%n&KLn&KLn&KLn&KLr!   c                s"  a aaa \         P                  ! . R
O4      o\         P                  ! \         P                  4      o\        \        VV V3R l4       \        \        VV V3R l4       \         P                  ! R R\         P                  .4      o\        \        VV V3R l4       \        \        VV V3R l4       \         P                  ! RR\         P                  .4      oS P                  SS4       \        \        V VV3R l4       R	# )r(  r)  c                  (   < SP                  SS 4      # r   r   r   r   r]   r   r   r   ?TestArrayAssertLess.test_nan_noncompare_array.<locals>.<lambda>      d.?.?4.Hr!   c                  (   < SP                  S S4      # r   r   rH  r   r   r   rI        d.?.?a.Hr!   c                  rG  r   r   rH  r   r   r   rI    rJ  r!   c                  rK  r   r   rH  r   r   r   rI    rL  r!   r   r   c                  r/  r   r   r   r   r   r   rI    r.  r!   N)r(  r)  r3  )r%   r&   rf   r   r"   r   )r   r   r]   r^   r   r   test_nan_noncompare_arrayZ-TestArrayAssertLess.test_nan_noncompare_array  s    HH_%xxn&HIn&HIHHc3'(n&HIn&HIHHc3'(!Qn&EFr!   c                s  a aa \         P                  ! ^4      o\         P                  ! \         P                  4      oS P                  SS4       S P                  S) S4       S P                  S) S4       \	        \
        VVV 3R l4       \	        \
        VVV 3R l4       \	        \
        VV 3R l4       \	        \
        VV 3R l4       \	        \
        VV 3R l4       R# )r3   c                  r   r   r   r   r   r   r   r   r   6TestArrayAssertLess.test_inf_compare.<locals>.<lambda>  r$  r!   c                  s*   < SP                  SS ) 4      # r   r   rN  r   r   r   rO        d.?.?te.Lr!   c                  s(   < SP                  S S 4      # r   r   r   r      r   r   rO    r$  r!   c                  s*   < SP                  S S ) 4      # r   r   rQ  rR  r   r   rO    rP  r!   c                  s,   < SP                  S ) S ) 4      # r   r   rQ  rR  r   r   rO    s    d.?.?u.Mr!   N)r%   r&   rw   r   r   r"   )r   r   r   r   r   test_inf_compareZ$TestArrayAssertLess.test_inf_compare  s    xx{xx$%4%&4%&n&KLn&LMn&KLn&LMn&MNr!   c                s  a aa \         P                  ! R R\         P                  .4      o\         P                  ! \         P                  4      o\        \        VV V3R l4       \        \        VV V3R l4       \        \        VV V3R l4       \        \        VV V3R l4       \        \        VV V3R l4       S P                  S) S4       R# )r(  r)  c                  rG  r   r   r   r   r]   r   r   r   <TestArrayAssertLess.test_inf_compare_array.<locals>.<lambda>  rJ  r!   c                  rK  r   r   rT  r   r   r   rU    rL  r!   c                  s*   < SP                  SS ) 4      # r   r   rT  r   r   r   rU    s    d.?.?D5.Ir!   c                  s,   < SP                  S) S ) 4      # r   r   rT  r   r   r   rU    s    d.?.?TE.Jr!   c                  s,   < SP                  S ) S) 4      # r   r   rT  r   r   r   rU    s    d.?.?r.Jr!   N)r%   r&   rw   r   r"   r   )r   r   r]   r   r   test_inf_compare_arrayZ*TestArrayAssertLess.test_inf_compare_array  sw    HHc3'(xxn&HIn&HIn&IJn&JKn&JK4%#r!   c                sb   \         P                  ! ^4      p\         P                  ! R4      pV P                  W4       \        P
                  ! \        4      ;_uu_ 4        V P                  WRR7       RRR4       \         P                  ! W!P                  4      pV P                  W4       \        P
                  ! \        4      ;_uu_ 4        V P                  WP                  \         P                  4      RR7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; iz)Test the behavior of the `strict` option.Tr   Nr:   )r%   Zzerosr  r   rW   rX   r"   Zbroadcast_tor8  astyper   r   r'   r   test_strictZTestArrayAssertLess.test_strict  s    HHQKGGBK!]]>**a40 +OOAww'!]]>**a"**!5dC +*	 +* +**s    D
1D
D	D.	r   N)r;   r<   r=   r>   rF   r2  r7  r:  r!  rB  rD  rF  rM  rS  rV  rY  r?   r@   rA   rC   r   r'  r'  4  sN     .$*GG G($:$>MG"O	$
D 
Dr!   r'  c                   r   )	TestWarnsi  c                sB   R  p\         P                  R,          P                  R,          p\        \	        \
        V4      ^4       \         P                  R,          P                  p\        \        \        V4       \        \        R ^4      ^4       \        W#R4       R# )c                  s2    \         P                  ! R 4       ^# yowarningswarnr:   r!   r   fZTestWarns.test_warn.<locals>.f   s    MM$r!   r^  NNNc                 s    V # r   r:   )r]   r8   r   r   Z%TestWarns.test_warn.<locals>.<lambda>	  s    !r!   .assert_warns does not preserver warnings stateN)	sysmodulesfiltersr   r   UserWarningr   r"   r   )r   r`  before_filtersafter_filtersrh   r   	test_warnZTestWarns.test_warn  sv    	 Z088;\+q115J/77n&8!<'Q7; 	^E	Gr!   c                sh   \         P                  R ,          P                  R,          p\        \        4      ;_uu_ 4        \
        P                  ! R4       RRR4       \         P                  R ,          P                  pR p\        \        V4       \        WR4       R#   + '       g   i     LR; i)r^  ra  r\  Nc                  s    \        4       ;_uu_ 4        \        P                  ! R 4       RRR4       R#   + '       g   i     R# ; ir\  N)r   r^  r_  r:   r!   r   no_warningsZ3TestWarns.test_context_manager.<locals>.no_warnings  s&    #%%d# &%%%s	   4A	rb  )
rc  rd  re  r   rf  r^  r_  r   r"   r   )r   rg  rh  rk  rh   r   test_context_managerZTestWarns.test_context_manager  ss    Z088;+&&MM$ 'J/77	$ 	nk2^E	G '&s    B!!B1	c           	     s
   R
R lp\        \        V^R7      ^8X  g   Q h\        P                  ! \        4      ;_uu_ 4       p\        \        RR7      ;_uu_ 4        \
        P                  ! R\        4       RRR4       RRR4       R\        X4      9   g   Q hR\        V4      9   g   Q h\        P                  ! \        4      ;_uu_ 4       p\        \        RR	7      ;_uu_ 4        \
        P                  ! R\        4       RRR4       RRR4       R\        V4      9   g   Q hR\        V4      9  g   Q hR#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Ld; i  + '       g   i     Lo; i)r    c                 s>    \         P                  ! R 4       W,           # r[  r]  )r   r   r~   r   r`  ZTestWarns.test_args.<locals>.f  s    MM$5Lr!   r   ZArV   ZBNr   zpytest.warns)Zwrong)r    r3   )r   rf  rW   rX   RuntimeErrorr^  r_  rY   )r   r`  Zexcr'   r   	test_argsZTestWarns.test_args  s    	 Kb1R777]]<((Ck55c;/ 6 ) S)))S)))]]<((Ck55c;/ 6 ) S)))SX--- 65 )( 65 )(sH   ED9	7EE2'E	E29E	EE	E/*E22F	c                s&   R  pRp\         P                  ! 4       ;_uu_ 4        \         P                  ! R\        4        \	        \
        V4       RpRRR4       V'       d   \        R4      hR#   \         d     L*i ; i  + '       g   i     L6; i)c                  s<    \         P                  ! R \        4       R# rj  )r^  r_  DeprecationWarningr:   r!   r   r`  Z,TestWarns.test_warn_wrong_warning.<locals>.f4  s    MM$ 23r!   FZerrorTNz#wrong warning caught by assert_warn)r^  catch_warningssimplefilterrp  r   rf  r"   )r   r`  Zfailedr'   r   test_warn_wrong_warningZ!TestWarns.test_warn_wrong_warning3  sz    	4 $$&&!!'+=>[!, '  !FGG  &  '&s)   B  A//A=:B <A==B  B	r:   N)
r;   r<   r=   r>   ri  rl  ro  rs  r?   r@   rA   rC   r   rZ  rZ    s"     G G.*H Hr!   rZ  c                   r   )TestAssertAllcloseiE  c                s   R pRp\        W^R7       \        \        \         W4       Rp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        \        W4       RRR4       ^ pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        \        W$4       RRR4       Rp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        \        WB4       RRR4       \        P                  ! WW.4      p\        P                  ! WW.4      p\        WV^R7       \        \        \         WV4       VR,          VR&   \        WV4       \        \        \         WVRR7       \        ^^
R	R7       \        \        \         ^
^R	R7       \        P                  ! WW.4      p\        P                  ! WW.4      pR
p\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        \        Wg4       RRR4       Rp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        \        Wv4       RRR4       R#   + '       g   i     EL#; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)gMbP?g&.>ZatolzMismatched elements: 1 / 1 (100%)
Max absolute difference among violations: 0.001
Max relative difference among violations: 999999.rV   NzMismatched elements: 1 / 1 (100%)
Max absolute difference among violations: 1.e-09
Max relative difference among violations: infzMismatched elements: 1 / 1 (100%)
Max absolute difference among violations: 1.e-09
Max relative difference among violations: 1.)Zrtolg      ?z~Mismatched elements: 1 / 4 (25%)
Max absolute difference among violations: 0.001
Max relative difference among violations: infz}Mismatched elements: 1 / 4 (25%)
Max absolute difference among violations: 0.001
Max relative difference among violations: 1.g1  ?r   )	r   r   r"   rW   rX   r[   r\   r%   r&   )r   r]   r^   ra   r   r   r   rM   s   &       r   r   ZTestAssertAllclose.test_simpleG  s   1%noq<L ]]><1HIIA! J H ]]><1HIIA! JG ]]><1HIIA! J HHaA\"HHaA\"1%noq<X"noq$G2C(nor13GHHaA\"HHaA\"H ]]><1HIIA! JG ]]><1HIIA! JIQ JII JII JII* JI JIIs<   !J1J?J/#K1KJ	J,	/K 	K	K'	c                s    \         P                  ! \         P                  ! \         P                  4      P                  .\         P                  R 7      p\        W4       R# )r.   N)r%   r&   ZiinfoZint_Zminr   r0   r1   r   test_min_intZTestAssertAllclose.test_min_int|  s4    HHbhhrww'++,BGG<r!   c                s*   \         P                  ! . RO4      p\         P                  ! . RO4      pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        \        W4       RRR4       R#   + '       g   i     R# ; i)r3   zzMismatched elements: 1 / 4 (25%)
Max absolute difference among violations: 1
Max relative difference among violations: 0.5rV   N)r3   r3   r3   r3   )r3   r3   r3   r5   r%   r&   rW   rX   r"   r[   r\   r   r   rh   r   test_report_fail_percentageZ.TestAssertAllclose.test_report_fail_percentage  sZ    HH\"HH\"H ]]><1HIIA! JIII   +BB	c                s    \         P                  ! \         P                  .4      p\         P                  ! \         P                  .4      p\        WR R7       R# )TZ	equal_nanN)r%   r&   rf   r   r   r'   r   test_equal_nanZ!TestAssertAllclose.test_equal_nan  s4    HHbffXHHbffX-r!   c                s    \         P                  ! \         P                  .4      p\         P                  ! \         P                  .4      p\        \        \
        WR R7       R# )Frz  N)r%   r&   rf   r   r"   r   r   r'   r   test_not_equal_nanZ%TestAssertAllclose.test_not_equal_nan  s8    HHbffXHHbffXnoquMr!   c                s    \         P                  ! \         P                  .4      p\         P                  ! \         P                  .4      p\        W4       \	        W4       \        W4       \        W4       R # r   )r%   r&   rf   r   r   r	   r   r   r'   r   test_equal_nan_defaultZ)TestAssertAllclose.test_equal_nan_default  sL     HHbffXHHbffX1 !!'!r!   c                s*   \         P                  ! ^ ^.4      p\         P                  ! ^ ^.4      pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        \        W4       RRR4       R#   + '       g   i     R# ; i)r    z-Max relative difference among violations: 0.5rV   Nrw  r   rh   r   test_report_max_relative_errorZ1TestAssertAllclose.test_report_max_relative_error  s]    HHaVHHaVF]]><1HIIA! JIIIry  c                sR    \         P                  ! . RO.RR7      p\        W4       R# )r3   zm8[ns]r.   N)r3   r5   r6   r   )r%   r&   r   r0   r1   r   test_timedeltaZ!TestAssertAllclose.test_timedelta  s    HH&'x8r!   c                s6   \         P                  ! . RORR7      p\         P                  ! . RORR7      pRp\        P                  ! \        \
        P                  ! V4      R7      ;_uu_ 4        \        W^R7       RRR4       R#   + '       g   i     R# ; i)	zJCheck the message is formatted correctly when overflow can occur
(gh21768)Zuint8r.   z+Max absolute difference among violations: 4rV   ru  N)r    r3   r1  )rd   rd   rd   )r%   ZasarrayrW   rX   r"   r[   r\   r   r   rh   r   test_error_message_unsignedZ.TestAssertAllclose.test_error_message_unsigned  s]     JJy0JJy0D]]><1HIIAq) JIIIs   /BB	c                s   \         P                  ! ^4      p\         P                  ! R4      p\        W4       \        P                  ! \
        4      ;_uu_ 4        \        WRR7       RRR4       \        W4       \        P                  ! \
        4      ;_uu_ 4        \        WP                  \         P                  4      RR7       RRR4       R#   + '       g   i     Lr; i  + '       g   i     R# ; irW  )r%   r  r   rW   rX   r"   rX  r   r   r'   r   rY  ZTestAssertAllclose.test_strict  s    GGAJGGBK]]>**A. +]]>**Axx

3DA +* +* +**s   C+C%C"	%C6	r:   N)r;   r<   r=   r>   r   rv  rx  r{  r|  r}  r~  r  r  rY  r?   r@   rA   rC   r   rt  rt  E  s@     3"j
".N
	"
*	B 	Br!   rt  c                   sn   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tRtV tR# )TestArrayAlmostEqualNulpi  c                   ^p\         P                  ! R^^2\         P                  R7      p^
V,          p\         P                  V) V3,          p\         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,           p\        W$V4       \         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,
          p\        W$V4       R#    r.   r   N	r%   linspacefloat64r_finfor/   epsr   epsnegr   nulpr]   r  r^   r  rb   r   test_float64_passZ*TestArrayAlmostEqualNulp.test_float64_pass  s     KKR2::6EEE1"a%L hhqww##C$##&qT2 !''"))F
T!B&&&qT2r!   c                   ^p\         P                  ! R^^2\         P                  R7      p^
V,          p\         P                  V) V3,          p\         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,           p\        \        \        W$V4       \         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,
          p\        \        \        W$V4       R# r  r%   r  r  r  r  r/   r  r   r"   r   r  r  rb   r   test_float64_failZ*TestArrayAlmostEqualNulp.test_float64_fail      KKR2::6EEE1"a%Lhhqww##C$##n&DD	" !''"))F
T!B&&n&DD	"r!   c                x   \         P                  ! R 4      p\         P                  ! \         P                  \         P                  R7      P                  \         P                  4      pW!,          pVP                  \         P                  4      pVP                  \         P                  4      p\        WE^ 4       R# )l    r.   N)r%   Zuint64r&   rf   r  r   r
   )r   offsetZnan1_i64Znan2_i64Znan1_f64Znan2_f64rb   r   test_float64_ignore_nanZ0TestArrayAlmostEqualNulp.test_float64_ignore_nan  so     :&88BFF"**5::299E$==,==,X3r!   c                r  r  	r%   r  r   r  r  r/   r  r   r  r  rb   r   test_float32_passZ*TestArrayAlmostEqualNulp.test_float32_pass  s    KKR2::6EEE1"a%Lhhqww##C$##&qT2!''"))F
T!B&&&qT2r!   c                r  r  r%   r  r   r  r  r/   r  r   r"   r   r  r  rb   r   test_float32_failZ*TestArrayAlmostEqualNulp.test_float32_fail  r  r!   c                r  )i  r.   N)r%   Zuint32r&   rf   r   r   r
   )r   r  Znan1_i32Znan2_i32Znan1_f32Znan2_f32rb   r   test_float32_ignore_nanZ0TestArrayAlmostEqualNulp.test_float32_ignore_nan  so     6"88BFF"**5::299E$==,==,X3r!   c                s   ^p\         P                  ! R^^
\         P                  R7      p^
V,          p\         P                  V) V3,          p\         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,           p\        W$V4       \         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,
          p\        W$V4       R# r  r.   r   Ni)	r%   r  float16r  r  r/   r  r   r  r  rb   r   test_float16_passZ*TestArrayAlmostEqualNulp.test_float16_pass  s    KKAr4EEE1"a%Lhhqww##C$##&qT2!''"))F
T!B&&&qT2r!   c                s   ^p\         P                  ! R^^
\         P                  R7      p^
V,          p\         P                  V) V3,          p\         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,           p\        \        \        W$V4       \         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,
          p\        \        \        W$V4       R# r  )r%   r  r  r  r  r/   r  r   r"   r   r  r  rb   r   test_float16_failZ*TestArrayAlmostEqualNulp.test_float16_fail-  s    KKAr4EEE1"a%Lhhqww##C$##n&DD	" !''"))F
T!B&&n&DD	"r!   c                sx   \         P                  ! ^4      p\         P                  ! \         P                  \         P                  R7      P                  \         P                  4      pW!,          pVP                  \         P                  4      pVP                  \         P                  4      p\        WE^ 4       R# )i   r.   N)r%   Zuint16r&   rf   r  r   r
   )r   r  Znan1_i16Znan2_i16Znan1_f16Znan2_f16rb   r   test_float16_ignore_nanZ0TestArrayAlmostEqualNulp.test_float16_ignore_nan=  sn     488BFF"**5::299E$==,==,X3r!   c                   ^p\         P                  ! R^^2\         P                  R7      p^
V,          p\         P                  V) V3,          pW"R,          ,           p\         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,           p\        W2VR,          ,           V4       \        W5VR,          ,           V4       W"V,          V,          R,          ,           p\        W5VR,          ,           V4       \         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,
          p\        W2VR,          ,           V4       \        W5VR,          ,           V4       W"V,          V,          R,          ,
          p\        W5VR,          ,           V4       R# r  r.                 ?r   rq   Nr  r  r   r  r]   Zxir  r^   r     &      r   test_complex128_passZ-TestArrayAlmostEqualNulp.test_complex128_passH  s:   KKR2::6EEE1"a%LRZhhqww##C$##&rq2v:t<&rq2v:t< C$##&rq2v:t<!''"))F
T!B&&&rq2v:t<&rq2v:t<F
T!B&&&rq2v:t<r!   c                   ^p\         P                  ! R^^2\         P                  R7      p^
V,          p\         P                  V) V3,          pW"R,          ,           p\         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,           p\        \        \        W2VR,          ,           V4       \        \        \        W5VR,          ,           V4       W"V,          V,          ,           p\        \        \        W5VR,          ,           V4       \         P                  ! VP
                  4      P                  pW"V,          V,          R,          ,
          p\        \        \        W2VR,          ,           V4       \        \        \        W5VR,          ,           V4       W"V,          V,          ,
          p\        \        \        W5VR,          ,           V4       R# r  r.   r  r   Nr  r  r  r  r   test_complex128_failZ-TestArrayAlmostEqualNulp.test_complex128_fail_  sb   KKR2::6EEE1"a%LRZhhqww##C$##n&Da"f*d	,n&Da"f*d	, C$n&Da"f*d	, !''"))F
T!B&&n&Da"f*d	,n&Da"f*d	,F
T!!n&Da"f*d	,r!   c                r  r  r  r  r  r   test_complex64_passZ,TestArrayAlmostEqualNulp.test_complex64_pass|  s8   KKR2::6EEE1"a%LRZhhqww##C$##&rq2v:t<&rq2v:t<C$##&rq2v:t<!''"))F
T!B&&&rq2v:t<&rq2v:t<F
T!B&&&rq2v:t<r!   c                r  r  r  r  r  r   test_complex64_failZ,TestArrayAlmostEqualNulp.test_complex64_fail  s`   KKR2::6EEE1"a%LRZhhqww##C$##n&Da"f*d	,n&Da"f*d	,C$n&Da"f*d	, !''"))F
T!B&&n&Da"f*d	,n&Da"f*d	,F
T!!n&Da"f*d	,r!   r:   N)r;   r<   r=   r>   r  r  r  r  r  r  r  r  r  r  r  r  r  r?   r@   rA   rC   r   r  r    sK     3$" 	43" 	43" 	4=.,:=*, ,r!   r  c                   r  )	TestULPi  c                s^    \         P                  P                  ^
4      p\        W^ R7       R# )
   maxulpN)r%   randomrandnr
   )r   r]   r1   r   
test_equalZTestULP.test_equal  s    IIOOBQ!,r!   c                s   \         P                  ! ^
4      P                  \         P                  4      pVR\         P                  P                  ^
4      P                  \         P                  4      ,          ,          p\         P                  ! \         P                  4      P                  p\        WV,           ^R7       R# r  g{Gz?r  N)	r%   r  rX  r   r  r  r  r  r
   r   r]   r  r'   r   test_singleZTestULP.test_single  so    GGBKrzz*	TBIIOOB'..rzz:::hhrzz"&&QC3r!   c                s   \         P                  ! ^
4      P                  \         P                  4      pVR\         P                  P                  ^
4      P                  \         P                  4      ,          ,          p\         P                  ! \         P                  4      P                  p\        WV,           ^R7       R# r  )	r%   r  rX  r  r  r  r  r  r
   r  r'   r   test_doubleZTestULP.test_double  so    GGBKrzz*	TBIIOOB'..rzz:::hhrzz"&&QC4r!   c                s@   \         P                  \         P                  3 Fy  p\         P                  ! \         P                  .4      P                  V4      p\         P                  ! \         P                  ! V4      P                  .4      p\        W#^R7       K{  	  R# )i   r  N)	r%   r   r  r&   rw   rX  r  maxr
   )r   dtrw   bigrh   r   r   ZTestULP.test_inf  sa    ::rzz*B((BFF8$++B/C((BHHRL,,-.C #6 +r!   c                s  aaaaaaa \         P                  \         P                  3 EF  pV\         P                  8X  d   R oMRo\         P                  ! \         P                  .4      P                  V4      o\         P                  ! \         P                  .4      P                  V4      o\         P                  ! \         P                  ! V4      P                  .4      o\         P                  ! \         P                  ! V4      P                  .4      o\         P                  ! R.4      P                  V4      o\         P                  ! R	.4      P                  V4      o\        \        VVV3R l4       \        \        VVV3R l4       \        \        VVV3R l4       \        \        VVV3R l4       \        \        VVV3R l4       EK  	  R# )
g    .Ag   mBr   c                      < \        SS SR 7      # r  r
   )rw   r  rf   r   r   r   "TestULP.test_nan.<locals>.<lambda>      "6sC>D#Fr!   c                  r  r  r  )r  r  rf   r   r   r   r    r  r!   c                      < \        SSS R 7      # r  r  )r  rf   tinyr   r   r   r        "6sD>D#Fr!   c                  r  r  r  )r  rf   zeror   r   r   r    r  r!   c                  r  r  r  )r  rf   nzeror   r   r   r    s    "6sE>D#Fr!   Ng       )r%   r   r  r&   rw   rX  rf   r  r  r  r   r"   )	r   r  r  rw   r  rf   r  r  r  s	   & @@@@@@@r   r   ZTestULP.test_nan  s>   ::rzz*BRZZ((BFF8$++B/C((BFF8$++B/C((BHHRL,,-.C88RXXb\../0D88SE?))"-DHHdV$++B/E.FG .FG .FG .FG .FG/ +r!   r:   N)r;   r<   r=   r>   r  r  r  r   r   r?   r@   rA   rC   r   r  r    s%     -457G Gr!   r  c                   s,   a  ] tR tRt o R tR tRtV tR# )TestStringEquali  c                s.   \        R R 4       \        RR4       \        P                  ! \        4      ;_uu_ 4       p\        RR4       RRR4       \	        XP
                  4      p\        VR4       \        \        R 4       R#   + '       g   i     LD; i)hellozhello
multilinezfoo
barz	hello
barNz%Differences in strings:
- foo
+ helloc                      \        R R4      # )rO   r  r   r:   r!   r   r   Z-TestStringEqual.test_simple.<locals>.<lambda>  s    1%Ar!   )r   rW   rX   r"   rY   rZ   r   r   )r   r_   r`   r'   r   r   ZTestStringEqual.test_simple  sh    GW-.0BC]]>**h
L9 +(..!SCDnA	C +*s   BB	c                s@    \        R R 4       \        \        R 4       R# )za+*bc                  r  )Zaaaza+br  r:   r!   r   r   Z,TestStringEqual.test_regex.<locals>.<lambda>  s    1%?r!   N)r   r   r"   r7   r8   r   
test_regexZTestStringEqual.test_regex  s    FF+n?	Ar!   r:   N)r;   r<   r=   r>   r   r  r?   r@   rA   rC   r   r  r    s     
CA Ar!   r  c                 s     V P                   p\        V4      pR V9   d
   V^,          p\        W14       R#   \         d    / p L7i ; i)ZversionN)__warningregistry__AttributeErrorlenr   )modn_in_contextZ	mod_warnsZ	num_warnss   &&  r   assert_warn_len_equalr    sP    
++	 III 	Q	)#   	s   6 AAc                  s~     ! R  R4      p V ! 4       p\        V^ R7        ! R R4      p V ! 4       p\        V^R7       R# )c                   s    ] tR tRtRtR# )/test_warn_len_equal_call_scenarios.<locals>.modi  r:   N)r;   r<   r=   r>   r?   r:   r!   r   r  r    s    r!   r  )r  r  c                   s&   a  ] tR tRt o R tRtV tR# )r  i"  c                s    R ^R^/V n         R# )warning1warning2Nr  r7   r8   r   __init__Z8test_warn_len_equal_call_scenarios.<locals>.mod.__init__#  s    (2A(2A(7D$r!   r  N)r;   r<   r=   r>   r  r?   r@   rA   rC   r   r  r  "  s     	7 	7r!   N)r  )r  Zmod_inst     r   "test_warn_len_equal_call_scenariosr    sB      uHh'(*
7 7
 uHh'(*r!   c                  s    \         P                  \        ,          p  V P                  P	                  4        V #   \
         d     T # i ; ir   )rc  rd  r;   r  Zclearr  my_mod    r   _get_fresh_modr  ,  sI    [["F""((*
 M	   	M	s   9 AAc                  s   \        4       p \        \        V R / 4      / 4       \        V .R7      ;_uu_ 4        \        P
                  ! R4       \        P                  ! R4       RRR4       \        V P                  / 4       \        4       ;_uu_ 4        \        P
                  ! R4       \        P                  ! R4       RRR4       \        V ^ 4       R^R^/V n        \        V .R7      ;_uu_ 4        \        P
                  ! R4       \        P                  ! R4       RRR4       \        V ^4       \        4       ;_uu_ 4        \        P
                  ! R4       \        P                  ! R4       RRR4       \        V ^ 4       R#   + '       g   i     EL0; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     LX; i)r  )rd  ignoreSome warningNr  r  zAnother warning)	r  r   getattrr   r^  rr  r_  r  r  r  r  r   test_clear_and_catch_warningsr  8  sA   F!6;R@	!6(	3	3h'n% 
4 ++R0 
"	#	#h'n% 
$ &!$ #-a",a"1F 
"6(	3	3h''( 
4 &!$ 
"	#	#h''( 
$ &!$3 
4	3	3 
$	# 
4	3 
$	#s/   -F-F5-F2-GF	F/	2G	G	c                  s   \        4       p \        \        V R / 4      / 4       R p\        V ^ 4       \	        4       ;_uu_ 4       pVP                  \        4       VP                  \        P                  P                  R7       \        P                  ! R4       V! 4        RRR4       \        \        XP                  4      ^4       \        VP                  ^ ,          P                  P                   ^ ,          R4       \        V ^ 4       \	        4       pVP                  V R7       V;_uu_ 4        \        P                  ! R4       RRR4       \        V ^ 4       VP                  V R7       V;_uu_ 4        \        P                  ! R4       RRR4       \        V ^ 4       \	        4       ;_uu_ 4        \        P"                  ! R4       \        P                  ! R4       RRR4       \        V ^ 4       R#   + '       g   i     ELa; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     LX; i)r  c                  >    R  p \         P                  ! V ^ ^ .4       R# )c                 6    \         P                  ! R ^R7       V # )zSome warning 2Z
stacklevelr]  Zarrr8   r   r_  ZFtest_suppress_warnings_module.<locals>.warn_other_module.<locals>.warn`  s    MM*q9Jr!   Nr%   Zapply_along_axisr_  r  r   warn_other_moduleZ8test_suppress_warnings_module.<locals>.warn_other_module]      	 	D!aS)r!   moduler  Nr  )r  r   r  r  r   recordrf  filterr%   ZlibZ_shape_base_implr^  r_  r  logmessager   rr  )r  r  sup      r   test_suppress_warnings_moduler  X  sw   F!6;R@* &!$			

; 	

"&&11
2n% 
 SWWq!##((+^<&!$

CJJfJ	n% 
&!$JJfJ	n% 
&!$ 
		h'n% 
 &!$9 
		 

 

 
	s1   AG81H8H5-H28H		H	H/	2I	c                  sb   \        4       p \        \        V R / 4      / 4       \        4       ;_uu_ 4       pVP	                  \
        4       \        P                  ! R4       RRR4       \        V ^ 4       \        4       pVP	                  \
        4       V;_uu_ 4        \        P                  ! R4       RRR4       \        V ^ 4       VP	                  V R7       V;_uu_ 4        \        P                  ! R4       RRR4       \        V ^ 4       \        4       ;_uu_ 4        \        P                  ! R4       \        P                  ! R4       RRR4       \        V ^ 4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     LX; i)r  r  Nr  r  )
r  r   r  r   r  rf  r^  r_  r  rr  )r  r  r  r   test_suppress_warnings_typer    s   F!6;R@ 
		

;n% 
 &!$

CJJ{	n% 
&!$JJfJ	n% 
&!$ 
		h'n% 
 &!$' 
		 

 

 
	s/   ,E$E8$F!-F$E5	8F	F	F.	c                  sR   \        4       p V P                  \        4       V R  4       p\        P                  ! RR7      ;_uu_ 4       p\        P
                  ! R4       V! \        4       V! \        4       \        \        V4      ^4       RRR4       R#   + '       g   i     R# ; i)c                 s4    \         P                  ! R V 4       R# )r  Nr]  )Zcategoryr8   r   r_  Z7test_suppress_warnings_decorate_no_record.<locals>.warn  s    nh/r!   T)r  alwaysN)	r   r  rf  r^  rq  rr  ZRuntimeWarningr   r  )r  r_  wr  r   )test_suppress_warnings_decorate_no_recordr    sx    

CJJ{0 	0 
	 	 	-	-h'[^SVQ	 
.	-	-	-s   ABB&	c            	      s   \        4       p V P                  4       pV ;_uu_ 4        V P                  R R7      pV P                  RR7       \        P                  ! R4       \        P                  ! R4       \        P                  ! R 4       \        \        V P                  4      ^4       \        \        V4      ^4       \        \        V4      ^4       \        V^ ,          P                  P                  ^ ,          R 4       RRR4       V ;_uu_ 4        V P                  R R7      pV P                  RR7       \        P                  ! R4       \        P                  ! R4       \        P                  ! R 4       \        \        V P                  4      ^4       \        \        V4      ^4       \        \        V4      ^4       \        V^ ,          P                  P                  ^ ,          R 4       RRR4       \        4       ;_uu_ 4       p V P                  4        \        4       ;_uu_ 4       pVP                  RR7       \        P                  ! R4       \        P                  ! R4       \        \        VP                  4      ^4       RRR4       \        \        V P                  4      ^4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L`; i  + '       g   i     R# ; i)zSome other warning 2)r  r  Some other warningN)
r   r  r  r^  r_  r   r  r  r  r   )r  Zlog1Zlog2Zsup2s       r   test_suppress_warnings_recordr    s   

C::<D	zz"8z9

>
*n%*+,-S\1%SY"SY"T!W__))!,.DE 
 
zz"8z9

>
*n%*+,-S\1%SY"SY"T!W__))!,.DE 
 
		

  DKKK/MM.)MM./TXX*	 !
 	S\1% 
	5 
 
 !  
		s>   CJ?CK#K90AK&	'K9?K	K#	&K61K99L
	c            	      sZ   R  p \        4       ;_uu_ 4       pVP                  4        \        R4      ;_uu_ 4        \        ^4       F  p\        P                  ! R4       K  	  RRR4       \        \        VP                  4      ^4       RRR4       \        4       ;_uu_ 4       pVP                  4        \        R4      ;_uu_ 4        \        ^4       F/  p\        P                  ! R4       \        P                  ! R4       K1  	  RRR4       \        \        VP                  4      ^4       RRR4       \        4       ;_uu_ 4       pVP                  4        \        R4      ;_uu_ 4        \        ^4       F6  p\        P                  ! R4       \        P                  ! R4       V ! 4        K8  	  RRR4       \        \        VP                  4      ^4       RRR4       \        4       ;_uu_ 4       pVP                  4        \        R4      ;_uu_ 4        \        ^4       F6  p\        P                  ! R4       \        P                  ! R4       V ! 4        K8  	  RRR4       \        \        VP                  4      ^4       RRR4       R#   + '       g   i     EL4; i  + '       g   i     EL!; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL5; i  + '       g   i     EL"; i  + '       g   i     L; i  + '       g   i     R# ; i)c                  r  )c                 r  )r  r  r]  r  r8   r   r_  ZJtest_suppress_warnings_forwarding.<locals>.warn_other_module.<locals>.warn  s    MM.Q7Jr!   Nr  r  r  r   r  Z<test_suppress_warnings_forwarding.<locals>.warn_other_module  r  r!   r  r  NZlocationr  Zoncer  )r   r  Zranger^  r_  r   r  r  )r  r  Zir  r   !test_suppress_warnings_forwardingr    s   * 
		

x((1Xn-  ) 	S\1% 
 
		

z**1Xn-n-  +
 	S\1% 
 
		

x((1Xn-n-!#  ) 	S\1% 
 
		

v&&1Xn-23!#  ' 	S\1% 
	3 )(( 
		 +** 
		 )(( 
		 '& 
		s   $J")J	#'J"$$K
?J6	'K
$K2,AK	2'K23$LAL	'LJ	J""J3	6K	K

K	K/)	K22L	LLL*	c            	      sR   \        4       ;_uu_ 4       p \        P                  P                  V R 4      p\	        VR4      ;_uu_ 4         RRR4       RRR4       \        \        P                  P                  X 4      '       * 4       Rp \        4       ;_uu_ 4       p \        h  + '       g   i     La; i  + '       g   i     Ll; i  + '       g   i     M; i  \         d    Rp Mi ; i\        T4       \        \        P                  P                  T 4      '       * 4       R# )Ztmpr  NFT)r   ospathZjoinopenr   Zisdir
ValueError)Ztdirfpathraisedr  r   test_tempdirr    s    	dT5)%  
 d##$FYY$  
 Y FOd##$sM   5B6B#	
B6
C C	#B3.B66C		C	C C C,+C,c            	      s   \        4       ;_uu_ 4       p \        V R 4      ;_uu_ 4         RRR4       RRR4       \        \        P                  P                  X 4      '       * 4       Rp \        4       ;_uu_ 4       p \        h  + '       g   i     La; i  + '       g   i     Ll; i  + '       g   i     M; i  \         d    Rp Mi ; i\        T4       \        \        P                  P                  T 4      '       * 4       R# )r  NFT)r   r  r   r  r  Zisfiler  )r  r  r  r   test_temppathr    s    	u%  
 u%%&FZZ5  
 Z FOu%%&sK   BB	B*B< <B)BBB&	)B9	4B< 9B< <CCc                   s>    ] tR tRt]P
                  ] ,          3tRtR# )my_cacwi)  r:   N)r;   r<   r=   r>   rc  rd  Zclass_modulesr?   r:   r!   r   r  r  )  s    [[*,Mr!   r  c                  s    \        4       p \        4       ;_uu_ 4        \        P                  ! R 4       \        P                  ! R4       RRR4       \        V P                  / 4       R#   + '       g   i     L(; i)r  r  N)r  r  r^  rr  r_  r   r  r  r  r   %test_clear_and_catch_warnings_inheritr  .  sJ    F	h'n% 
 ++R0 
s   -A**A:	zPython lacks refcounts)Zreasonc                   sh   a  ] tR tRt o RtR tR t]P                  P                  R 4       t
RtV tR# )TestAssertNoGcCyclesi7  zTest assert_no_gc_cycles c                s    R  p\        4       ;_uu_ 4        V! 4        RRR4       \        V4       R#   + '       g   i     L; i)c                  s,    . p V P                  . 4       V # r   Zappendrm  r  r   no_cycleZ2TestAssertNoGcCycles.test_passes.<locals>.no_cycle<  s    AHHRLHr!   N)r   )r   r  r1   r   test_passesZ TestAssertNoGcCycles.test_passes;  s/    	
 !""J # 	H% #"s	   3A	c           	     sZ   R  p\        \        4      ;_uu_ 4        \        4       ;_uu_ 4        V! 4        RRR4       RRR4       \        \        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     LE; i  + '       g   i     LP; i  + '       g   i     R# ; i)c                  sN    . p V P                  V 4       V P                  V 4       V # r   r  )r   r  r   
make_cycleZ5TestAssertNoGcCycles.test_asserts.<locals>.make_cycleG  s"    AHHQKHHQKHr!   N)r   r"   r   )r   r  r1   r   test_assertsZ!TestAssertNoGcCycles.test_assertsF  sg    	 >**$&& ' + >**
+ +* '& +* +**s-   BA3	BB3B>BB	B*	c                sb  a  ! V3R lR4      o \         P                  ! S! 4       4      p \        \        4      ;_uu_ 4        \	        R 4       RRR4       RSn        R#   + '       g   i     L; i  \
         d$    T! 4       e   \        P                  ! R4       h  LIi ; i  RSn        i ; i)z}
Test that in cases where the garbage cannot be collected, we raise an
error, instead of hanging forever trying to clear it.
c                   s<   <a  ] tR tRt o RtRtR tV3R ltRtV t	R# )<TestAssertNoGcCycles.test_fails.<locals>.ReferenceCycleInDeli[  z
An object that not only contains a reference cycle, but creates new
cycles whenever it's garbage-collected and its __del__ runs
Tc                s    W n         R # r   cycler7   r8   r   r  ZETestAssertNoGcCycles.test_fails.<locals>.ReferenceCycleInDel.__init__b  s    !
r!   c                sL   < R V n         SP                  '       d
   S! 4        R # R # r   )r  r  )r   ReferenceCycleInDels   &r   __del__ZDTestAssertNoGcCycles.test_fails.<locals>.ReferenceCycleInDel.__del__e  s#    !
&111 () 2r!   r  N)
r;   r<   r=   r>   __doc__r  r  r
  r?   r@   )rB   r	  s   @r   r	  r  [  s       J"* *r!   r	  c                  s    R # r   r:   r:   r!   r   r   Z1TestAssertNoGcCycles.test_fails.<locals>.<lambda>s  s    r!   Nz*GC does not call __del__ on cyclic objectsF)	weakrefZrefr   rn  r   r"   rW   Zskipr  )r   r  r	  s   & @r   
test_failsZTestAssertNoGcCycles.test_failsT  s    	* 	*&	3/12A	"<00'5 1 .3* 10 "  3?KK LM # .3*sL   B% A4 A!A4 !A1	,A4 0B% 1A4 4+B"B% !B""B% %	B.r:   N)r;   r<   r=   r>   r  r  r  rW   markZslowr  r?   r@   rA   rC   r   r   r   7  s0     $	&, [[(3 (3r!   r   )@r   r  r[   rc  r^  r  rW   Znumpyr%   Znumpy._core._multiarray_umathZ_coreZ_multiarray_umathr   Znumpy.testingr   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   rD   r   r   r   r  r  r'  rZ  rt  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  Zskipifr   r:   r!   r   <module>r     su    	 	 
     + +     2+/ +/\\1\ \1~* *Z\) \)~u < u pP l P f(M (MVFD FDREH EHPB BDc, c,L5G 5GpA A(*.*8	%@+%\%8 %&P,&^%"' -& -
1 $-EFE3 E3 GE3r!   