+
    BiY                        ^ RI HtHtHt ^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
t
^ RIt^ RIt^ RIHtHtHtHt ^ RIt^ RIt]! R4      t]! R4      tR U Uu. uF  p R F  p]! W4      NK  	  K  	  upp t]R3]R	3]]3R	]3R]3R]3R]3]) ]3]) R	3]) R3]) R3]) R3]) ]) 3R]) 3R]) 3R]) 3R	]) 3]]) 3]R3]R33 U Uu. uF  w  r]! W4      NK  	  upp t]]) 3]R3]R3]R3]R	3]]3]) ]3R]3R]3R]3R	]3]]33 U Uu. uF  w  r]! W4      NK  	  upp t ! R
 R]]
P4                  4      t ! R R]	P8                  4      t]R8X  d   ]
P<                  ! 4        R# R# u upp i u upp i u upp i )    )requires_IEEE_754cpython_onlyimport_helper)ComplexesAreIdenticalMixin)parse_testfile	test_fileN)phasepolarrectpiinfnan        ffffff@c                   |  a ] tR t^5t oR U u. uF  p \	        \
        V 4      NK  	  up t]P                  R 4       ]P                  R 4       R tR t	RR lt
R tR tR	 tR
 tR t]R 4       tR tR t]R 4       tR tR t]R 4       tR tR tR tR tR t]R 4       t]R 4       t]R 4       t Rt!Vt"R# u up i )
CMathTestsc                0    \         P                  ! V R4      # )g     @y     @        cmathlogxs   &&/usr/lib/python3.14/test/test_cmath.py<lambda>CMathTests.<lambda><   s    UYYq*%=    c                0    \         P                  ! RV 4      # )g      ,@y      ,@      ;r   r   s   &r   r   r   =   s    UYYw%:r   c                2    \        \        R R7      V n        R# )zutf-8)encodingN)openr   test_valuesselfs   &r   setUpCMathTests.setUp?   s    	G<r   c                :    V P                   P                  4        R # N)r!   closer"   s   &r   tearDownCMathTests.tearDownB   s     r   Nc                    \         P                  ! V4      '       dI   \         P                  ! V4      '       d   R # T P                  T;'       g    RP                  V4      4       \         P                  ! V4      '       d3   W8X  d   R # T P                  T;'       g    RP                  W4      4       V'       gd   V'       g\   \         P
                  ! RV4      \         P
                  ! RV4      8w  d+   T P                  T;'       g    RP                  W4      4        \        W!,
          4      pV\        WC\        V4      ,          4      8:  d   R #  T P                  T;'       g    RP                  W4      4       R #   \         d     L9i ; i)Nz{!r} should be nanz>finite result where infinity expected: expected {!r}, got {!r}      ?z,zero has wrong sign: expected {!r}, got {!r}z({!r} and {!r} are not sufficiently close)	mathisnanfailformatisinfcopysignabsmaxOverflowError)r#   abrel_errabs_errmsgabsolute_errors   &&&&&& r   rAssertAlmostEqualCMathTests.rAssertAlmostEqualE   s5    ::a==zz!}}IIc;;188;<::a==vIIc = = 006q> }}R#t}}R';;		# 2 2 "%%+VA\3
	 XN WA.>!?? @		# J J<CCAI	K  		s   E? ?FFc           	        R pRpV P                  \        P                  V^	RP                  \        P                  V4      R7       V P                  \        P                  V^	RP                  \        P                  V4      R7       R# )giW
