+
    QiU7                       ^ 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*]PV                  PY                  R4      ]PV                  P[                  RR7       ! R R4      4       4       t. ! R R4      t/ ! R R4      t0 ! R R4      t1 ! R R4      t2R  t3R! t4R" t5]PV                  P[                  RR7      R# 4       t6]PV                  PY                  R4      ]PV                  P[                  RR7      R$ 4       4       t7]PV                  PY                  R4      ]PV                  P[                  RR7      R% 4       4       t8]PV                  PY                  R4      ]PV                  P[                  R&R7      R' 4       4       t9]PV                  PY                  R4      ]PV                  P[                  R&R7      R( 4       4       t:]PV                  PY                  R4      ]PV                  P[                  R&R7      R) 4       4       t;R* t<R+ t= ! R, R-]4      t>]PV                  P[                  RR7      R. 4       t?]PV                  P                  ]'       * R/R7      ]PV                  P[                  R0R7       ! R1 R24      4       4       tAR# )3    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                   V   a  ] tR t^%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# )_GenericTestc                    R # N selfargskwargss   &*,d/Users/mibo/.openclaw/workspace/.venv/lib/python3.14/site-packages/numpy/testing/tests/test_utils.py_assert_func_GenericTest._assert_func'   s        c                (    V P                  W4       R # r   r"   r   abs   &&&r!   _test_equal_GenericTest._test_equal*   s    !r$   c                    \        \        4      ;_uu_ 4        V P                  W4       R R R 4       R #   + '       g   i     R # ; ir   )r   AssertionErrorr"   r'   s   &&&r!   _test_not_equal_GenericTest._test_not_equal-   s*    >**a# +***s	   4A	c                    \         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'   s   &  r!   test_array_rank1_eq _GenericTest.test_array_rank1_eq1   s4    HHaVHHaVr$   c                    \         P                  ! ^^.4      p\         P                  ! ^^.4      pV P                  W4       R# )z7Test two different array of rank 1 are found not equal.Nr2   r3   r.   r'   s   &  r!   test_array_rank1_noteq#_GenericTest.test_array_rank1_noteq8   s4    HHaVHHaVQ"r$   c                    \         P                  ! ^^.^^..4      p\         P                  ! ^^.^^..4      pV P                  W4       R# )z/Test two equal array of rank 2 are found equal.Nr1   r'   s   &  r!   test_array_rank2_eq _GenericTest.test_array_rank2_eq?   sF    HHq!fq!f%&HHq!fq!f%&r$   c                    \         P                  ! ^^.4      p\         P                  ! ^^.^^..4      pV P                  W4       R# ):Test two arrays with different shapes are found not equal.Nr7   r'   s   &  r!   test_array_diffshape!_GenericTest.test_array_diffshapeF   s=    HHaVHHq!fq!f%&Q"r$   c                f    \         P                  ! ^^.\        R7      pV P                  V^4       R# )zTest object arrays.dtypeN)r2   r3   objectr*   r   r(   s   & r!   test_objarray_GenericTest.test_objarrayM   s&    HHaV6*Ar$   c                .    V P                  . ROR4       R# )   NrI         )r*   r   s   &r!   test_array_likes_GenericTest.test_array_likesR   s    I.r$   r   N)__name__
__module____qualname____firstlineno__r"   r*   r.   r4   r8   r;   r?   rF   rN   __static_attributes____classdictcell____classdict__s   @r!   r   r   %   s7      $##
/ /r$   r   c                      a  ] tR t^Vt 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RtV tR# )TestArrayEqualc                    \        V/ VB  R # r   )r
   r   s   &*,r!   r"   TestArrayEqual._assert_funcX   s    D+F+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                    < \         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# )rK   Nr2   emptyfillcopyr*   r.   tr(   r)   cr   s   &   r!   foo.TestArrayEqual.test_generic_rank1.<locals>.foo]   sZ    AAFF1IAAFF1IQ"  &r$   ?bhilqpBHILQPfdgFDGNS1U1r   r   re   rc   s   f  r!   test_generic_rank1!TestArrayEqual.test_generic_rank1[   .    	' 'AF ' AF r$   c                   \         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
match)r2   r3   pytestraisesr-   r"   strvaluer   reescape)r   xyexc_infomsgexpected_msgs   &     r!   test_0_ndim_array TestArrayEqual.test_0_ndim_arrayn   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                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 3 array for all dtypes.c                    < \         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)r   rK   rL   r^   rb   s   &   r!   re   .TestArrayEqual.test_generic_rank3.<locals>.foo   s[    A&AFF1IAAFF1IQ"  &r$   rg   Nrh   r   rk   s   f  r!   test_generic_rank3!TestArrayEqual.test_generic_rank3   rn   r$   c                   \         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.NrJ   )r2   r3   nanr*   r.   r   r(   r)   rd   s   &   r!   test_nan_arrayTestArrayEqual.test_nan_array   s\    HHaBFF^$HHaBFF^$HHYQ"r$   c                    \         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)r2   r3   r*   r.   r   s   &   r!   test_string_arrays!TestArrayEqual.test_string_arrays   sW    HHh)*HHh)*HHj(+,Q"r$   c                   \         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.r   r   r   N)	r2   r_   floatra   r*   rr   rs   	TypeErrorr.   r   s   &   r!   test_recarraysTestArrayEqual.test_recarrays   s    HHQ(E*Xu,=>?!f(!f(FFHHHQ*e,"E*Xu,=? @(((**k&&((]]9%%  & &%%%s   C33D	c                   \         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# )      @      @      @maskNr   r   r   )FTF)TFF)r2   maMaskedArrayr3   r   r*   infr'   s   &  r!   test_masked_nan_inf"TestArrayEqual.test_masked_nan_inf   s    EEm2FGHHb"&&#&'EEm2FGHHbffb#&'r$   c           
        \         P                  ! R \        P                  \        P                  .R R\        P                  \        P                  \        P                  ) .RR.4       F  w  rp\        P
                  P                  VRR7      pV'       d"   \        P
                  P                  VRR7      M\        P                  ! V4      pV P                  WE4       V P                  WT4       K  	  \         P                  ! R \        P                  \        P                  ) .\         P                  ! R R\        P                  \        P                  \        P                  ) .^R7      4       F^  w  r\        P
                  P                  VRR7      p\        P                  ! V4      pV P                  WE4       V P                  WT4       K`  	  \         P                  ! R \        P                  \        P                  .\         P                  ! R R\        P                  \        P                  \        P                  ) .^R7      \         P                  ! RR.^R7      4       Fi  w  rp\        P
                  P                  VRR7      p\        P
                  P                  W&R7      pV P                  WE4       V P                  WT4       Kk  	  R# )r   r   FTr   )repeatN)		itertoolsproductr2   r   r   r   r   r3   r*   )r   a_valb_valb_maskedr(   r)   b_masks   &      r!   test_masked_scalar!TestArrayEqual.test_masked_scalar   s    &/&7&7 RVVRVVbffW-DM'
"E(
 !!%d!3A7?!!%d!3RXXe_AQ"Q"'
 &--"&&!r2rvvrvvw?J
LE !!%d!3AAQ"Q"
 %.$5$5 r2rvvrvvw?JudmA6%
 E&
 !!%d!3A!!%!5AQ"Q"%
r$   c                    ! 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                   ,   a  ] tR t^t o R tR tRtV tR# )?TestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArrayc                \    \        \        P                  ! W4      P                  4       4      # r   )boolr2   equalallr   others   &&r!   __eq__FTestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArray.__eq__   s    BHHT155788r$   c                    W8X  * # r   r   r   s   &&r!   __ne__FTestArrayEqual.test_subclass_that_overrides_eq.<locals>.MyArray.__ne__   s    ((r$   r   N)rP   rQ   rR   rS   r   r   rT   rU   rV   s   @r!   MyArrayr      s     9) )r$   r         ?       @r   z{Mismatched elements: 1 / 2 (50%)
Max absolute difference among violations: 1.
Max relative difference among violations: 0.5rp   N        g333333@z{Mismatched elements: 1 / 2 (50%)
Max absolute difference among violations: 2.
Max relative difference among violations: inf)r2   ndarrayr3   viewr   typer   r*   r.   rr   rs   r-   rv   rw   )r   r   r(   r)   r|   rd   s   &     r!   test_subclass_that_overrides_eq.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                    ! 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                   &   a  ] tR tRt o R tRtV tR# )KTestArrayEqual.test_subclass_that_does_not_implement_npall.<locals>.MyArrayi  c                    \         # r   )NotImplementedr   s   &*,r!   __array_function__^TestArrayEqual.test_subclass_that_does_not_implement_npall.<locals>.MyArray.__array_function__  s    %%r$   r   N)rP   rQ   rR   rS   r   rT   rU   rV   s   @r!   r   r     s     & &r$   r   r   r   r   N)	r2   r   r3   r   r   r   r   r*   r.   )r   r   r(   r)   s   &   r!   +test_subclass_that_does_not_implement_npall:TestArrayEqual.test_subclass_that_does_not_implement_npall  s    	&bjj 	& HHb"X##G,HHb"X##G,9%%FF1I &Q"Q"	 &%s   ?CC#	c                   \         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)raiser   NrJ   )rI   gWw'&l7rL   )	rr   rs   r-   r2   errstatetestingr
   r3   float32rM   s   &r!   test_suppress_overflow_warnings.TestArrayEqual.test_suppress_overflow_warnings  sv    ]]>**))

--HHY

3HH]BJJ79 * +*)) +**s$    CA+C 	.C CCC$	c                \    \         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   r1   r'   s   &  r!   test_array_vs_scalar_is_equal,TestArrayEqual.test_array_vs_scalar_is_equal$  s#    HH\"r$   c                4   \         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.zMismatched elements: 1 / 4 (25%)
Mismatch at index:
 [3]: 563766 (ACTUAL), 0 (DESIRED)
Max absolute difference among violations: 563766
Max relative difference among violations: infrp   NzMismatched elements: 2 / 4 (50%)
Mismatch at indices:
 [2]: 439655.2 (ACTUAL), 439655 (DESIRED)
 [3]: 563766.0 (ACTUAL), 0 (DESIRED)
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   r2   r3   rr   rs   r-   rv   rw   r"   r   r(   r)   r|   s   &   r!   test_array_vs_array_not_equal,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                    \         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strictNr   r2   r3   rr   rs   r-   r"   r'   s   &  r!   test_array_vs_scalar_strict*TestArrayEqual.test_array_vs_scalar_strictD  sF    HH\"]]>**a40 +***s   AA,	c                    \         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   )r2   r3   r"   r'   s   &  r!   test_array_vs_array_strict)TestArrayEqual.test_array_vs_array_strictL  s1    HH\"HH\"!t,r$   c                
   \         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)rI   rI   rI   r   r   r'   s   &  r!    test_array_vs_float_array_strict/TestArrayEqual.test_array_vs_float_array_strictS  sO    HHYHH\"]]>**a40 +***s   A11B	r   N)rP   rQ   rR   rS   r"   rl   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rT   rU   rV   s   @r!   rY   rY   V   sa     ,& 2&#	#'"	#B #D#9$21-1 1r$   rY   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestBuildErrorMessagei\  c                    \         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㈵ ?&  @㈵ @r2   r3   r   r   r   rx   ry   err_msgr(   r)   s   &     r!   test_build_err_msg_defaults1TestBuildErrorMessage.test_build_err_msg_defaults^  sD    HH01HH01'1&'*" 	Qr$   c                    \         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)verbosez)
Items are not equal: There is a mismatchNr   r   r   r   s   &     r!   test_build_err_msg_no_verbose3TestBuildErrorMessage.test_build_err_msg_no_verbosei  sB    HH01HH01'1&'598Qr$   c                    \         P                  ! . RO4      p\         P                  ! . RO4      pRp\        W.VRR7      pRp\        WE4       R# )r   r   )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   )FOOBARr   r   s   &     r!   test_build_err_msg_custom_names5TestBuildErrorMessage.test_build_err_msg_custom_namesr  sF    HH01HH01'1&'@ 	Qr$   c                    \         P                  ! . RO4      p\         P                  ! . RO4      pRp\        W.V^
R7      pRp\        WE4       R# )0D   ?r   )	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   s   &     r!   #test_build_err_msg_custom_precision9TestBuildErrorMessage.test_build_err_msg_custom_precision}  sF    HH45HH45'1&'R87 	Qr$   r   N)
rP   rQ   rR   rS   r   r   r  r
  rT   rU   rV   s   @r!   r   r   \  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                    \        V/ VB  R # r   )r   r   s   &*,r!   r"   TestEqual._assert_func  s    d%f%r$   c                `   V P                  \        P                  \        P                  4       V P                  \        P                  .\        P                  .4       V P                  \        P                  \        P                  .4       V P                  \        P                  ^4       R# rI   N)r"   r2   r   r.   rM   s   &r!   test_nan_itemsTestEqual.test_nan_items  sd    "&&"&&)266(RVVH-RVVbffX.RVVQ'r$   c                    V P                  \        P                  \        P                  4       V P                  \        P                  .\        P                  .4       V P                  \        P                  \        P                  .4       R # r   )r"   r2   r   r.   rM   s   &r!   test_inf_itemsTestEqual.test_inf_items  sP    "&&"&&)266(RVVH-RVVbffX.r$   c                   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smz
