
    2hhM#                     N   S SK Jr  S SKrS SKrS SKrS SKJrJrJrJ	r	J
r
JrJrJr  S SKJr  \R                   " S5      r\R                   " S5      rSr\" S5      r\" S5      r\R.                  r " S	 S
5      r " S S\R2                  5      r\S:X  a  \R8                  " 5         gg)    )isnanN)
BadComplexBadComplex2ComplexFloatSubclassFloatBadFloat	BadFloat2ComplexSubclass)import_helper	_testcapi_testlimitedcapiinfnanc                       \ rS rSrS rSrg)BadComplex3   c                     [         e)N)RuntimeError)selfs    D/opt/python-3.13.8/usr/lib/python3.13/test/test_capi/test_complex.py__complex__BadComplex3.__complex__   s         N)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r   r      s    r   r   c                   h    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rSrg)CAPIComplexTest   c                 j   [         R                  nU R                  U" S5      5        U R                  U" [        S5      5      5        U R	                  U" [        5       5      5        U R	                  U" S5      5        U R	                  U" S5      5        U R	                  U" [        5       5      5        g N      ?       @   g      @)r   complex_check
assertTruer   assertFalser   object)r   checks     r   
test_checkCAPIComplexTest.test_check   s     ..d$od345wy)*q"s$vx)r   c                 j   [         R                  nU R                  U" S5      5        U R                  U" [	        S5      5      5        U R                  U" [        5       5      5        U R                  U" S5      5        U R                  U" S5      5        U R                  U" [        5       5      5        g r%   )r   complex_checkexactr)   r*   r   r   r+   )r   
checkexacts     r   test_checkexactCAPIComplexTest.test_checkexact(   s    %88

4()OD$9:;GI./A'C)FH-.r   c                 T    [         R                  nU R                  U" S5      S5        g )Nr&   )r   complex_fromccomplexassertEqual)r   fromccomplexs     r   test_fromccomplex!CAPIComplexTest.test_fromccomplex5   s"     55d+X6r   c                 V    [         R                  nU R                  U" SS5      S5        g )N      ?       @r&   )r   complex_fromdoublesr6   )r   fromdoubless     r   test_fromdoubles CAPIComplexTest.test_fromdoubles;   s$    &::S#.9r   c                 P   [         R                  nU R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" [        S5      5      S5        U R                  U" [	        S5      5      S5        U R                  U" [        5       5      S5        U R                  [        U[        5       5        U R                  [        5         U R                  U" [        5       5      S5        S S S 5        [        R                  " 5          [        R                  " S	[        5        U R                  [        U[        5       5        S S S 5        U R                  [        U[!        5       5        U R                  U" [#        5       5      S5        U R                  [        U[%        5       5        U R                  [        5         U R                  U" ['        5       5      S5        S S S 5        U R                  [        U[)        5       5        g ! , (       d  f       GN#= f! , (       d  f       N= f! , (       d  f       NQ= f)
Nr&   r;                             @*   g      E@error)r   complex_realasdoubler6   r   r   r   assertRaises	TypeErrorr   assertWarnsDeprecationWarningr   warningscatch_warningssimplefilterr   r   r   r	   r
   r+   )r   realasdoubles     r   test_realasdouble!CAPIComplexTest.test_realasdoubleA   s   '<<d+S1e,d3d+T2d+T2b)3/b)40 	od&;<cBmD&9:DA 	gi0$7)\:<@01\+-8$? 2$$&!!'+=>0,N ' 	,kmD 	eg.5)\8:>01\)+6= 2 	)\68< 21&& 21$   7!I45;J+!J4
J
J
J%c                    [         R                  nU R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" [        S5      5      S5        U R                  U" [	        S5      5      S5        U R                  U" [        5       5      S5        U R                  [        U[        5       5        U R                  [        5         U R                  U" [        5       5      S5        S S S 5        [        R                  " 5          [        R                  " S	[        5        U R                  [        U[        5       5        S S S 5        U R                  [        U[!        5       5        U R                  U" [#        5       5      S5        U R                  [        U[%        5       5        U R                  [        5         U R                  U" ['        5       5      S5        S S S 5        U R                  [        U[)        5       5        g ! , (       d  f       GN#= f! , (       d  f       N= f! , (       d  f       NQ= f)
Nr&   r<         ?      rC   rD   g        rE   g      ?rG   )r   complex_imagasdoubler6   r   r   r   rI   rJ   r   rK   rL   r   rM   rN   rO   r   r   r   r	   r
   r+   )r   imagasdoubles     r   test_imagasdouble!CAPIComplexTest.test_imagasdoubled   s   '<<d+S1d+T2d+S1b)3/ 	od&;<cBmD&9:C@ 	gi0#6)\:<@01\+-8#> 2$$&!!'+=>0,N ' 	,kmD 	eg.4)\8:>01\)+6< 2 	)\68< 21&& 21s$   !I;I;!I'
I
I$'
I5c                 P   [         R                  nU R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S	5      S5        U R                  U" [        S5      5      S5        U R                  U" [	        S5      5      S5        U R                  U" [        5       5      S
5        U R                  [        U[        5       5        U R                  [        5         U R                  U" [        5       5      S
5        S S S 5        [        R                  " 5          [        R                  " S[        5        U R                  [        U[        5       5        S S S 5        U R                  [        U[!        5       5        U R                  U" [#        5       5      S5        U R                  [        U[%        5       5        U R                  [        5         U R                  U" ['        5       5      S5        S S S 5        U R                  [        U[)        5       5        g ! , (       d  f       GN#= f! , (       d  f       N= f! , (       d  f       NQ= f)Nr&   y             @rD   y      @        rC   rB   rE   y      E@        rF   y      @      ?rG   )r   complex_asccomplexr6   r   r   r   rI   rJ   r   rK   rL   r   rM   rN   rO   r   r   r   r	   r
   r+   )r   
asccomplexs     r   test_asccomplexCAPIComplexTest.test_asccomplex   s   11
D)84E*I6D)95D)95B/B3 	OD$9:HEM$$78)D 	GI.	:)Z>01Z6	B 2$$&!!'+=>0*kmL ' 	,
KMB 	EG,i8)Z<01Z	4i@ 2 	)Z: 21&& 21rS   c                 V    [         R                  nU R                  U" SS5      S5        g )N                 ?)      ?      ?r   )r   	_py_c_sumr6   )r   rc   s     r   test_py_c_sumCAPIComplexTest.test_py_c_sum   s$    ''	1b)95r   c                 V    [         R                  nU R                  U" SS5      S5        g )Nr`   ra   )rU   r   )r   
_py_c_diffr6   )r   rg   s     r   test_py_c_diffCAPIComplexTest.test_py_c_diff   s$    ))
Ar*I6r   c                 T    [         R                  nU R                  U" S5      S5        g )Nrb   y            )r   	_py_c_negr6   )r   rk   s     r   test_py_c_negCAPIComplexTest.test_py_c_neg   s!    ''	4%0r   c                 V    [         R                  nU R                  U" SS5      S5        g )N   ra   )               @r   )r   
_py_c_prodr6   )r   rq   s     r   test_py_c_prodCAPIComplexTest.test_py_c_prod   s$    ))
Ar*G4r   c                    [         R                  nU R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S	5        U R                  U" SS
5      S	5        U" [        S5      u  p#U R	                  [        UR                  5      5        U R	                  [        UR                  5      5        U R                  US5        U" S[        5      u  p#U R	                  [        UR                  5      5        U R	                  [        UR                  5      5        U R                  US5        U R                  U" SS5      S   [        R                  5        g )Nr`   ra   )             r   ru   )ra   r   ro   )y              ?r   )y             r   rp   r                   )
r   
_py_c_quotr6   NANr)   r   realimagerrnoEDOM)r   rx   zes       r   test_py_c_quotCAPIComplexTest.test_py_c_quot   s,   ))
Ar*H5As+W5B*I6B+Z8Ar*J7#r"aff&aff&A"c"aff&aff&AAr*1-uzz:r   c                 Z   [         R                  nU R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S5        U R                  U" SS5      S   S5        U" S	S
5      u  p#U R                  US5        U R                  US5        U R                  U" SS
5      S   [        R
                  5        U R                  U" SS5      S   [        R
                  5        U R                  U" [        S-   /S-  6 S   [        [        /S-  6 5        g )Nra   rw   )y      ?        r   r`   )rw   r   ro   r   rB   rb   rF   y      ?      )	r   	_py_c_powr6   assertAlmostEqualr|   r}   DBL_MAXcomplexINF)r   r   rr   s       r   test_py_c_powCAPIComplexTest.test_py_c_pow   s   ''	2r*I61b)952q)73yQ/2G<r"q(+A2r*1-uzz:2r*1-uzz:WRZLN3A6#q8IJr   c           	         [         R                  nU R                  U" S5      S5        U R                  U" S5      S5        U R                  U" [        S5      5      [        S45        U R                  U" [        S5      5      [        S45        U R                  U" [        S5      5      [        S45        U R                  U" [        S5      5      [        S45        U R                  [        U" [        S	5      5      S   5      5        U R                  [        U" [        S
5      5      S   5      5        U R                  U" [        [        /S-  6 5      S   [        R                  5        g )NrF   )r;   r   ra   z+inf+1jr   z-inf+1jz	1.25+infjz	1.25-infjz	1.25+nanjznan-1jro   r`   )
r   	_py_c_absr6   r   r   r)   r   r   r|   ERANGE)r   r   s     r   test_py_c_absCAPIComplexTest.test_py_c_abs   s   ''	212179#56aA79#56aA7;#783(C7;#783(Ci(<=a@ABi(9:1=>?7WIaK#89!<ellKr   r   N)r   r   r   r   r-   r2   r8   r?   rQ   rX   r]   rd   rh   rl   rr   r   r   r   r    r   r   r   r"   r"      sM    	*	/7:=F=B;F6715;,K$Lr   r"   __main__)mathr   r|   unittestrM   test.test_capi.test_getargsr   r   r   r   r   r	   r
   r   test.supportr   import_moduler   r   NULLfloatr   ry   r   r   TestCaser"   r   mainr   r   r   <module>r      s       E E E ' ''4	 ../AB ElEl


 
]Lh'' ]L@ zMMO r   