@g-DT!	@zcmath.pi is {}; should be {})placesr:   zcmath.e is {}; should be {}N)assertAlmostEqualr   r   r0   e)r#   
e_expectedpi_expecteds   &  r   test_constantsCMathTests.test_constantsw   sp    +
,uxxQ.55ehhL 	 	Nuww
1-44UWWjI 	 	Kr   c                j   V P                  \        P                  P                  \        P                  4       V P                  \        P                  P
                  R 4       V P                  \        P                  P                  R 4       V P                  \        P                  P
                  \        P                  4       V P                  \        P                  ! \        P                  P                  4      4       V P                  \        P                  P
                  R 4       V P                  \        P                  P                  R 4       V P                  \        P                  ! \        P                  P
                  4      4       V P                  \        P                  ! R\        P                  P                  4      R4       V P                  \        P                  ! R\        P                  P
                  4      R4       V P                  \        P                  ! R\        P                  P                  4      R4       V P                  \        P                  ! R\        P                  P
                  4      R4       V P                  \        \        P                  4      R4       V P                  \        \        P                  4      R4       V P                  \        \        P                  4      R4       V P                  \        \        P                  4      R4       R# )r   r,   r   infjr   nanjN)assertEqualr   r   realr-   imagrG   
assertTruer.   r   rH   r2   reprr"   s   &r   test_infinity_and_nan_constants*CMathTests.test_infinity_and_nan_constants   s   2-#.$((3

599>>23-#.

5::??34r599>>:B?r599>>:B?r5::??;R@r5::??;R@ 	eii%0ejj)62eii%0ejj)62r   c           
     J  aaa RoRoR^^RR\        4       \        .p ! R R4      p ! R R\        4      o ! V3R lR	4      p ! R
 R\         4      p ! R R4      p ! R R4      p ! VV3R lR4      p ! V3R lR4      pV P                   EF  p	V P	                  V	! V! S4      4      V	! S4      4       V P	                  V	! V! 4       4      V	! S4      4       V P	                  V	! V! 4       4      V	! S4      4       V P	                  V	! V! 4       4      V	! \        V! 4       4      4      4       V P                  \        W! 4       4       V P                  \        W! 4       4       V F  p
V P                  \        W! V
4      4       K!  	  V P                  SW! 4       4       EK  	  R# )gz@znot complex       @Nc                   ,   a  ] tR t^t o R tR tRtV tR# ).CMathTests.test_user_object.<locals>.MyComplexc                    Wn         R # r'   value)r#   rV   s   &&r   __init__7CMathTests.test_user_object.<locals>.MyComplex.__init__   s    "
r   c                    V P                   # r'   rU   r"   s   &r   __complex__:CMathTests.test_user_object.<locals>.MyComplex.__complex__   s    zz!r   rU   N)__name__
__module____qualname____firstlineno__rW   rZ   __static_attributes____classdictcell____classdict__s   @r   	MyComplexrS      s     #" "r   rd   c                       ] tR t^tRtR# )2CMathTests.test_user_object.<locals>.SomeException Nr\   r]   r^   r_   r`   rg   r   r   SomeExceptionrf          r   ri   c                   .   <a  ] tR t^t o V3R ltRtV tR# )7CMathTests.test_user_object.<locals>.MyComplexExceptionc                   < Shr'   rg   )r#   ri   s   &r   rZ   CCMathTests.test_user_object.<locals>.MyComplexException.__complex__   s	    ##r   rg   N)r\   r]   r^   r_   rZ   r`   ra   )rc   ri   s   @r   MyComplexExceptionrl      s     $ $r   ro   c                       ] tR t^tRtR# );CMathTests.test_user_object.<locals>.NeitherComplexNorFloatrg   Nrh   rg   r   r   NeitherComplexNorFloatrq      rj   r   rr   c                   ,   a  ] tR t^t o R tR tRtV tR# )*CMathTests.test_user_object.<locals>.Indexc                    ^#    rg   r"   s   &r   __int__2CMathTests.test_user_object.<locals>.Index.__int__       ar   c                    ^# rv   rg   r"   s   &r   	__index__4CMathTests.test_user_object.<locals>.Index.__index__   s    r   rg   N)r\   r]   r^   r_   rx   r|   r`   ra   rb   s   @r   Indexrt      s     '))r   r~   c                   &   a  ] tR t^t o R tRtV tR# )*CMathTests.test_user_object.<locals>.MyIntc                    ^# rv   rg   r"   s   &r   rx   2CMathTests.test_user_object.<locals>.MyInt.__int__   rz   r   rg   N)r\   r]   r^   r_   rx   r`   ra   rb   s   @r   MyIntr      s     ''r   r   c                   :   <a  ] tR t^t o V3R ltV3R ltRtV tR# )4CMathTests.test_user_object.<locals>.FloatAndComplexc                   < S# r'   rg   r#   flt_args   &r   	__float__>CMathTests.test_user_object.<locals>.FloatAndComplex.__float__       r   c                   < S# r'   rg   )r#   cx_args   &r   rZ   @CMathTests.test_user_object.<locals>.FloatAndComplex.__complex__   s    r   rg   N)r\   r]   r^   r_   r   rZ   r`   ra   )rc   r   r   s   @r   FloatAndComplexr      s      r   r   c                   .   <a  ] tR t^t o V3R ltRtV tR# ).CMathTests.test_user_object.<locals>.JustFloatc                   < S# r'   rg   r   s   &r   r   8CMathTests.test_user_object.<locals>.JustFloat.__float__   r   r   rg   N)r\   r]   r^   r_   r   r`   ra   )rc   r   s   @r   	JustFloatr      s      r   r   yz@7Ă??g]ֆ)objectNotImplemented	Exceptiontest_functionsrI   intassertRaises	TypeError)r#   non_complexesrd   ro   rr   r~   r   r   r   fbad_complexri   r   r   s   &          @@@r   test_user_objectCMathTests.test_user_object   si    , '1b$>3	" 	"	I 		$ 	$
	V 		* 	*	( 	(
	 	
	 	 $$AQy011V9=Q011V9=Qy{^QwZ8QuwZ3uw<9 i,B,DEiEG4,!!)Q	+0FG  - mQ0B0DE! %r   c           	         V P                    F8  pR F/  pV P                  V! V4      V! VP                  4       4      4       K1  	  K:  	  V P                    F"  pR F  pV P                  \        W4       K  	  K$  	  R# )rw   N)rw   rQ   )r6   long_string01j )r   rI   r   r   r   )r#   r   args   &  r   test_input_typeCMathTests.test_input_type   si     $$A  33==?);<  %
 $$A:!!)Q4 ; %r   c                D   . ROpY Uu. uF  q") NK  	  up,           . RO,           pVR.,           V Uu. uF  pRV,          NK  	  up,           pR.V,           pR.V,           V Uu. uF  q") NK  	  up,           pRVRVRVRVRVRVR	VR