2017-01-02N)r*   r2   
datetime64r.   rM   s   &r!   test_datetimeTestEqual.test_datetime  s    MM,,MM,,	
 	MM,,MM,,	
 	MM,,MM,,	
 	MM,,MM,,	
r$   c                n   \         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  nsr  N)r2   r  timedelta64r   r   r"   r.   )r   nadt_no_unitnadt_snadt_dnatd_no_unitnatd_snatd_ddtstdsr(   r)   s   &          r!   test_nat_items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                N    V P                  R R 4       V P                  R R4       R# )ababbN)r"   r.   rM   s   &r!   test_non_numericTestEqual.test_non_numeric  s"    $%T5)r$   c                b   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"   complexr2   r   r.   r   rM   s   &r!   test_complex_itemTestEqual.test_complex_item  s    '!Q-A7'!RVV,ga.@AWQ/A?WRVVQ/BFF1CDWRVVRVV4gbffa6HIr$   c                b    V P                  \        P                  \        P                  4       R # r   )r.   ncuPZERONZEROrM   s   &r!   test_negative_zeroTestEqual.test_negative_zero  s    SYY		2r$   c                   \         P                  ! \        ^^4      \        ^\         P                  4      .4      p\         P                  ! \        ^^4      \        ^^4      .4      pV P	                  W4       V P                  W4       R# r  r2   r3   r2  r   r"   r.   r   rx   ry   s   &  r!   test_complexTestEqual.test_complex  sa    HHgamWQ%789HHgamWQ]34!Q"r$   c                    ^ 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  )datetimer2   r3   r.   )r   rB  r(   s   &  r!   test_objectTestEqual.test_object  sQ    HHh''a3''a35 6Q$B$(r$   r   N)rP   rQ   rR   rS   r"   r  r  r  r*  r/  r3  r9  r>  rC  rT   rU   rV   s   @r!   r  r    s>     &(/

