Ë
    ÌÓ^j6;  ã            	       ó>  — d dl mZ d dlmZ d dlZd dlZd dlZd dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZmZ ej.                  ej0                  ej2                  fZ ed„ ej.                  dej0                  dej2                  d i«      Zd„ Zd„ Zd„ Z	 d„ Z	 ej@                  	 	 dd„«       Z!	 ej@                  d d„«       Z"	 ej@                  dddejF                  fd„«       Z$ej@                  d!d„«       Z%	 ej@                  	 	 	 	 	 d"d„«       Z& e' e(e) ed«      jU                  d«      dd «      «      Z+de+cxk  rdk  r"n n ejX                  dejZ                  ¬«       n ejX                  dd¬«        ej\                  d«       d„ Z/y)#é    )Údefaultdict)ÚIterableN)Úreduce)Úversion)Úassume)Úsettings)Ú
strategies)Únumpy)ÚSearchStrategy)Ú_calculate_dynamic_qparamsÚ&_calculate_dynamic_per_channel_qparamsc                   ó   — y )N© r   ó    ús/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/testing/_internal/hypothesis_utils.pyú<lambda>r   !   s   � r   c                 ó¤  — | \  }}}dt        j                  t         j                  «      j                  z   }t        j                  t         j
                  «      }|j                  |z  |j                  |z  }}t        ||z
  |z  ||z  |z   «      }t        ||z
  |z  ||z  |z   «      }	t        j                  |«      t        j                  |	«      fS ©Né   )
ÚtorchÚfinfoÚfloatÚepsÚiinfoÚlongÚminÚmaxÚnpÚfloat32)
ÚqparamsÚscaleÚ
zero_pointÚ_quantized_typeÚ
adjustmentÚ_long_type_infoÚlong_minÚlong_maxÚ	min_valueÚ	max_values
             r   Ú_get_valid_min_maxr*   '   sº   € Ø)0Ñ&€Eˆ:�Ø”U—[‘[¤§¡Ó-×1Ñ1Ñ1€JÜ—k‘k¤%§*¡*Ó-€OØ(×,Ñ,¨zÑ9¸?×;NÑ;NÐQ[Ñ;[ˆh€Hä�X 
