
    2hh                     r   S SK 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 rSrSSS	S
.r\R/                  S5      R1                  S5      r\" S5      r\" S5      r " S S\R8                  5      r\S:X  a  \R>                  " 5         gg)    N)FloatFloatSubclassFloatSubclass2	BadIndex2	BadFloat2IndexBadIndexBadFloat)import_helper	_testcapi_testlimitedcapi   g      @?g      p>g      <         doubleIEEEinfnanc                   V    \ 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)CAPIFloatTest   c                 <   [         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" [        5       5      5        g N      @   )r   float_check
assertTruer   assertFalser   object)selfchecks     B/opt/python-3.13.8/usr/lib/python3.13/test/test_capi/test_float.py
test_checkCAPIFloatTest.test_check   sm     ,,d$mD123uw(q"vx)    c                 <   [         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" [        5       5      5        g r   )r   float_checkexactr   r    r   r   r!   )r"   
checkexacts     r$   test_checkexactCAPIFloatTest.test_checkexact+   sr    %66

4()M$$789EG,-A'FH-.r'   c                 &   [         R                  nU R                  U" S5      S5        U R                  U" S5      S5        U R                  [        US5        U R                  [        US5        U R                  U" [        S5      5      S5        U R                  U" [        S5      5      S5        U R                  U" [        S5      S S 5      S5        U R                  [        U[        S5      S S S2   5        U R                  [        US5        g )	Nz4.25r   s   4.25z4.25 s   4.25 s   4.255r   )r   float_fromstringassertEqualassertRaises
ValueError	bytearray
memoryview	TypeError)r"   
fromstrings     r$   test_fromstringCAPIFloatTest.test_fromstring7   s    %66
F+T2G,d3*j(;*j)<Ig$67>Jw$78$?Jx$8"$=>E)ZG1DSqS1IJ)Z6r'   c                 T    [         R                  nU R                  U" S5      S5        g )Nr   )r   float_fromdoubler0   )r"   
fromdoubles     r$   test_fromdoubleCAPIFloatTest.test_fromdoubleJ   s"    %66
D)40r'   c                 >   [         R                  n " S S5      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S	-  5      [        SS	-  5      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                  [        U[        5       5        U R                  [        X" 5       5        U R                  [        5         U R                  U" [        5       5      S5        S S S 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        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nk= f)Nc                       \ rS rSrS rSrg).CAPIFloatTest.test_asdouble.<locals>.BadFloat3T   c                     [         eN)RuntimeError)r"   s    r$   	__float__8CAPIFloatTest.test_asdouble.<locals>.BadFloat3.__float__U   s    ""r'    N)__name__
__module____qualname____firstlineno__rE   __static_attributes__rG   r'   r$   	BadFloat3r@   T   s    #r'   rM   r   g      *   g      E@r.   r   i  g     X@      ?error)r   float_asdoubler0   floatr   r   r   r1   r5   r	   r
   rD   assertWarnsDeprecationWarningr   r   warningscatch_warningssimplefilterr!   NULL)r"   asdoublerM   s      r$   test_asdoubleCAPIFloatTest.test_asdoubleP   s   #22	# 	# 	$.$."t,"t,!T'*E!T'N;-"56=."67>%'*C0)Xxz:)Xxz:,)+>01Xik2B7 201Xik2D9 2$$&!!'+=>0(IKH ' 	)Xvx8)Xt4 2111&&s$   2!I,0!I=.;J,
I:=
J
Jc                 n    [         R                  nU R                  U" 5       [        R                  5        g rC   )r   float_getinfor0   sys
float_info)r"   getinfos     r$   test_getinfoCAPIFloatTest.test_getinfoo   s#    "00CNN3r'   c                     [         R                  nU R                  U" 5       [        R                  R
                  5        g rC   )r   float_getmaxr0   r^   r_   max)r"   getmaxs     r$   test_getmaxCAPIFloatTest.test_getmaxu   )    !..3>>#5#56r'   c                     [         R                  nU R                  U" 5       [        R                  R
                  5        g rC   )r   float_getminr0   r^   r_   min)r"   getmins     r$   test_getminCAPIFloatTest.test_getmin{   ri   r'   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 R                  U" SS[        5      S
5        g )Nr         ?   > r      ?  r      ?          >     ?         ?)r   
float_packr0   
BIG_ENDIANLITTLE_ENDIAN)r"   packs     r$   	test_packCAPIFloatTest.test_pack   s    ##aj18<aj13CDaj19	;am4h?am46FGam49	;r'   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      S5        U R                  U" S[        5      S5        g )Nrr   rq   rs   rt   ru   rv   rw   )r   float_unpackr0   ry   rz   )r"   unpacks     r$   test_unpackCAPIFloatTest.test_unpack   s    ''*5s; 0*=sC @*M	-8#> 0-@#F @-P	r'   c                    [         R                  n[         R                  nSnSSUS[        R                  /n[
        (       a  UR                  [        [        45        U H  nS H  nUS:X  a  XS:X  a  M  [        U   n[        [        4 H  nU R                  XVUS9   U" XeU5      n	U" X5      n
[        R                  " U5      (       a(  U R                  [        R                  " U
5      XZ45        O>US:  a'  U R                  [        R                  " XUS	9XZ45        OU R!                  X5        S S S 5        M     M     M     g ! , (       d  f       M  = f)
Ng      0FrO   rq   g$I$I?r   r   )valuesizeendianr   )rel_tol)r   rx   r   mathpiHAVE_IEEE_754extendINFNANEPSILONry   rz   subTestisnanr   iscloser0   )r"   r{   r   largevaluesr   r   r   r   datavalue2s              r$   test_pack_unpack_roundtrip(CAPIFloatTest.test_pack_unpack_roundtrip   s   ##''sE5$''2=MM3*%E"19!$-)=9FEVL#D8!'!5::e,, OODJJv,>P!AX OODLLPW,X-2O= !,,V; ML : #  MLs   BE	
ErG   N)rH   rI   rJ   rK   r%   r+   r7   r<   rZ   ra   rg   rn   r|   r   r   rL   rG   r'   r$   r   r      s9    */7&15>477;<r'   r   __main__) r   r^   unittestrU   test.test_capi.test_getargsr   r   r   r   r   r   r	   r
   test.supportr   import_moduler   r   rX   ry   rz   r   rR   __getformat__
startswithr   r   r   TestCaser   rH   mainrG   r'   r$   <module>r      s     
  3 3 3 '''4	 ../AB  
 ##H-88@ElElU<H%% U<p zMMO r'   