(@>*J3#) )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# )TestArrayAlmostEquali  c                    \        V/ VB  R # r   )r   r   s   &*,r!   r"   !TestArrayAlmostEqual._assert_func  s    !4262r$   c                   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: infrp         ?r   decimalN?zMismatched elements: 1 / 1 (100%)
Mismatch at index:
 [0]: 1.5 (ACTUAL), 0.0 (DESIRED)
Max absolute difference among violations: 1.5
Max relative difference among violations: infge(?giUMu>gB??zMismatched elements: 1 / 2 (50%)
Mismatch at index:
 [1]: 3e-05 (ACTUAL), 0.0 (DESIRED)
Max absolute difference among violations: 3.e-05
Max relative difference among violations: infzMismatched elements: 1 / 2 (50%)
Mismatch at index:
 [1]: 0.0 (ACTUAL), 3e-05 (DESIRED)
Max absolute difference among violations: 3.e-05
Max relative difference among violations: 1.rr   rs   r-   rv   rw   r"   )r   r|   r(   r)   s   &   r!   test_closeness#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                   \         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@rK  zMismatched elements: 1 / 1 (100%)
Mismatch at index:
 [0]: 1234.2222 (ACTUAL), 1234.2223 (DESIRED)
Max absolute difference among violations: 1.e-04
Max relative difference among violations: 8.10226812e-08rp   Nr2   r3   r"   rr   rs   r-   rv   rw   r   rx   ry   r|   s   &   r!   test_simple TestArrayAlmostEqual.test_simple  s    HHi[!HHi[!!*!*) ]]><1HIIaA. JIIIs   B--B>	c                j   . 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%)
Mismatch at indices:
 [1]: 849.54345 (ACTUAL), 5498.42354 (DESIRED)
 [2]: 0.0 (ACTUAL), 5498.42354 (DESIRED)
Max absolute difference among violations: 5498.42354
Max relative difference among violations: 1.rp   rK  NzMismatched elements: 2 / 3 (66.7%)
Mismatch at indices:
 [1]: 5498.42354 (ACTUAL), 849.54345 (DESIRED)
 [2]: 5498.42354 (ACTUAL), 0.0 (DESIRED)
Max absolute difference among violations: 5498.42354
Max relative difference among violations: 5.4722099zMismatched elements: 1 / 2 (50%)
Mismatch at index:
 [1]: 5498.42354 (ACTUAL), 0.0 (DESIRED)
Max absolute difference among violations: 5498.42354
Max relative difference among violations: infzMismatched elements: 1 / 2 (50%)
Mismatch at index:
 [0]: 5498.42354 (ACTUAL), 0 (DESIRED)
Max absolute difference among violations: 5498.42354
Max relative difference among violations: inf)rW  gHPX@r   rN  r   s   &   r!   test_array_vs_scalar)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                x  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# )rI   c                  (   < SP                  S S4      # r   r&   ananaoner   s   r!   <lambda>/TestArrayAlmostEqual.test_nan.<locals>.<lambda>Z      d//d;r$   c                  (   < SP                  SS 4      # r   r&   ainfr]  r   s   r!   r_  r`  \  ra  r$   c                  (   < SP                  S S4      # r   r&   rc  s   r!   r_  r`  ^  ra  r$   Nr2   r3   r   r   r"   r   r-   r   rd  r]  r^  s   f@@@r!   test_nanTestArrayAlmostEqual.test_nanT  sq    xx!xx}xx!$%n;	=n;	=n;	=r$   c                
  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   r   r   c                  (   < SP                  S S4      # r   r&   r(   r)   r   s   r!   r_  /TestArrayAlmostEqual.test_inf.<locals>.<lambda>e      d//15r$   c                  (   < SP                  S S4      # r   r&   rl  s   r!   r_  rm  h  rn  r$   N)r   r   )r2   r3   ra   r   r   r-   r'   s   f@@r!   test_infTestArrayAlmostEqual.test_inf`  s_    HHr2hR)*FFH&&$n5	766'$n5	7r$   c                ~   \         P                  ! \         P                  R ,           RR.4      pVP                  4       pV P	                  W4       RV^&   Rp\
        P                  ! \        \        P                  ! V4      R7      ;_uu_ 4        V P	                  W4       RRR4       R#   + '       g   i     R# ; i)              ?zMismatched elements: 1 / 3 (33.3%)
Mismatch at index:
 [1]: (2+1j) (ACTUAL), (3+1j) (DESIRED)
Max absolute difference among violations: 1.
rp   Ny       @      ?y      @      ?)
r2   r3   r   ra   r"   rr   rs   r-   rv   rw   r   s   &   r!   test_complex_inf%TestArrayAlmostEqual.test_complex_infj  s    HHbffslHh78FFH!!I ]]><1HIIa# JIIIs   B++B<	c                   \         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   r   r   r   FTg      @r   Nr   )TTT)r   r   r   )r2   r3   r   masked_arrayr"   r   r*   maskedr'   s   &  r!   test_subclass"TestArrayAlmostEqual.test_subclassv  s~   HHr2hR)*EER2r(3!&u>@!!! EEc-HH]#EELLHH]#EEm2DEHH\"EEm2DEHHRLr$   c                *    ! 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>.MyArrayi  c                \   < \         SV `  V4      P                  \        P                  4      # r   superr   r   r2   r   r   r   	__class__s   &&r!   r   <TestArrayAlmostEqual.test_subclass_2.<locals>.MyArray.__eq__  !    w~e,11"**==r$   c                \   < \         SV `  V4      P                  \        P                  4      # r   r  __lt__r   r2   r   r  s   &&r!   r  <TestArrayAlmostEqual.test_subclass_2.<locals>.MyArray.__lt__  r  r$   c                    \        V 4      # r   r   r   s   &*,r!   r   9TestArrayAlmostEqual.test_subclass_2.<locals>.MyArray.all  s    4y r$   r   
rP   rQ   rR   rS   r   r  r   rT   rU   __classcell__r  rW   s   @@r!   r   r}    s     >>! !r$   r   r   r   TzMismatched elements: 1 / 2 (50%)
Mismatch at index:
 [1]: 2.0 (ACTUAL), 202.0 (DESIRED)
Max absolute difference among violations: 200.
Max relative difference among violations: 0.99009rp   N)r2   r   r3   r   r"   r   rr   rs   r-   rv   rw   )r   r   r(   zr)   r|   s   &     r!   test_subclass_2$TestArrayAlmostEqual.test_subclass_2  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                   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	# )GTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArrayi  c                \   < \         SV `  V4      P                  \        P                  4      # r   r  r  s   &&r!   r   NTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__eq__  r  r$   c                \   < \         SV `  V4      P                  \        P                  4      # r   r  r  s   &&r!   r  NTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__lt__  r  r$   c                    \         hr   NotImplementedErrorr   s   &*,r!   r   KTestArrayAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.all      ))r$   r   r  r  s   @@r!   r   r         >>* *r$   r   r   r   Nr2   r   r3   r   r"   r   r   r(   s   &  r!   !test_subclass_that_cannot_be_bool6TestArrayAlmostEqual.test_subclass_that_cannot_be_bool  ?    
	*bjj 	* HHb"X##G,!r$   r   N)rP   rQ   rR   rS   r"   rO  rT  rX  rh  rp  rt  ry  r  r  rT   rU   rV   s   @r!   rF  rF    s>     3)/V/")/V