Ñ*¨eÑ3°hÀÑ6FÈÑ6SÓU€IÜ�X 
Ñ*¨eÑ3°hÀÑ6FÈÑ6SÓU€IÜ�:‰:�iÓ ¤"§*¡*¨YÓ"7Ð7Ð7r   c                  ó”  — d|v �r¯t         j                  j                  dk  �r‘d|v xr |d    xs d|vxr d|v xr |d    xs d|v}t        | «      dk(  xr
 d|vxr d|v}|�r=|�r:|d   dk(  rat	        j
                  t        j                  «      j                  |d<   t	        j
                  t        j                  «      j                  |d<   nÑ|d   d	k(  rat	        j
                  t        j                  «      j                  |d<   t	        j
                  t        j                  «      j                  |d<   nh|d   d
k(  r`t	        j
                  t        j                  «      j                  |d<   t	        j
                  t        j                  «      j                  |d<   |j                  d«       t        j                  | i |¤ŽS )NÚwidth)é   éC   r   Ú	allow_nanÚallow_infinityr   r(   r)   é   é    é@   )Ú
hypothesisr   Ú__version_info__Úlenr   r   Úfloat16r   r   r   Úfloat64ÚpopÚstÚfloats)ÚargsÚkwargsÚno_nan_and_infÚmin_and_max_not_specifieds       r   Ú_floats_wrapperr@   4   s”  € Ø�&ÒœZ×/Ñ/×@Ñ@À:ÓMð ˜VÐ#Ò?¨F°;Ñ,?Ð(?ò 'Ø Ð&ò-à &Ð(ÒI°Ð8HÑ1IÐ-Iò ,Ø VÐ+ð	 	ô �‹I˜‰Nò &Ø˜vÐ%ò&à˜vÐ%ð 	"ò
 Ò7Ø�g‰ "Ò$Ü&+§k¡k´%·-±-Ó&@×&DÑ&D��{Ñ#Ü&+§k¡k´%·-±-Ó&@×&DÑ&D��{Ò#Ø˜‘ BÒ&Ü&+§k¡k´%·-±-Ó&@×&DÑ&D��{Ñ#Ü&+§k¡k´%·-±-Ó&@×&DÑ&D��{Ò#Ø˜‘ BÒ&Ü&+§k¡k´%·-±-Ó&@×&DÑ&D��{Ñ#Ü&+§k¡k´%·-±-Ó&@×&DÑ&D��{Ñ#Ø�
‰
�7ÔÜ�9‰9�dÐ%˜fÑ%Ð%r   c                  ó*   — d|vrd|d<   t        | i |¤ŽS )Nr,   r2   )r@   )r<   r=   s     r   r;   r;   O   s#   € Ø�fÑØˆˆw‰Ü˜DÐ+ FÑ+Ð+r   c                 ó�   — t        |«      \  }}t        | j                  «       |k\  «       t        | j                  «       |k  «       y)NT)r*   r   r   r   )Útensorr    r(   r)   s       r   Úassume_not_overflowingrD   c   s:   € Ü-¨gÓ6Ñ€IˆyÜ
ˆ6�:‰:‹<˜9Ñ$Ô%Ü
ˆ6�:‰:‹<˜9Ñ$Ô%Ør   c                 ó0  — |€t         }t        |t        t        f«      s|f} | t	        j
                  |«      «      }t        j                  |«      }|j                  |j                  }	}t        |   }
|
�|
}n)|€|n|}|€|	n|} | t	        j                  ||¬«      «      }|€-t        j                  t        j                  «      j                  }|€-t        j                  t        j                  «      j                  } | t        ||d¬«      «      }|||fS )N)r(   r)   r2   )r(   r)   r,   )Ú_ALL_QINT_TYPESÚ
isinstanceÚlistÚtupler:   Úsampled_fromr   r   r   r   Ú_ENFORCED_ZERO_POINTÚintegersr   r   r   r;   )ÚdrawÚdtypesÚ	scale_minÚ	scale_maxÚzero_point_minÚzero_point_maxÚquantized_typeÚ
_type_infoÚqminÚqmaxÚ_zp_enforcedr"   Ú_zp_minÚ_zp_maxr!   s                  r   r    r    x   sõ   € ð €~Ü ˆÜ�fœt¤U˜mÔ,Ø�ˆÙœ"Ÿ/™/¨&Ó1Ó2€Nä—‘˜^Ó,€JØ—‘ §¡ˆ$€Dô (¨Ñ7€LØÐØ!‰
à(Ð0‘$°nˆØ(Ð0‘$°nˆÙœ"Ÿ+™+°À7ÔKÓLˆ
àÐÜ—K‘K¤§¡Ó,×0Ñ0ˆ	ØÐÜ—K‘K¤§¡Ó,×0Ñ0ˆ	Ù” )°yÈÔKÓL€Eà�*˜nÐ,Ð,r   c                 ó:  ‡— |dk\  rt        d|› �«      ‚|€t        |dz   d«      }|dk\  rt        d|› �«      ‚|€|dz   }t        j                  t        j                  ||«      ||¬«      }‰�|j                  ˆfd„«      } | |j                  t        «      «      S )z8Return a strategy for array shapes (tuples of int >= 1).r2   zExpected min_dims < 32, got é   zExpected max_dims < 32, got é   )Úmin_sizeÚmax_sizec                 ó@   •— t        t        j                  | d«      ‰k  S r   )r   ÚintÚ__mul__)ÚxÚ	max_numels    €r   r   zarray_shapes.<locals>.<lambda>¯   s   ø€ ¬v´c·k±kÀ1ÀaÓ/HÈIÑ/U€ r   )ÚAssertionErrorr   r:   ÚlistsrL   ÚfilterÚmaprI   )rM   Úmin_dimsÚmax_dimsÚmin_sideÚmax_siderc   Ú	candidates        ` r   Úarray_shapesrm   ¢   s§   ø€ ð �2‚~ÜÐ;¸H¸:ÐFÓGÐGØÐÜ�x !‘| RÓ(ˆØ�2‚~ÜÐ;¸H¸:ÐFÓGÐGØÐØ˜a‘<ˆÜ—‘œŸ™ X¨xÓ8À8ÐV^Ô_€IØÐØ×$Ñ$Ó%UÓVˆ	Ù�	—‘œeÓ$Ó%Ð%r   c                 óv  — t        |t        «      r	 | |«      }n | t        j                  |«      «      }|€…|€t	        dddd¬«      } | t        j                  |||¬«      «      }t        t        j                  |«      j                  «       xs# t        j                  |«      j                  «        «       |d fS  | |«      }|€t        |«      \  }}t	        ||ddd¬«      } | t        j                  |||¬«      «      }t        ||d   «      \  }	}
t        j                  |d   d «      }|�|}
||	|
|d   ffS )	Nç    €„.Áç    €„.AFr2   ©r/   r,   ©ÚdtypeÚelementsÚshape©r0   r/   r,   r[   )rG   r   r:   rJ   r;   ÚstnpÚarraysr   r   ÚisnanÚanyÚisinfr*   r   rK   Úget)rM   Úshapesrt   r    rs   Ú_shapeÚXr(   r)   r!   ÚzpÚenforced_zps               r   rC   rC   Ä   s&  € ä�&œ.Ô)Ù�f“‰á”b—o‘o fÓ-Ó.ˆØ€ØÐÜ˜d C°5ÀÔCˆHÙ”—‘ 5°8À6ÔJÓKˆÜ”B—H‘H˜Q“K—O‘OÓ%Ò:¬¯©°!«¯©Ó):Ð;Ô<Ø�$ˆwˆÙ�7‹m€GØÐÜ1°'Ó:Ñˆ	�9Ü˜) Y¸uØ$)°ô5ˆáŒT�[‰[˜u¨x¸vÔFÓG€Aä*¨1¨g°a©jÓ9�I€Eˆ2Ü&×*Ñ*¨7°1©:°tÓ<€KØÐØˆØˆu�b˜' !™*Ð%Ð%Ð%r   c                 ó”  — t        |t        «      r	 | |«      }n | t        j                  |«      «      }|€“|€t	        dddd¬«      } | t        j                  t        j                  ||¬«      «      }t        t        j                  |«      j                  «       xs# t        j                  |«      j                  «        «       |d fS  | |«      }|€t        |«      \  }}t	        ||ddd¬«      } | t        j                  t        j                  ||¬«      «      }t        ||d   «      \  }}	t        j!                  |d   d «      }
|
�|
}	t#        t        j$                  j'                  d	|j(                  «      «      }t        j*                  |j(                  «      }||d	<   d	||<   t        j,                  ||«      }|||	||d   ffS )
Nro   rp   Fr2   rq   rr   rv   r[   r   )rG   r   r:   rJ   r;   rw   rx   r   r   r   ry   rz   r{   r*   r   rK   r|   r`   ÚrandomÚrandintÚndimÚarangeÚ	transpose)rM   r}   rt   r    r~   r   r(   r)   r!   r€   r�   ÚaxisÚpermute_axess                r   Úper_channel_tensorrŠ   Ý   s„  € ä�&œ.Ô)Ù�f“‰á”b—o‘o fÓ-Ó.ˆØ€ØÐÜ˜d C°5ÀÔCˆHÙ”—‘¤2§:¡:¸ÈÔOÓPˆÜ”B—H‘H˜Q“K—O‘OÓ%Ò:¬¯©°!«¯©Ó):Ð;Ô<Ø�$ˆwˆÙ�7‹m€GØÐÜ1°'Ó:Ñˆ	�9Ü˜) Y¸uØ$)°ô5ˆáŒT�[‰[œrŸz™z°HÀFÔKÓL€Aä6°q¸'À!¹*ÓE�I€Eˆ2Ü&×*Ñ*¨7°1©:°tÓ<€KØÐØˆäŒr�y‰y× Ñ   A§F¡FÓ+Ó,€DÜ—9‘9˜QŸV™VÓ$€LØ€L��OØ€L�ÑÜ
�‰�Q˜Ó%€Aàˆu�b˜$ ¨¡
Ð+Ð+Ð+r   c                 ó°  —  | t        j                  |Ž «      } | t        j                  |Ž «      } | t        j                  |Ž «      } | t        j                  d|«      «      }||z  }||z  }t        |t        «      r | t        j                  |«      «      }t        |«      D �cg c]  } | t        j                  |Ž «      ‘Œ }}t        |«      D �cg c]  } | t        j                  |Ž «      ‘Œ }}d}||ft        |«      z   }|}|r. | t        j                  «       «      }|r||ft        |«      z   }|}|
�5t        |
t        t        f«      rt        |
«      dk7  rt        d«      ‚|
gdz  }
 | t        ||ft        |«      z   f|	|
d   ¬«      «      } | t        |f|	|
d   ¬«      «      } | t        |f|	|
d   ¬«      «      }|||||fS c c}w c c}w )Nr   Fr-   zNeed 3 qparams for X, w, br   )r}   rt   r    r[   )r:   rL   rG   r   rJ   ÚrangerI   ÚbooleansrH   r6   rd   rC   )rM   Úspatial_dimÚbatch_size_rangeÚinput_channels_per_group_rangeÚoutput_channels_per_group_rangeÚfeature_map_rangeÚkernel_rangeÚ
max_groupsÚcan_be_transposedrt   r    Ú
batch_sizeÚinput_channels_per_groupÚoutput_channels_per_groupÚgroupsÚinput_channelsÚoutput_channelsÚ_Úfeature_map_shapeÚkernelsÚtrÚweight_shapeÚ
bias_shaper   ÚWÚbs                             r   Útensor_convr¤   ,  sï  € ñ ”b—k‘kÐ#3Ð4Ó5€JÙ#Ü
�‰Ð3Ð4ó 6Ðá $Ü
�‰Ð4Ð5ó!7Ðá”"—+‘+˜a Ó,Ó-€FØ-°Ñ6€NØ/°&Ñ8€Oä�+œxÔ(Ùœ2Ÿ?™?¨;Ó7Ó8ˆäHMÈkÓHZÖ[À1™œbŸk™kÐ+<Ð=Õ>Ð[ÐÐ[ä9>¸{Ó9KÖL°A‰t”B—K‘K Ð.Õ/ÐL€GÐLà	€BØ#Ð%=Ð>ÄÀwÃÑO€LØ €JÙÙ”"—+‘+“-Ó ˆÙØ*Ð,EÐFÌÈwËÑWˆLØ(ˆJð ÐÜ�g¤¤e˜}Ô-Ü�7‹|˜qÒ Ü$Ð%AÓBÐBà�i !‘mˆGáŒVØ	�^Ð$¤uÐ->Ó'?Ñ?ðBà 7¨1¡:ô/ó 	0€Añ 	ŒV˜L˜?°XØ# A™Jô(ó 	)€AáŒV˜J˜=°8Ø# A™Jô(ó 	)€Að ˆa��F˜BÐÐùò; \ùâLs   Â'GÃGr4   ú.r-   )r-   r1   r   ©r-   é   r   Úno_deadline)Útimeout)Údeadlinec                  óª   — t         dk  r+ddl} dt        j                  › �}| j	                  |d¬«       yt        «       j                  �t        d«      ‚y)zICheck that deadlines are effectively disabled across Hypothesis versions.r¦   r   NzwYour version of hypothesis is outdated. To avoid `DeadlineExceeded` errors, please update. Current hypothesis version: r[   )Ú
stacklevelz'Expected settings().deadline to be None)Úhypothesis_versionÚwarningsr4   Ú__version__Úwarnr   rª   rd   )r®   Úwarning_messages     r   Úassert_deadline_disabledr²   r  sZ   € ä˜JÒ&Ûð+ä+5×+AÑ+AÐ*BðDð 	ð
 	�‰�o°!ˆÕ4ä‹:×ÑÐ*Ü Ð!JÓKÐKð +r   )NNNNN)r   Nr   NN)NNN)
r[   )r   é   ©r-   é   r´   )é   é   r´   r   FNN)0Úcollectionsr   Úcollections.abcr   r
   r   r   r4   Ú	functoolsr   Úimportlib.metadatar   r   r   r	   r:   Úhypothesis.extrarw   Úhypothesis.strategiesr   Ú(torch.testing._internal.common_quantizedr   r   Úquint8Úqint8Úqint32rF   rK   r*   r@   r;   rD   Ú	compositer    rm   r   rC   rŠ   r¤   rI   rg   r`   Úsplitr­   Úregister_profileÚ	unlimitedÚload_profiler²   r   r   r   ú<module>rÇ      sÁ  ðõ $Ý $Û Û ã Ý Ý &Ý Ý Ý 'Ý *Ý 0ç wð 
‡L�LØ	‡K�KØ	‡L�Lð€ñ #¡<Ø	‡L�L�$Ø	‡K�K�Ø	‡L�L�!ð2ó Ð ò8ò&ò6,ð
òðð ‡�Ø9=Ø04ò-ó ð-ð8ð ‡�ò&ó ð&ð ð" ‡�Ø t°TÀÇÁò &ó ð&ð0 ‡�ò,ó ð,ð>.ð^ ‡�à*0Ø#)Ø>EØ9>Øò2ó ð2ñp ™3˜s¡G¨LÓ$9×$?Ñ$?ÀÓ$DÀRÀaÐ$HÓIÓJÐ àÐ#Ô0 jÕ0à€H×Ñ˜m°Z×5IÑ5IÖJð €H×Ñ˜m°dÕ;ð €× Ñ �mÔ $óLr   