VRVRVRVRVRV/pVP                  4        Ft  w  r\        \        V4      p
\        \        V4      pV	 FI  pV! V4      pV P	                  V
! V4      VP
                  4       V P                  RVP                  4       KK  	  Kv  	  R Fn  pV Fe  p\        P                  ! W4      pV P	                  \        P                  ! W4      VP
                  4       V P                  RVP                  4       Kg  	  Kp  	  R# u upi u upi u upi ){Gz?r   r,   acosasinatancoscoshexpr   log10sinsinhsqrttantanhN)r   g?g?      ?g?gGz?)r   r,         )r   rQ   g      $@)	itemsgetattrr-   r   r<   rJ   rI   rK   r   )r#   r!   r   unit_intervalpositivenonnegative	real_liner   fnvaluesfloat_fn
complex_fnvzbases   &              r   test_cmath_matches_math"CMathTests.test_cmath_matches_math   s   
 7 $;&?;ar;&?? "%{(C{!A{(CCdXo D8O8&<8ar8&<<	 ]]YIYIHhIY[IY  )..0JBtR(H +JqM''QVV<  QVV,  1 #DIIa&''(9166B  QVV,  #E '@ )D '=s   FF%Fc                   R 0pRp\         P                  R8X  dF   \        P                  ! 4       ^ ,          p \        \	        \
        VP                  R4      4      4      pR pR p\        \        4       EF  w  rgrrp\        W4      p\        W4      pVe   VR8  d	   Wa9   d   K2  VR8X  d   TpMVR8X  d   TpM\        \        V4      pRV9   g   R	V9   d+    V! V4      pV P                  R