=7
$4$:   r$   rF  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# )TestAlmostEquali  c                    \        V/ VB  R # r   )r   r   s   &*,r!   r"   TestAlmostEqual._assert_func      T,V,r$   c                   a  S P                  R R^ R7       \        \        V 3R l4       S P                  R .R.^ R7       \        \        V 3R l4       R# )rM  r   rK  c                  ,   < S P                  R R^ R7      # rJ  r   rK  r&   rM   s   r!   r_  0TestAlmostEqual.test_closeness.<locals>.<lambda>  s    d//S!/Dr$   c                  0   < S P                  R .R.^ R7      # r  r&   rM   s   r!   r_  r    s    d//ua/Hr$   Nr"   r   r-   rM   s   fr!   rO  TestAlmostEqual.test_closeness  sQ     	(C3nD	F 	8*seQ7nH	Jr$   c                   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      # rI   )r"   r2   r   rM   s   r!   r_  /TestAlmostEqual.test_nan_item.<locals>.<lambda>      d//:r$   c                  `   < S P                  \        P                  \        P                  4      # r   )r"   r2   r   r   rM   s   r!   r_  r        d//?r$   c                  `   < S P                  \        P                  \        P                  4      # r   )r"   r2   r   r   rM   s   r!   r_  r    r  r$   N)r"   r2   r   r   r-   rM   s   fr!   test_nan_itemTestAlmostEqual.test_nan_item  sD    "&&"&&)n:	<n?	An?	Ar$   c                  a  S P                  \        P                  \        P                  4       S P                  \        P                  ) \        P                  ) 4       \        \        V 3R  l4       \        \        V 3R l4       R# )c                  D   < S P                  \        P                  ^4      # r  r"   r2   r   rM   s   r!   r_  /TestAlmostEqual.test_inf_item.<locals>.<lambda>  r  r$   c                  b   < S P                  \        P                  ) \        P                  4      # r   r  rM   s   r!   r_  r    s    d//@r$   N)r"   r2   r   r   r-   rM   s   fr!   test_inf_itemTestAlmostEqual.test_inf_item  sR    "&&"&&)266'BFF7+n:	<n@	Br$   c                *    V P                  ^^4       R# r  )r.   rM   s   &r!   test_simple_item TestAlmostEqual.test_simple_item  s    Q"r$   c                   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"   r2  r2   r   r   r.   rM   s   &r!   r3  !TestAlmostEqual.test_complex_item  s    '!Q-A7'!RVV,ga.@A'"&&"&&172662663JKWQ/A?WRVVQ/BFF1CDWRVVRVV4gbffa6HIr$   c                   \         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   rx   r  ry   s   &   r!   r>  TestAlmostEqual.test_complex  s    HHgamWQ%789HHgamWRVVQ%789HHgamWQ]34!Q"Q"r$   c                   \         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%)
Mismatch at indices:
 [0]: 1.00000000001 (ACTUAL), 1.00000000002 (DESIRED)
 [1]: 2.00000000002 (ACTUAL), 2.00000000003 (DESIRED)
 [2]: 3.00003 (ACTUAL), 3.00004 (DESIRED)
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      ])rp   rK  Na"  Mismatched elements: 1 / 3 (33.3%)
Mismatch at index:
 [2]: 3.00003 (ACTUAL), 3.00004 (DESIRED)
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%)
Mismatch at index:
 [1]: 0.0 (ACTUAL), 1.0 (DESIRED)
Max absolute difference among violations: 1.
Max relative difference among violations: 1.
 ACTUAL: array([inf,  0.])
 DESIRED: array([inf,  1.])zMismatched elements: 2 / 2 (100%)
Mismatch at indices:
 [0]: 1 (ACTUAL), 0 (DESIRED)
 [1]: 2 (ACTUAL), 0 (DESIRED)
Max absolute difference among violations: 2
Max relative difference among violations: inf)g    ?g     @r   )g_   ?g    @r   )	r2   r3   rr   rs   r-   rv   rw   r"   r   rS  s   &   r!   test_error_message"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IO JII JII JI JIIs0   +HH!H)%H<H	H&	)H9	<I	c                    ^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 a@  Mismatched elements: 20 / 20 (100%)
First 5 mismatches are at indices:
 [0]: 2 (ACTUAL), 1.0 (DESIRED)
 [1]: 2 (ACTUAL), 1.0 (DESIRED)
 [2]: 2 (ACTUAL), 1.0 (DESIRED)
 [3]: 2 (ACTUAL), 1.0 (DESIRED)
 [4]: 2 (ACTUAL), 1.0 (DESIRED)
Max absolute difference among violations: 1.
Max relative difference among violations: 1.rp   NaA  Mismatched elements: 20 / 20 (100%)
First 5 mismatches are at indices:
 [0]: 1.0 (ACTUAL), 2 (DESIRED)
 [1]: 1.0 (ACTUAL), 2 (DESIRED)
 [2]: 1.0 (ACTUAL), 2 (DESIRED)
 [3]: 1.0 (ACTUAL), 2 (DESIRED)
 [4]: 1.0 (ACTUAL), 2 (DESIRED)
Max absolute difference among violations: 1.
Max relative difference among violations: 0.5)r2   onesrr   rs   r-   rv   rw   r"   rS  s   &   r!   test_error_message_2$TestAlmostEqual.test_error_message_28  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  R\         P                  4      p\         P                  ! RR.4      P                  V4      pV P	                  W"4       R# )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	# )BTestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArrayi\  c                \   < \         SV `  V4      P                  \        P                  4      # r   r  r  s   &&r!   r   ITestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__eq__]  r  r$   c                \   < \         SV `  V4      P                  \        P                  4      # r   r  r  s   &&r!   r  ITestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.__lt__`  r  r$   c                    \         hr   r  r   s   &*,r!   r   FTestAlmostEqual.test_subclass_that_cannot_be_bool.<locals>.MyArray.allc  r  r$   r   r  r  s   @@r!   r   r  \  r  r$   r   r   r   Nr  r  s   &  r!   r  1TestAlmostEqual.test_subclass_that_cannot_be_boolW  r  r$   r   N)rP   rQ   rR   rS   r"   rO  r  r  r  r3  r>  r  r  r  rT   rU   rV   s   @r!   r  r    sA     -J"AB#J#<$|$>   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# )	TestApproxEqualij  c                    \        V/ VB  R # r   )r   r   s   &*,r!   r"   TestApproxEqual._assert_funcl  r  r$   c                   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@significantc                  ,   < S P                  SS^R7      #    r  r&   r=  s   r!   r_  7TestApproxEqual.test_simple_0d_arrays.<locals>.<lambda>v      d//1!/Dr$   N)r2   r3   r"   r   r-   r=  s   f@@r!   test_simple_0d_arrays%TestApproxEqual.test_simple_0d_arrayso  sW    HHWHHW!QA.!QA.nD	Fr$   c                   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                  ,   < S P                  SS^R7      # r  r&   r=  s   r!   r_  3TestApproxEqual.test_simple_items.<locals>.<lambda>  r  r$   Nr  r=  s   f@@r!   test_simple_items!TestApproxEqual.test_simple_itemsx  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# )rI   c                  (   < SP                  S S4      # r   r&   r\  s   r!   r_  0TestApproxEqual.test_nan_array.<locals>.<lambda>      d.?.?d.Kr$   c                  (   < SP                  SS 4      # r   r&   rc  s   r!   r_  r    r  r$   c                  (   < SP                  S S4      # r   r&   rc  s   r!   r_  r    r  r$   Nrf  rg  s   f@@@r!   r   TestApproxEqual.test_nan_array  e    xxxx{xx$%n&KLn&KLn&KLr$   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# )rI   c                  (   < SP                  S S4      # r   r&   r\  s   r!   r_  0TestApproxEqual.test_nan_items.<locals>.<lambda>  r  r$   c                  (   < SP                  SS 4      # r   r&   rc  s   r!   r_  r    r  r$   c                  (   < SP                  S S4      # r   r&   rc  s   r!   r_  r    r  r$   Nrf  rg  s   f@@@r!   r  TestApproxEqual.test_nan_items  r  r$   r   N)rP   rQ   rR   rS   r"   r  r  r   r  rT   rU   rV   s   @r!   r  r  j  s(     -FFMM Mr$   r  c                   h   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# )TestArrayAssertLessi  c                    \        V/ VB  R # r   )r   r   s   &*,r!   r"    TestArrayAssertLess._assert_func  s    4*6*r$   c                t  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=  s   r!   r_  8TestArrayAssertLess.test_simple_arrays.<locals>.<lambda>      d.?.?1.Er$   r   c                  (   < S P                  SS4      # r   r&   r=  s   r!   r_  r    r  r$   c                  (   < S P                  SS4      # r   r&   r=  s   r!   r_  r    r  r$   zMismatched elements: 2 / 4 (50%)
Mismatch at indices:
 [2]: 6 (x), 6 (y)
 [3]: 20 (x), 8 (y)
