
    i                     L   % S SK r S SKrS SKJr  S SKJr  S SKJrJrJ	r	  \S   r
\	\S'   \S   r\	\S'   \
\-  r\	\S	'   \S
   r\	\S'   \S   r\	\S'   SSSS.r\\\\\4   4   \S'   SSSS.r\\\
4   \S'   S\\-  S\S\S\\-  4S jrS\S\S\4S jrS\S\4S jrS;S\S\S\S\4S  jjrS;S!\S\S\4S" jjrS;S!\S\S\4S# jjrS;S!\S\S\4S$ jjrS;S!\S\S\4S% jjrS!\S\S&\S\4S' jr S!\S\S&\S\4S( jr!S)S*S+S.r"\\\4   \S,'   \"S   \RF                  :X  d   eS-r$S.\S/\S0\S1\S\\/\4   4
S2 jr%S\\-  S\\-  S\4S3 jr&S4\\-  S!\\-  S5\\-  S\\-  4S6 jr'\" S75      r(\" S85      r)S9r*\ RV                  " \)5      (       d   e\ RX                  " S:\)5      S::X  d   eg)<    N)Callable)
float_info)LiteralSupportsFloat	TypeAlias)!h!i!qSignedIntFormat)!H!I!QUnsignedIntFormat	IntFormat)!e!f!dFloatFormat       @   Width)r   r   )r   r   )r   r   STRUCT_FORMATSr   r	   r
   TO_SIGNED_FORMATxfrom_toreturnc                     [         R                  " U[         R                  " X5      5      S   n [        U [        [
        45      (       d   eU $ )Nr   )structunpackpack
isinstancefloatint)r   r   r   s      Y/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/hypothesis/internal/floats.pyreinterpret_bitsr(   &   s<    b&++e/03Aa%&&&&H    widthc                     US;   d   eUS:X  a  [        U 5      $ US:X  a  [        [        U 5      SS5      $ [        [        U 5      SS5      $ )Nr   r   r   r   r   )r%   r(   )r   r*   s     r'   float_ofr,   ,   sM    L   {Qx	"a$55a$55r)   c           	           [         R                  " SU 5      S:  $ ! [         a'    [        SU < S[        U 5      R                   35      S ef = f)N      ?r   zExpected float but got 	 of type )mathcopysign	TypeErrortype__name__)r   s    r'   is_negativer5   6   sW    }}S!$q(( %aU)DG4D4D3EF
	s	    1Ar   yc                    X::  d   e[        U 5      (       aD  [        U5      (       a  [        X5      [        X5      -
  S-   $ [        U SU5      [        SX5      -   $ [        U5      (       a   e[        X5      [        X5      -
  S-   $ )N   g               )r5   float_to_intcount_between_floats)r   r6   r*   s      r'   r;   r;   ?   s    6M61~~q>>)L,BBQFF'47:NQ;   q>>!!A%Q(>>BBr)   valuec                 b    [         U   u  p#[        XU5      n[        U[        5      (       d   eU$ N)r   r(   r$   r&   )r<   r*   fmt_intfmt_fltr   s        r'   r:   r:   M   s3    %e,G1AaHr)   c                 0    [         U   u  p#[        XU5      $ r>   )r   r(   )r<   r*   r?   r@   s       r'   int_to_floatrB   T   s    %e,GEG44r)   c                 |   [        U [        5      (       d   U < S[        U 5       35       e[        R                  " U 5      (       d!  [        R
                  " U 5      (       a  U S:  a  U $ U S:X  a  [        U 5      (       a  g[        U   u  p#[        U   n[        XU5      nUS:  a  US-  nOUS-  n[        XTU5      $ )zReturn the first float larger than finite `val` - IEEE 754's `nextUp`.

From https://stackoverflow.com/a/10426033, with thanks to Mark Dickinson.
r/   r   r9   r8   )
r$   r%   r3   r0   isnanisinfr5   r   r   r(   )r<   r*   r?   r@   fmt_int_signedns         r'   next_uprH   Y   s    
 eU##Gy	$u+%GG#zz%TZZ..519|E**%e,G%g.N8AAv	Q	QAw77r)   c                     [        U * U5      * $ r>   )rH   )r<   r*   s     r'   	next_downrJ   n   s    UFE"""r)   allow_subnormalc                    [        X5      n U(       d3  S[        U 5      s=:  a  [        U   :  a  O  U $ U S:  a  S$ [        U   * $ U $ )Nr   r9   )rJ   abswidth_smallest_normalsr<   r*   rK   s      r'   next_down_normalrP   r   sK    e#ESZ!O2H2O!OL aisC&<U&C%CCLr)   c                    [        U * XS9* $ )N)rK   )rP   rO   s      r'   next_up_normalrR   y   s    eVULLLr)   g      ?g      8g       rN   l    	min_value	max_value	allow_nansmallest_nonzero_magnitudec                   ^ ^^^^^ SSK Jm  [        T T5      (       d   e[        TT -
  [        R
                  5      mS[        S[        4UUUU UU4S jjnU$ )zF
Return a function that clamps positive floats into the given bounds.
r   )choice_permittedfr   c                    > T" U TTTTS.5      (       a  U $ [        [        U 5      5      [        -  nTTU[        -  -  -   n S[        U 5      s=:  a  T:  a  O  OTn TT:  a  U S-  n [        TU T5      $ )N)rS   rT   rU   rV   r   )r:   rM   mantissa_maskclamp)rY   mantrU   rX   rT   rS   
range_sizerV   s     r'   float_clamper)make_float_clamper.<locals>.float_clamper   s    &&&.H	
 
 H CF#m3
d]&:;; s1v222*A
 *I5R Y9--r)   )%hypothesis.internal.conjecture.choicerX   sign_aware_lteminr   maxr%   )rS   rT   rU   rV   r`   rX   r_   s   ```` @@r'   make_float_clamperrf      sQ     G)Y////Y*JNN;J. .5 . .< r)   c                     U Ss=:X  a  U:X  a5  O  X:*  $ [         R                  " SU 5      [         R                  " SU5      :*  $ X:*  $ )z5Less-than-or-equals, but strictly orders -0.0 and 0.0r9   r.   )r0   r1   )r   r6   s     r'   rc   rc      s@    C}1} v }}S!$c1(===vr)   lowerupperc                 N    [        X5      (       d  U $ [        X5      (       d  U$ U$ )z~Given a value and lower/upper bounds, 'clamp' the value so that
it satisfies lower <= value <= upper.  NaN is mapped to lower.)rc   )rh   r<   ri   s      r'   r]   r]      s)     %''%''Lr)   r9   l         l          r8   )r   )-r0   r!   collections.abcr   sysr   typingr   r   r   r   __annotations__r   r   r   r   r   dictr&   tupler   r%   strr(   r,   boolr5   r;   r:   rB   rH   rJ   rP   rR   rN   rd   r\   rf   rc   r]   SMALLEST_SUBNORMALSIGNALING_NANMAX_PRECISE_INTEGERrD   r1    r)   r'   <module>rw      s     $  4 4$%56 6&'78 9 8&)::	9 : !12Y 2:&y &
 	DS% 1; >??@  

> $(/9:  C S US[ 6 6e 6 6= T CE Ce CC C C c 3 5 5C 5 5
85 8 8e 8*#U #3 # #E # 4 E M% M M M% M 	! !, S%Z( 
 b!Z^^3 33--- 	-
 !&- ugun-`eck eck d  US[  QT  S\ 23 zz-     }}Q&!+ ++r)   