P                  WgW4      4       RV9   d+    V! V4      pV P                  RP                  WgW4      4       V! V4      pRV9   dS   \        \!        VP"                  4      VP$                  4      p\        \!        VP"                  4      VP$                  4      pRV9   dS   \        VP"                  \!        VP$                  4      4      p\        VP"                  \!        VP$                  4      4      pVR9   d   RpMRpRP                  WgWVP"                  VP$                  VP"                  VP$                  4      pV P'                  VP"                  VP"                  VVR7       V P'                  VP$                  VP$                  VR7       EK  	  R#   \         d     EL>i ; i  \         d     EK<  i ; i  \         d     EKO  i ; i)tan0064Ndarwin.c                 X    \         P                  ! V P                  V P                  4      # r'   )r   r   rJ   rK   r   s   &r   rect_complex5CMathTests.test_specific_values.<locals>.rect_complex%  s     ::affaff--r   c                 &    \        \        V 4      !  # r'   )complexr
   r   s   &r   polar_complex6CMathTests.test_specific_values.<locals>.polar_complex*  s     E!H%%r   r   r
   zdivide-by-zeroinvalidz9ValueError not raised in test {}: {}(complex({!r}, {!r}))overflowz<OverflowError not raised in test {}: {}(complex({!r}, {!r}))zignore-real-signzignore-imag-signV瞯<
       z{}: {}(complex({!r}, {!r}))
Expected: complex({!r}, {!r})
Received: complex({!r}, {!r})
Received value insufficiently close to expected value.)r9   r:   )r:   )
      )r   r   )sysplatformmac_vertuplemapr   split
ValueErrorr   r   r   r   r   r/   r0   r5   r3   rJ   rK   r<   )r#   SKIP_ON_TIGERosx_versionversion_txtr   r   idr   araiereiflagsr   expectedfunctionactualreal_abs_errerror_messages   &                  r   test_specific_valuesCMathTests.test_specific_values  s    #<<8#"**,Q/K#C[->->s-C$DE	.
	&
 .<I-F)BBBE"/CrH &;+@&V|'w("5"-5(I,>P%c]F II 88>rr8NP U"P%c]F II 88>rr8NP c]F!U* V[[!16;;?"3x}}#5x}}E!U* c&++.>?"8==#hmm2DE %%$%I &]]HMM[[&++/  ##HMM6;;0<,9 $ ; ##HMM6;;,9 $ ;y .G  > "  % s5   (J J"J5JJ"J21J25KKc                  a a VV 3R  lpV! ^ R4       V! ^R	4       V! R
R\         34       V! RR\         ^,          34       V! RR\         ) ^,          34       \        R4      pV! \        V^ 4      VR34       V! \        V) ^ 4      V\         34       V! \        ^V4      V\         ^,          34       V! \        ^V) 4      V\         ) ^,          34       V! \        W34      V\         ^,          34       V! \        W3) 4      V\         ) ^,          34       V! \        V) V4      V^\         ,          ^,          34       V! \        V) V) 4      VR\         ,          ^,          34       \        R4      pV! \        V^ 4      WD34       V! \        ^ V4      WD34       V! \        WD4      WD34       V! \        W44      W434       V! \        V) V4      W434       V! \        WC4      W434       V! \        WC) 4      W434       R# )c                 b   < S! V 4      p\        W4       F  w  r4SP                  W44       K  	  R # r'   )zipr<   )r   r   gotrA   gfuncr#   s   &&   r   check%CMathTests.check_polar.<locals>.checko  s+    s)CH*''- +r   r   r,                 ?g      @r   r   N)r   r   )r,   r   y             )r   floatr   )r#   r   r   r   r   s   ff   r   check_polarCMathTests.check_polarn  s   	. 	aab2r(b2rAv,cBa=!Elgc1oRy)gsdAb	*gaoR!V}-ga#rcAg/gc#rAv/gc4 3a.1gsdC 3B
"34gsdSD!Cb1#56Elgc1oz*gaoz*gc#,gc#,gsdC 3*-gc#,gc4 3*-r   c                0    V P                  \        4       R # r'   )r   r
   r"   s   &r   