Max absolute difference among violations: 12
Max relative difference among violations: 1.5rp   N)rI   rL         )rK   r   r	     )	r2   r3   r"   r   r-   rr   rs   rv   rw   )r   r(   r)   r|   rx   ry   s   f   @@r!   test_simple_arrays&TestArrayAssertLess.test_simple_arrays  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                   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      @a  Mismatched elements: 4 / 4 (100%)
Mismatch at indices:
 [0, 0]: 1.2 (x), 1.1 (y)
 [0, 1]: 2.3 (x), 2.2 (y)
 [1, 0]: 3.4 (x), 3.3 (y)
 [1, 1]: 4.5 (x), 4.4 (y)
Max absolute difference among violations: 0.1
Max relative difference among violations: 0.09090909rp   Nr   c                  (   < S P                  SS4      # r   r&   r=  s   r!   r_  0TestArrayAssertLess.test_rank2.<locals>.<lambda>  r  r$   c                  (   < S P                  SS4      # r   r&   r=  s   r!   r_  r    r  r$   )	r2   r3   r"   rr   rs   r-   rv   rw   r   r   r|   rx   ry   s   f @@r!   
test_rank2TestArrayAssertLess.test_rank2  s    HHsCj3*-.HHsCj3*-.!QO ]]><1HIIa# J HHsCj3*-.n&EFn&EF JIs   C--C=	c                  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)	rK   )shapec                  (   < S P                  SS4      # r   r&   r=  s   r!   r_  0TestArrayAssertLess.test_rank3.<locals>.<lambda>  r  r$   zMismatched elements: 1 / 8 (12.5%)
Mismatch at index:
 [0, 0, 0]: 1.0 (x), 0.0 (y)
Max absolute difference among violations: 1.
Max relative difference among violations: infrp   Nc                  (   < S P                  SS4      # r   r&   r=  s   r!   r_  r    r  r$   )rK   rK   rK   )r   r   r   )	r2   r  r"   r   r-   rr   rs   rv   rw   r  s   f @@r!   
test_rank3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                  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.rp   Nr  c                  (   < S P                  SS4      # r   r&   r=  s   r!   r_  7TestArrayAssertLess.test_simple_items.<locals>.<lambda>  r  r$   r   c                  (   < S P                  SS4      # r   r&   r=  s   r!   r_  r    r  r$   )	r"   rr   rs   r-   rv   rw   r2   r3   r   r  s   f @@r!   r  %TestArrayAssertLess.test_simple_items  s    !QG ]]><1HIIa# J HHc3Z !Qn&EFHHc3Z n&EF JIs   CC/	c                p   \         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}.AzMismatched elements: 1 / 12 (8.33%)
Mismatch at index:
 [1, 1]: 999090.54 (x), 999090.54 (y)
Max absolute difference among violations: 0.
Max relative difference among violations: 0.rp   Nap  Mismatched elements: 12 / 12 (100%)
First 5 mismatches are at indices:
 [0, 0]: 999090.54 (x), 3.4536 (y)
 [0, 1]: 999090.54 (x), 2390.5436 (y)
 [0, 2]: 999090.54 (x), 435.54657 (y)
 [0, 3]: 999090.54 (x), 324525.4535 (y)
 [1, 0]: 999090.54 (x), 5449.54 (y)
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'  r(  gye}.ArR  rS  s   &   r!   test_simple_items_and_array/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                   \         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%)
Mismatch at index:
 [0]: 546456.0 (x), 87654.0 (y)
Max absolute difference among violations: 458802.
Max relative difference among violations: 5.23423917rp   NzMismatched elements: 2 / 3 (66.7%)
Mismatch at indices:
 [1]: 87654.0 (x), 0.0 (y)
 [2]: 87654.0 (x), 15.455 (y)
Max absolute difference among violations: 87654.
Max relative difference among violations: 5670.5626011zMismatched elements: 3 / 3 (100%)
Mismatch at indices:
 [0]: 546456.0 (x), 0 (y)
 [1]: 0.0 (x), 0 (y)
 [2]: 15.455 (x), 0 (y)
Max absolute difference among violations: 546456.
Max relative difference among violations: infzMismatched elements: 1 / 3 (33.3%)
Mismatch at index:
 [1]: 0 (x), 0.0 (y)
Max absolute difference among violations: 0.
Max relative difference among violations: inf)r,  r   g)\.@r   rS  s   &   r!   test_zeroes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                  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# )rI   c                  (   < SP                  SS 4      # r   r&   r\  s   r!   r_  9TestArrayAssertLess.test_nan_noncompare.<locals>.<lambda>@  r  r$   c                  (   < SP                  S S4      # r   r&   r\  s   r!   r_  r1  A  r  r$   c                  (   < SP                  SS 4      # r   r&   rc  s   r!   r_  r1  B  r  r$   c                  (   < SP                  S S4      # r   r&   rc  s   r!   r_  r1  C  r  r$   Nrf  rg  s   f@@@r!   test_nan_noncompare'TestArrayAssertLess.test_nan_noncompare;  sp    xxxx{xx$%n&KLn&KLn&KLn&KLr$   c                "  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   rx   s   r!   r_  ?TestArrayAssertLess.test_nan_noncompare_array.<locals>.<lambda>I      d.?.?4.Hr$   c                  (   < SP                  S S4      # r   r&   r9  s   r!   r_  r:  J      d.?.?a.Hr$   c                  (   < SP                  SS 4      # r   r&   r9  s   r!   r_  r:  N  r;  r$   c                  (   < SP                  S S4      # r   r&   r9  s   r!   r_  r:  O  r=  r$   r   r   c                  (   < S P                  SS4      # r   r&   r=  s   r!   r_  r:  T  r  r$   N)r   r  r  )r2   r3   r   r   r-   r"   )r   r]  rx   ry   s   f@@@r!   test_nan_noncompare_array-TestArrayAssertLess.test_nan_noncompare_arrayE  s    HH_%xxn&HIn&HIHHc3'(n&HIn&HIHHc3'(!Qn&EFr$   c                  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# )rI   c                  (   < SP                  S S4      # r   r&   rd  r^  r   s   r!   r_  6TestArrayAssertLess.test_inf_compare.<locals>.<lambda>]  r  r$   c                  *   < SP                  SS ) 4      # r   r&   rE  s   r!   r_  rF  ^      d.?.?te.Lr$   c                  (   < SP                  S S 4      # r   r&   rd  r   s   r!   r_  rF  _  r  r$   c                  *   < SP                  S S ) 4      # r   r&   rJ  s   r!   r_  rF  `  rH  r$   c                  ,   < SP                  S ) S ) 4      # r   r&   rJ  s   r!   r_  rF  a  s    d.?.?u.Mr$   N)r2   r3   r   r"   r   r-   )r   rd  r^  s   f@@r!   test_inf_compare$TestArrayAssertLess.test_inf_compareV  s    xx{xx$%4%&4%&n&KLn&LMn&KLn&LMn&MNr$   c                  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                  (   < SP                  SS 4      # r   r&   rd  r   rx   s   r!   r_  <TestArrayAssertLess.test_inf_compare_array.<locals>.<lambda>g  r;  r$   c                  (   < SP                  S S4      # r   r&   rQ  s   r!   r_  rR  h  r=  r$   c                  *   < SP                  SS ) 4      # r   r&   rQ  s   r!   r_  rR  i  s    d.?.?D5.Ir$   c                  ,   < SP                  S) S ) 4      # r   r&   rQ  s   r!   r_  rR  j  s    d.?.?TE.Jr$   c                  ,   < SP                  S ) S) 4      # r   r&   rQ  s   r!   r_  rR  k  s    d.?.?r.Jr$   N)r2   r3   r   r   r-   r"   )r   rd  rx   s   f@@r!   test_inf_compare_array*TestArrayAssertLess.test_inf_compare_arrayc  sw    HHc3'(xxn&HIn&HIn&IJn&JKn&JK4%#r$   c                b   \         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   )r2   zerosr  r"   rr   rs   r-   broadcast_tor  astyper   r=  s   &  r!   test_strictTestArrayAssertLess.test_strictn  s    HHQKGGBK!]]>**a40 +OOAww'!]]>**a"**!5dC +*	 +* +**s    D
1D
D	D.	r   N)rP   rQ   rR   rS   r"   r  r  r  r  r)  r-  r5  rA  rM  rW  r^  rT   rU   rV   s   @r!   r  r    sP     +$0G(G$G(#$J($TMG"O	$
D 
Dr$   r  z^ignore:.*NumPy warning suppression and assertion utilities are deprecated.*:DeprecationWarningz*checks global module & deprecated warnings)reasonc                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )	TestWarnsiz  c                B   R  p\         P                  R,          P                  R,          p\        \	        \
        V4      ^4       \         P                  R,          P                  p\        \        \        V4       \        \        R ^4      ^4       \        W#R4       R# )c                  2    \         P                  ! R 4       ^# yowarningswarnr   r$   r!   fTestWarns.test_warn.<locals>.f  s    MM$r$   rh  NNNc                     V # r   r   )rx   s   &r!   r_  %TestWarns.test_warn.<locals>.<lambda>  s    !r$   .assert_warns does not preserver warnings stateN)	sysmodulesfiltersr   r   UserWarningr   r-   r   )r   rj  before_filtersafter_filterss   &   r!   	test_warnTestWarns.test_warn  sv    	 Z088;\+q115J/77n&8!<'Q7; 	^E	Gr$   c                h   \         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)rh  rl  rf  Nc                      \        4       ;_uu_ 4        \        P                  ! R 4       RRR4       R#   + '       g   i     R# ; irf  N)r   rh  ri  r   r$   r!   no_warnings3TestWarns.test_context_manager.<locals>.no_warnings  s&    #%%d# &%%%s	   4A	ro  )
rp  rq  rr  r   rs  rh  ri  r   r-   r   )r   rt  ru  r{  s   &   r!   test_context_managerTestWarns.test_context_manager  ss    Z088;+&&MM$ 'J/77	$ 	nk2^E	G '&s    B!!B1	c           	     
   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                 >    \         P                  ! R 4       W,           # re  rg  )r(   r)   s   &&r!   rj  TestWarns.test_args.<locals>.f  s    MM$5Lr$   r)   Arp   BNr   zpytest.warns)wrong)r   rI   )r   rs  rr   rs   RuntimeErrorrh  ri  rt   )r   rj  excs   &  r!   	test_args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                &   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                  <    \         P                  ! R \        4       R# rz  )rh  ri  DeprecationWarningr   r$   r!   rj  ,TestWarns.test_warn_wrong_warning.<locals>.f  s    MM$ 23r$   FerrorTNz#wrong warning caught by assert_warn)rh  catch_warningssimplefilterr  r   rs  r-   )r   rj  faileds   &  r!   test_warn_wrong_warning!TestWarns.test_warn_wrong_warning  sz    	4 $$&&!!'+=>[!, '  !FGG  &  '&s)   B  A//A=:B <A==B  B	r   N)
rP   rQ   rR   rS   rv  r}  r  r  rT   rU   rV   s   @r!   rb  rb  z  s"     G G.*H Hr$   rb  c                   b   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V tR# )TestAssertAllclosei  c                   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&.>atolzMismatched elements: 1 / 1 (100%)
Max absolute difference among violations: 0.001
Max relative difference among violations: 999999.rp   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.)rtolg      ?zMismatched elements: 1 / 4 (25%)
Mismatch at index:
 [3]: 0.001 (ACTUAL), 0.0 (DESIRED)
Max absolute difference among violations: 0.001
Max relative difference among violations: infzMismatched elements: 1 / 4 (25%)
Mismatch at index:
 [3]: 0.0 (ACTUAL), 0.001 (DESIRED)
Max absolute difference among violations: 0.001
Max relative difference among violations: 1.g1  ?rA  )	r   r   r-   rr   rs   rv   rw   r2   r3   )r   rx   ry   r|   r  r(   r)   rd   s   &       r!   rT  TestAssertAllclose.test_simple  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IY 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                    \         P                  ! \         P                  ! \         P                  4      P                  .\         P                  R 7      p\        W4       R# )rB   N)r2   r3   iinfoint_minr   rE   s   & r!   test_min_intTestAssertAllclose.test_min_int  s4    HHbhhrww'++,BGG<r$   c                *   \         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)rI   zMismatched elements: 1 / 4 (25%)
Mismatch at index:
 [3]: 1 (ACTUAL), 2 (DESIRED)
Max absolute difference among violations: 1
Max relative difference among violations: 0.5rp   N)rI   rI   rI   rI   )rI   rI   rI   rK   r2   r3   rr   rs   r-   rv   rw   r   r   s   &   r!   test_report_fail_percentage.TestAssertAllclose.test_report_fail_percentage  sZ    HH\"HH\"H
 ]]><1HIIA! JIII   +BB	c                X   \         P                  ! \         P                  .4      p\         P                  ! \         P                  .4      p\        WR R7       \         P                  ! \	        \         P                  \         P
                  4      .4      p\         P                  ! \	        \         P                  \         P
                  4      .4      p\        WR R7       \         P                  ! \	        \         P                  \         P
                  ) 4      .4      p\        WR R7       R# )T	equal_nanN)r2   r3   r   r   r2  r   r'   s   &  r!   test_equal_nan!TestAssertAllclose.test_equal_nan  s    HHbffXHHbffX-HHgbffbff-./HHgbffbff-./-HHgbffrvvg./0-r$   c                   \         P                  ! \         P                  .4      p\         P                  ! \         P                  .4      p\        \        \
        WR R7       \         P                  ! \        \         P                  \         P                  4      .4      p\         P                  ! \        \         P                  \         P                  4      .4      p\        \        \
        WR R7       R# )Fr  N)r2   r3   r   r   r-   r   r2  r   r'   s   &  r!   test_not_equal_nan%TestAssertAllclose.test_not_equal_nan  s    HHbffXHHbffXnoquMHHgbffbff-./HHgbffbff-./noquMr$   c                    \         P                  ! \         P                  .4      p\         P                  ! \         P                  .4      p\        W4       \	        W4       \        W4       \        W4       R # r   )r2   r3   r   r
   r   r   r   r'   s   &  r!   test_equal_nan_default)TestAssertAllclose.test_equal_nan_default'  sL     HHbffXHHbffX1 !!'!r$   c                *   \         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.5rp   Nr  r   s   &   r!   test_report_max_relative_error1TestAssertAllclose.test_report_max_relative_error2  s]    HHaVHHaVF]]><1HIIA! JIIIr  c                R    \         P                  ! . RO.RR7      p\        W4       R# )rI   zm8[ns]rB   N)rI   rK   rL   r  )r2   r3   r   rE   s   & r!   test_timedelta!TestAssertAllclose.test_timedelta:  s    HH&'x8r$   c                6   \         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)uint8rB   z+Max absolute difference among violations: 4rp   r  N)r   rI   r  )r   r   r   )r2   asarrayrr   rs   r-   rv   rw   r   rS  s   &   r!   test_error_message_unsigned.TestAssertAllclose.test_error_message_unsigned?  s]     JJy0JJy0D]]><1HIIAq) JIIIs   /BB	c                   \         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rZ  )r2   r  r   rr   rs   r-   r]  r   r=  s   &  r!   r^  TestAssertAllclose.test_strictL  s    GGAJGGBK]]>**A. +]]>**Axx