test_polarCMathTests.test_polar  s    r   c                b   a \         P                  ! R 4      oV3R lpV P                  V4       R# )	_testcapic                    < SP                  ^4        \        V 4      SP                  ^ 4       #   SP                  ^ 4       i ; i)   )	set_errnor
   )r   r  s   &r   polar_with_errno_set9CMathTests.test_polar_errno.<locals>.polar_with_errno_set  s:    #'Qx##A&	##A&s	   
0 AN)r   import_moduler   )r#   r  r  s   & @r   test_polar_errnoCMathTests.test_polar_errno  s+     "//<		' 	-.r   c                N   V P                  \        ^ 4      R4       V P                  \        R4      R4       V P                  \        R4      \        4       V P                  \        R4      \        4       V P                  \        R	4      \        ) 4       V P                  \        R4      \        ^,          4       V P                  \        R
4      \        ) ^,          4       V P                  \        \	        RR4      4      R4       V P                  \        \	        RR4      4      R4       V P                  \        \	        RR4      4      \        4       V P                  \        \	        RR4      4      \        ) 4       V P                  \        \	        \
        ) R4      4      \        ) 4       V P                  \        \	        \
        ) R4      4      \        ) 4       V P                  \        \	        \
        ) \
        ) 4      4      R\        ,          4       V P                  \        \	        R\
        ) 4      4      \        ) ^,          4       V P                  \        \	        R\
        ) 4      4      \        ) ^,          4       V P                  \        \	        R\
        ) 4      4      \        ) ^,          4       V P                  \        \	        R\
        ) 4      4      \        ) ^,          4       V P                  \        \	        \
        \
        ) 4      4      \        ) ^,          4       V P                  \        \	        \
        R4      4      R4       V P                  \        \	        \
        R4      4      R4       V P                  \        \	        \
        R4      4      R4       V P                  \        \	        \
        R4      4      R4       V P                  \        \	        \
        \
        4      4      \        ^,          4       V P                  \        \	        R\
        4      4      \        ^,          4       V P                  \        \	        R\
        4      4      \        ^,          4       V P                  \        \	        R\
        4      4      \        ^,          4       V P                  \        \	        R\
        4      4      \        ^,          4       V P                  \        \	        \
        ) \
        4      4      R\        ,          4       V P                  \        \	        \
        ) R4      4      \        4       V P                  \        \	        \
        ) R4      4      \        4       \         F1  pV P                  \        P                  ! \        V4      4      4       K3  	  R# )r   r   r,   r   r   g      ?Nr   y      Yny      Yny                    ffffffg      )
r@   r	   r   rI   r   INFcomplex_nansrL   r-   r.   r#   r   s   & r   
test_phaseCMathTests.test_phase  s   uQx,uRy"-uSz2.u[126u[1B37uRy"Q$/uSzB3q51 	wsC0137wsD12D9wtS12B7wtT23bS9 	uWcT4%89B3?uWcT4%89B3?uWcTC4%8958DuWTC4%89B3q5AuWTC4%89B3q5AuWS3$%782#a%@uWS3$%782#a%@uWS3$%782#a%@wsD12D9wsD12D9wsC0137wsC0137uWS#%67A>uWS#%67A>uWS#%67A>uWT3%78"Q$?uWT3%78"Q$?uWcT3%78$r'BuWcT3%78"=uWcT3%78"= AOODJJuQx01 r   c           
     z   \          F  pV P                  \        V4      R 4       K   	  \         F"  pV P                  \        V4      \        4       K$  	  V P                  \        \        \        \        ) 4      4      \        4       V P                  \        P                  ! \        \        \        R4      4      4      4       V P                  \        P                  ! \        \        \        R4      4      4      4       V P                  \        P                  ! \        \        \        R 4      4      4      4       V P                  \        P                  ! \        \        \        R4      4      4      4       V P                  \        \        \        \        4      4      \        4       V P                  \        \        \        ) \        4      4      \        4       V P                  \        P                  ! \        \        R\        4      4      4      4       V P                  \        P                  ! \        \        R\        4      4      4      4       V P                  \        P                  ! \        \        R \        4      4      4      4       V P                  \        P                  ! \        \        R\        4      4      4      4       V P                  \        \        \        \        4      4      \        4       V P                  \        P                  ! \        \        \        \        4      4      4      4       R# )r   r   Nr  r  )