3DA +* +* +**s   C+C%C"	%C6	c                   \         P                  ! \         P                  .4      p\         P                  ! \         P                  .4      p\        W4       \         P                  ! R .4      pRp\        P
                  ! \        \        P                  ! V4      R7      ;_uu_ 4        \        W4       RRR4       \         P                  ! \         P                  ) .4      pRp\        P
                  ! \        \        P                  ! V4      R7      ;_uu_ 4        \        W4       RRR4       \         P                  ! \        \         P                  R4      .4      pRp\        P
                  ! \        \        P                  ! V4      R7      ;_uu_ 4        \        W4       RRR4       \         P                  ! \        \         P                  R4      .4      p\         P                  ! \        \         P                  R4      .4      p\        W4       \         P                  ! \        \         P                  R4      .4      pRp\        P
                  ! \        \        P                  ! V4      R7      ;_uu_ 4        \        W4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL!; i  + '       g   i     R# ; i)r   zinf location mismatch:rp   Nzinf values mismatch:r   r   )
r2   r3   r   r   rr   rs   r-   rv   rw   r2  r   s   &   r!   	test_infsTestAssertAllclose.test_infsW  s   HHbffXHHbffXHHbTN/]]><1HIIA! J HHrvvgY-]]><1HIIA! JHHgbffb)*+-]]><1HIIA! J HHgbffb)*+HHgbffb)*+HHgbffb)*+-]]><1HIIA! JI% JII
 JII JII JIIs0   'JJ(J<>KJ%	(J9	<K	K!	r   N)rP   rQ   rR   rS   rT  r  r  r  r  r  r  r  r  r^  r  rT   rU   rV   s   @r!   r  r    sD     7"r

"
.N	"
*	B" "r$   r  c                   n   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# )TestArrayAlmostEqualNulpis  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#    rB   r   N	r2   linspacefloat64r_finforC   epsr	   epsnegr   nulprx   r  ry   r  s   &     r!   test_float64_pass*TestArrayAlmostEqualNulp.test_float64_passu  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  r2   r  r  r  r  rC   r  r   r-   r	   r  r  s   &     r!   test_float64_fail*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    rB   N)r2   uint64r3   r   r  r   r   )r   offsetnan1_i64nan2_i64nan1_f64nan2_f64s   &     r!   test_float64_ignore_nan0TestArrayAlmostEqualNulp.test_float64_ignore_nan  so     :&88BFF"**5::299E$==,==,X3r$   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  	r2   r  r   r  r  rC   r  r	   r  r  s   &     r!   test_float32_pass*TestArrayAlmostEqualNulp.test_float32_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  r2   r  r   r  r  rC   r  r   r-   r	   r  r  s   &     r!   test_float32_fail*TestArrayAlmostEqualNulp.test_float32_fail  r  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# )i  rB   N)r2   uint32r3   r   r   r   r   )r   r  nan1_i32nan2_i32nan1_f32nan2_f32s   &     r!   test_float32_ignore_nan0TestArrayAlmostEqualNulp.test_float32_ignore_nan  so     6"88BFF"**5::299E$==,==,X3r$   c                   ^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  rB   r   N)	r2   r  float16r  r  rC   r  r	   r  r  s   &     r!   test_float16_pass*TestArrayAlmostEqualNulp.test_float16_pass  s    KKAr4EEE1"a%Lhhqww##C$##&qT2!''"))F
T!B&&&qT2r$   c                   ^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  )r2   r  r  r  r  rC   r  r   r-   r	   r  r  s   &     r!   test_float16_fail*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                x   \         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# )   rB   N)r2   uint16r3   r   r  r   r   )r   r  nan1_i16nan2_i16nan1_f16nan2_f16s   &     r!   test_float16_ignore_nan0TestArrayAlmostEqualNulp.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  rB   rs  r   r   Nr  r  r   r  rx   xir  ry   r  s   &      r!   test_complex128_pass-TestArrayAlmostEqualNulp.test_complex128_pass  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  rB   rs  r   Nr  r  r  s   &      r!   test_complex128_fail-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                   ^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  s   &      r!   test_complex64_pass,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                   ^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  s   &      r!   test_complex64_fail,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)rP   rQ   rR   rS   r  r  r  r  r  r  r  r  r   r  r
  r  r  rT   rU   rV   s   @r!   r  r  s  sK     3$" 	43" 	43" 	4=.,:=*, ,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# )	TestULPiY  c                ^    \         P                  P                  ^
4      p\        W^ R7       R# )
   maxulpN)r2   randomrandnr   )r   rx   s   & r!   
test_equalTestULP.test_equal[  s    IIOOBQ!,r$   c                   \         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)	r2   r  r]  r   r  r  r  r  r   r   rx   r  s   &  r!   test_singleTestULP.test_single_  so    GGBKrzz*	TBIIOOB'..rzz:::hhrzz"&&QC3r$   c                   \         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  )	r2   r  r]  r  r  r  r  r  r   r  s   &  r!   test_doubleTestULP.test_doublef  so    GGBKrzz*	TBIIOOB'..rzz:::hhrzz"&&QC4r$   c                @   \         P                  \         P                  3 Fy  p\         P                  ! \         P                  .4      P                  V4      p\         P                  ! \         P                  ! V4      P                  .4      p\        W#^R7       K{  	  R# )   r  N)	r2   r   r  r3   r   r]  r  maxr   )r   dtr   bigs   &   r!   rp  TestULP.test_infm  sa    ::rzz*B((BFF8$++B/C((BHHRL,,-.C #6 +r$   c                  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   )r   r  r   s   r!   r_  "TestULP.test_nan.<locals>.<lambda>      "6sC>D#Fr$   c                      < \        SS SR 7      # r,  r-  )r(  r  r   s   r!   r_  r.    r/  r$   c                      < \        SSS R 7      # r,  r-  )r  r   tinys   r!   r_  r.        "6sD>D#Fr$   c                      < \        SSS R 7      # r,  r-  )r  r   zeros   r!   r_  r.    r3  r$   c                      < \        SSS R 7      # r,  r-  )r  r   nzeros   r!   r_  r.    s    "6sE>D#Fr$   Ng       )r2   r   r  r3   r   r]  r   r  r&  r2  r   r-   )	r   r'  r(  r   r  r   r7  r2  r5  s	   & @@@@@@@r!   rh  TestULP.test_nans  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)rP   rQ   rR   rS   r  r  r"  rp  rh  rT   rU   rV   s   @r!   r  r  Y  s%     -457G Gr$   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestStringEquali  c                .   \        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      # )re   r<  r   r   r$   r!   r_  -TestStringEqual.test_simple.<locals>.<lambda>  s    1%Ar$   )r   rr   rs   r-   rt   ru   r   r   )r   rz   r{   s   &  r!   rT  TestStringEqual.test_simple  sh    GW-.0BC]]>**h
L9 +(..!SCDnA	C +*s   BB	c                @    \        R R 4       \        \        R 4       R# )za+*bc                      \        R R4      # )aaaza+br>  r   r$   r!   r_  ,TestStringEqual.test_regex.<locals>.<lambda>  s    1%?r$   N)r   r   r-   rM   s   &r!   
test_regexTestStringEqual.test_regex  s    FF+n?	Ar$   r   N)rP   rQ   rR   rS   rT  rE  rT   rU   rV   s   @r!   r:  r:    s     
CA Ar$   r:  c                      V P                   p\        V4      pR V9   d
   V^,          p\        W14       R#   \         d    / p L7i ; i)versionN)__warningregistry__AttributeErrorlenr   )modn_in_context	mod_warns	num_warnss   &&  r!   assert_warn_len_equalrP    sP    
++	 III 	Q	)#   	s   6 AAc                  ~     ! R  R4      p V ! 4       p\        V^ R7        ! R R4      p V ! 4       p\        V^R7       R# )c                       ] tR tRtRtR# )/test_warn_len_equal_call_scenarios.<locals>.modi  r   N)rP   rQ   rR   rS   rT   r   r$   r!   rL  rS    s    r$   rL  )rL  rM  c                   &   a  ] tR tRt o R tRtV tR# )rS  i  c                    R ^R^/V n         R# )warning1warning2NrI  rM   s   &r!   __init__8test_warn_len_equal_call_scenarios.<locals>.mod.__init__  s    (2A(2A(7D$r$   rX  N)rP   rQ   rR   rS   rY  rT   rU   rV   s   @r!   rL  rS    s     	7 	7r$   N)rP  )rL  mod_insts     r!   "test_warn_len_equal_call_scenariosr\    sB      uHh'(*
7 7
 uHh'(*r$   c                      \         P                  \        ,          p  V P                  P	                  4        V #   \
         d     T # i ; ir   )rp  rq  rP   rI  clearrJ  my_mods    r!   _get_fresh_modra    sI    [["F""((*
 M	   	M	s   9 AAc                     \        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)rI  )rq  ignoreSome warningNrV  rW  zAnother warning)	ra  r   getattrr   rh  r  ri  rI  rP  r_  s    r!   test_clear_and_catch_warningsrf    sC    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                     \        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)rI  c                  >    R  p \         P                  ! V ^ ^ .4       R# )c                 6    \         P                  ! R ^R7       V # )zSome warning 2
stacklevelrg  arrs   &r!   ri  Ftest_suppress_warnings_module.<locals>.warn_other_module.<locals>.warn  s    MM*q9Jr$   Nr2   apply_along_axisri  s    r!   warn_other_module8test_suppress_warnings_module.<locals>.warn_other_module      	 	D!aS)r$   modulerd  Nrc  )ra  r   re  rP  r   recordrs  filterr2   lib_shape_base_implrh  ri  rK  logmessager   r  )r`  rr  sups      r!   test_suppress_warnings_moduler~    sy    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                  b   \        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)rI  rd  Nru  rc  )
ra  r   re  r   rx  rs  rh  ri  rP  r  )r`  r}  s     r!   test_suppress_warnings_typer  7  s    F!6;R@ 
		

;n% 
 &!$

CJJ{	n% 
&!$JJfJ	n% 
&!$ 
		h'n% 
 &!$' 
		 

 

 
	s/   ,E$E8$F!-F$E5	8F	F	F.	z8uses deprecated thread-unsafe warnings control utilitiesc                  R   \        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                 4    \         P                  ! R V 4       R# )rd  Nrg  )categorys   &r!   ri  7test_suppress_warnings_decorate_no_record.<locals>.warna  s    nh/r$   T)rw  alwaysN)	r   rx  rs  rh  r  r  RuntimeWarningr   rK  )r}  ri  ws      r!   )test_suppress_warnings_decorate_no_recordr  W  sz     
CJJ{0 	0 
	 	 	-	-h'[^SVQ	 
.	-	-	-s   ABB&	c            	         \        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|  rd  Some other warningN)
r   rw  rx  rh  ri  r   rK  r{  r|  r   )r}  log1log2sup2s       r!   test_suppress_warnings_recordr  l  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            	      Z   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  p \         P                  ! V ^ ^ .4       R# )c                 6    \         P                  ! R ^R7       V # )rd  rj  rg  rl  s   &r!   ri  Jtest_suppress_warnings_forwarding.<locals>.warn_other_module.<locals>.warn  s    MM.Q7Jr$   Nro  rq  s    r!   rr  <test_suppress_warnings_forwarding.<locals>.warn_other_module  rt  r$   r  rd  Nlocationrv  oncer  )r   rw  rangerh  ri  r   rK  r{  )rr  r}  is      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% 
	9 )(( 
		 +** 
		 )(( 
		 '& 
		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            	      R   \        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# )tmpr  NFT)r   ospathjoinopenr   isdir
ValueError)tdirfpathraiseds      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            	         \        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  isfiler  )r  r  s     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                   >    ] tR tRt]P
                  ] ,          3tRtR# )my_cacwi  r   N)rP   rQ   rR   rS   rp  rq  class_modulesrT   r   r$   r!   r  r    s    [[*,Mr$   r  c                      \        4       p \        4       ;_uu_ 4        \        P                  ! R 4       \        P                  ! R4       RRR4       \        V P                  / 4       R#   + '       g   i     L(; i)rc  rd  N)ra  r  rh  r  ri  r   rI  r_  s    r!   %test_clear_and_catch_warnings_inheritr    sL     F	h'n% 
 ++R0 
s   -A**A:	zPython lacks refcountsz!garbage collector is global statec                   h   a  ] tR tRt o RtR tR t]P                  P                  R 4       t
RtV tR# )TestAssertNoGcCyclesi  zTest assert_no_gc_cycles c                    R  p\        4       ;_uu_ 4        V! 4        RRR4       \        V4       R#   + '       g   i     L; i)c                  ,    . p V P                  . 4       V # r   appendr  s    r!   no_cycle2TestAssertNoGcCycles.test_passes.<locals>.no_cycle
  s    AHHRLHr$   N)r   )r   r  s   & r!   test_passes TestAssertNoGcCycles.test_passes	  s/    	
 !""J # 	H% #"s	   3A	c           	     Z   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                  N    . p V P                  V 4       V P                  V 4       V # r   r  )r(   s    r!   
make_cycle5TestAssertNoGcCycles.test_asserts.<locals>.make_cycle  s"    AHHQKHHQKHr$   N)r   r-   r   )r   r  s   & r!   test_asserts!TestAssertNoGcCycles.test_asserts  sg    	 >**$&& ' + >**
+ +* '& +* +**s-   BA3	BB3B>BB	B*	c                b  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                   <   <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                    W n         R # r   cyclerM   s   &r!   rY  ETestAssertNoGcCycles.test_fails.<locals>.ReferenceCycleInDel.__init__0  s    !
r$   c                L   < R V n         SP                  '       d
   S! 4        R # R # r   )r  r  )r   ReferenceCycleInDels   &r!   __del__DTestAssertNoGcCycles.test_fails.<locals>.ReferenceCycleInDel.__del__3  s#    !
&111 () 2r$   r  N)
rP   rQ   rR   rS   __doc__r  rY  r  rT   rU   )rW   r  s   @r!   r  r  )  s       J"* *r$   r  c                      R # r   r   r   r$   r!   r_  1TestAssertNoGcCycles.test_fails.<locals>.<lambda>A  s    r$   Nz*GC does not call __del__ on cyclic objectsF)	weakrefrefr   r  r   r-   rr   skipr  )r   r  r  s   & @r!   
test_failsTestAssertNoGcCycles.test_fails"  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)rP   rQ   rR   rS   r  r  r  rr   markslowr  rT   rU   rV   s   @r!   r  r    s2      %	&, [[(3 (3r$   r  )Br   r  rv   rp  rh  r  rr   numpyr2   numpy._core._multiarray_umath_core_multiarray_umathr6  numpy.testingr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rY   r   r  rF  r  r  r  r  filterwarningsthread_unsaferb  r  r  r  r:  rP  r\  ra  rf  r~  r  r  r  r  r  r  r  r  skipifr  r   r$   r!   <module>r     sf    	 	 
     + +     2./ ./bC1\ C1L* *Z\) \)~U < U pg l g T(M (MVcD cDJ  "NOEH EH PEHPk" k"Zc, c,L5G 5GpA A(*.*8	 "NO% P%@  "NO+% P+%\  "NO% P%8  E      E  &&&&R  E  0&0&f%"' -& -
 "NO1 P1 $-EF"EFE3 E3 G GE3r$   