complex_zerosrI   r3   complex_infinitiesr  r   NANrL   r-   r.   r  s   & r   test_absCMathTests.test_abs  s   ASVS)  $ASVS) $ 	WS3$/0#6

3wsD'9#:;<

3wsD'9#:;<

3wsC'8#9:;

3wsC'8#9:;WS#./5WcT3/0#6

3wtS'9#:;<

3wtS'9#:;<

3wsC'8#9:;

3wsC'8#9:;WS#./5

3wsC'8#9:;r   c                P    V P                  \        \        \        R R 4      4       R# )gUN)r   r5   r3   r   r"   s   &r   test_abs_overflowsCMathTests.test_abs_overflows  s     	-ggw.GHr   c                    R p\        VP                  V^ ,          ,
          4      V8  g)   \        VP                  V^,          ,
          4      V8  d   V P                  W34       R# R# )gHz>N)r3   rJ   rK   r/   )r#   r6   r7   epss   &&& r   assertCEqualCMathTests.assertCEqual  sL    qvv!}#s166AaD='9C'?IIqf (@r   c                V   V P                  \        ^ ^ 4      R4       V P                  \        ^^ 4      R4       V P                  \        ^\        ) 4      R4       V P                  \        ^\        ^,          4      R4       V P                  \        ^\        ) ^,          4      R4       R# )r   N)r   r   )r,   r   )r   r   )r   r,   )r   r   )r  r   r   r"   s   &r   	test_rectCMathTests.test_rect  s|    $q!*f-$q!*g.$q2#,1$q"Q$-1$q2#a%.(3r   c           	     8   \        R 4      RRRR\        R4      \        R4      .pV Fo  pV Ff  p\        W#4      pT P                  \        P                  ! V4      \
        P                  ! V4      ;'       d    \
        P                  ! V4      4       Kh  	  Kq  	  R# )z-infr   r   r   r   Nr  r  )r   r   rI   r   isfiniter-   )r#   	real_valsr   yr   s   &    r   test_isfiniteCMathTests.test_isfinite  sy    6]D$#uU|U5\;	AAM  !2"&--"2"G"Gt}}Q7GI  r   c                T   V P                  \        P                  ! ^4      4       V P                  \        P                  ! R4      4       V P                  \        P                  ! \        4      4       V P	                  \        P                  ! \
        4      4       V P	                  \        P                  ! \        \
        ^ 4      4      4       V P	                  \        P                  ! \        ^ \
        4      4      4       V P	                  \        P                  ! \        \
        \
        4      4      4       V P	                  \        P                  ! \        \
        \        4      4      4       V P	                  \        P                  ! \        \        \
        4      4      4       R#    r   N)assertFalser   r.   r  rL   r  r   r"   s   &r   
test_isnanCMathTests.test_isnan      Q(R)S)*C()GCO45GAsO45GC$567GC$567GC$567r   c                T   V P                  \        P                  ! ^4      4       V P                  \        P                  ! R4      4       V P                  \        P                  ! \        4      4       V P	                  \        P                  ! \
        4      4       V P	                  \        P                  ! \        \
        ^ 4      4      4       V P	                  \        P                  ! \        ^ \
        4      4      4       V P	                  \        P                  ! \        \
        \
        4      4      4       V P	                  \        P                  ! \        \        \
        4      4      4       V P	                  \        P                  ! \        \
        \        4      4      4       R# r+  )r-  r   r1   r  rL   r  r   r"   s   &r   
test_isinfCMathTests.test_isinf   r0  r   c                l    \          F)  pV P                  \        P                  ! V4      V4       K+  	  R # r'   )r  assertComplexesAreIdenticalr   r   r  s   & r   testTanhSignCMathTests.testTanhSign  $    A,,UZZ]A> r   c                l    \          F)  pV P                  \        P                  ! V4      V4       K+  	  R # r'   )r  r5  r   r   r  s   & r   testAtanSignCMathTests.testAtanSign  r8  r   c                l    \          F)  pV P                  \        P                  ! V4      V4       K+  	  R # r'   )r  r5  r   atanhr  s   & r   testAtanhSignCMathTests.testAtanhSign  s$    A,,U[[^Q? r   )r!   )r   acoshr   asinhr   r=  r   r   r   r   r   r   r   r   r   r   )r   r   N)#r\   r]   r^   r_   r   r   r   appendr$   r)   r<   rD   rN   r   r   r   r   r   r   r   r   r
  r  r  r  r  r"  r(  r.  r2  r6  r:  r>  r`   ra   )fnamerc   s   0@r   r   r   5   s/    :# $ :#geU+ :# $N
 =>:;=!0KdK3,DFL
5.-` T; T;l.8  	/ 	/'2R<2 I I
4I	8	8 ? ? ? ? @ @G$s   B9r   c                   P   a  ] tR tRt o ]P
                  tR tR tR tR t	Rt
V tR# )IsCloseTestsi  c           	        V P                  \        4      ;_uu_ 4        V P                  R R R R7       RRR4       V P                  \        4      ;_uu_ 4        V P                  R R R R7       RRR4       V P                  \        4      ;_uu_ 4        V P                  R R R R R7       RRR4       R#   + '       g   i     L; i  + '       g   i     L`; i  + '       g   i     R# ; i)r   rel_tolNabs_tol)rH  rJ  )r   r   iscloser"   s   &r   test_reject_complex_tolerances+IsCloseTests.test_reject_complex_tolerances"  s    y))LLRL, * y))LLRL, * y))LLRRL8 *) *) *) *))s#   B2CC2C	C	C)	c                Z    . ROpV P                  VRR7       V P                  VRR7       R# )r,   g-q=rG  gvIh%<=N))      ?      ?y    ?      ?)rO  y      ?    ?)y            ?y          ?)y      ?      y      ?)assertAllCloseassertAllNotClose)r#   complex_exampless   & r   test_complex_values IsCloseTests.test_complex_values,  s4     	,e</?r   c                    . R	OpV P                  VRR7       V P                  VRR7       V P                  RRRR7       V P                  RRRR7       R# )
        MbP?MbP?g~jtX?rI  gMb@?gMb`?NMbP?MbP?MbP?MbP))rV  r   )rW  r   )rX  r   )yMbPMbP?r   )rY  r   )yMbPMbPr   )rP  rQ  assertIsCloseassertIsNotClose)r#   near_zero_exampless   & r   test_complex_near_zero#IsCloseTests.test_complex_near_zero7  s^      	.@17C<uElL%Hr   c                \   V P                  \        \        R ,          4       V P                  \        R ,          \        4       V P                  \        \        ) 4       V P                  \        ) \        4       V P                  ^ \        4       V P                  ^ \        R ,          4       R# )r   N)r[  r  r"   s   &r   test_complex_special!IsCloseTests.test_complex_specialG  sr    c3r6*c"fc*cC4(sdC(a%aR(r   rg   N)r\   r]   r^   r_   r   rK  rL  rS  r]  r`  r`   ra   rb   s   @r   rE  rE    s)     mmG9	@I ) )r   rE  __main__r  )r   r  r  )test.supportr   r   r   test.support.testcaser   test.test_mathr   r   	test_mathunittestr   r-   r	   r
   r   r   r   r   r   r  r  r   r  r  r  TestCaser   rE  r\   main)r   r'  s   00r   <module>rj     s   G G < 4 "   ( (  
 ElEl(3I1[[I	c
	c
	c
	c
	c
	s	s
s
s
s
t
t
t	t	t	sd	sd	sd	d	d)1
  1
gam 1
  . 
sd	d	d	c
	c
	c

s	s	s	c
	c
	c
+
  +
$! +
 g@+X->-> g@T.)9)) .)b zMMO C J,s   E?E%E+