+
    ˜°³jŽ/  ã                   ód  € R t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIt]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                   .t]P$                  ]P&                  ]P(                  ]P*                  .t]P.                  ]P0                  ]P2                  ]P4                  .t]P8                  ]P:                  ]P<                  ]P>                  .t ]PB                  .]Ot". ]O] Ot#R R lt$RRRRRRR	RR
RRR/R R llt%R# )z1
This module contains tensor creation utilities.
N)Úcastc                óp   € V ^8„  d   QhR\         P                  R\        R\        R\         P                  /# )é   ÚtÚlowÚhighÚreturn)ÚtorchÚTensorÚfloat)Úformats   "ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/testing/_creation.pyÚ__annotate__r   $   s0   € ÷ %ñ %œŸ™ð %¬5ð %¼ð %Ä%Ç,Á,ñ %ó    c                 óì   € W!,
          \         P                  ! V P                  4      P                  8¼  d0   V P	                  V^,          V^,          4      P                  ^4      # V P	                  W4      # )r   )r	   ÚfinfoÚdtypeÚmaxÚuniform_Úmul_)r   r   r   s   &&&r   Ú_uniform_random_r   $   sT   € ð …z”U—[’[ §¡Ó)×-Ñ-Ô-Ø�z‰z˜# �' 4¨!¥8Ó,×1Ñ1°!Ó4Ð4à�z‰z˜#Ó$Ð$r   r   r   Úrequires_gradFÚnoncontiguousÚexclude_zeroÚmemory_formatc                ó¦  € V ^8„  d   QhR\         \        P                  ,          \        \         ,          ,          \        \         R3,          ,          R\        P
                  R\        \        P                  ,          R\        R,          R\        R,          R\        R	\        R
\        R\        P                  R,          R\        P                  /
# )r   Úshape.r   Údevicer   Nr   r   r   r   r   r   )Úintr	   ÚSizeÚlistÚtupler   Ústrr   r   Úboolr   r
   )r   s   "r   r   r   -   s»   € ÷ gñ gÜ”%—*‘*Õœt¤C�yÕ(¬5´°c°­?Õ:ðgä�;‰;ðgô ”%—,‘,Õðgô 
��ð	gô
 �$�,ðgô ðgô ðgô ðgô ×&Ñ&¨Õ-ðgô ‡\�\ñgr   c                óÊ  a € R V 3R llp	\        V4      ^8X  d;   \        V^ ,          \        P                  P                  4      '       d
   V^ ,          p\        \        \        R3,          \        V4      4      pV'       d   Ve   \        RV: RV: 24      hV'       d   S \        9   d   \        RS : 24      hT;'       d    \        P                  ! R V^4      ^8„  pV'       d4   \        \        \        R3,          . VRR O^VR,          ,          N54      pS \        P                  J dK   \        \        \        \        3,          V	! VV^ ^^ ^R	7      4      w  r#\        P                  ! W#W�S R
7      p
EMõS \        9   d¤   \        \        \        \        3,          T	! TT\        P                  ! S 4      P                   \        P                  ! S 4      P"                  S \        P$                  Jd   ^M^ ,           R^
R	7      4      w  r#\        P                  ! W#W�S R
7      p
EMGS \&        9   d“   V	! VV\        P(                  ! S 4      P                   \        P(                  ! S 4      P"                  R^	R	7      w  r#\        P*                  ! W�S R
7      p
\-        S \.        9   d   \        P0                  ! V
4      MT
W#4       MªS \2        9   d‘   V	! VV\        P(                  ! S 4      P                   \        P(                  ! S 4      P"                  R^	R	7      w  r#\        P*                  ! W�\        P4                  R
7      p
\-        W¢V4       V
P7                  S 4      p
M\9        RS  R24      hV'       d   V
R,          p
MVe   V
P;                  VR7      p
V'       d3   S \        9   d   ^M\        P(                  ! S 4      P<                  Wª^ 8H  &   S \&        9   d   WJn        V
# )a  Creates a tensor with the given :attr:`shape`, :attr:`device`, and :attr:`dtype`, and filled with
values uniformly drawn from ``[low, high)``.

If :attr:`low` or :attr:`high` are specified and are outside the range of the :attr:`dtype`'s representable
finite values then they are clamped to the lowest or highest representable finite value, respectively.
If ``None``, then the following table describes the default values for :attr:`low` and :attr:`high`,
which depend on :attr:`dtype`.

+---------------------------+------------+----------+
| ``dtype``                 | ``low``    | ``high`` |
+===========================+============+==========+
| boolean type              | ``0``      | ``2``    |
+---------------------------+------------+----------+
| unsigned integral type    | ``0``      | ``10``   |
+---------------------------+------------+----------+
| signed integral types     | ``-9``     | ``10``   |
+---------------------------+------------+----------+
| floating types            | ``-9``     | ``9``    |
+---------------------------+------------+----------+
| complex types             | ``-9``     | ``9``    |
+---------------------------+------------+----------+

Args:
    shape (Tuple[int, ...]): Single integer or a sequence of integers defining the shape of the output tensor.
    dtype (:class:`torch.dtype`): The data type of the returned tensor.
    device (Union[str, torch.device]): The device of the returned tensor.
    low (Optional[Number]): Sets the lower limit (inclusive) of the given range. If a number is provided it is
        clamped to the least representable finite value of the given dtype. When ``None`` (default),
        this value is determined based on the :attr:`dtype` (see the table above). Default: ``None``.
    high (Optional[Number]): Sets the upper limit (exclusive) of the given range. If a number is provided it is
        clamped to the greatest representable finite value of the given dtype. When ``None`` (default) this value
        is determined based on the :attr:`dtype` (see the table above). Default: ``None``.

        .. deprecated:: 2.1

            Passing ``low==high`` to :func:`~torch.testing.make_tensor` for floating or complex types is deprecated
            since 2.1 and will be removed in 2.3. Use :func:`torch.full` instead.

    requires_grad (Optional[bool]): If autograd should record operations on the returned tensor. Default: ``False``.
    noncontiguous (Optional[bool]): If `True`, the returned tensor will be noncontiguous. This argument is
        ignored if the constructed tensor has fewer than two elements. Mutually exclusive with ``memory_format``.
    exclude_zero (Optional[bool]): If ``True`` then zeros are replaced with the dtype's small positive value
        depending on the :attr:`dtype`. For bool and integer types zero is replaced with one. For floating
        point types it is replaced with the dtype's smallest positive normal number (the "tiny" value of the
        :attr:`dtype`'s :func:`~torch.finfo` object), and for complex types it is replaced with a complex number
        whose real and imaginary parts are both the smallest positive normal number representable by the complex
        type. Default ``False``.
    memory_format (Optional[torch.memory_format]): The memory format of the returned tensor. Mutually exclusive
        with ``noncontiguous``.

Raises:
    ValueError: If ``requires_grad=True`` is passed for integral `dtype`
    ValueError: If ``low >= high``.
    ValueError: If either :attr:`low` or :attr:`high` is ``nan``.
    ValueError: If both :attr:`noncontiguous` and :attr:`memory_format` are passed.
    TypeError: If :attr:`dtype` isn't supported by this function.

Examples:
    >>> # xdoctest: +SKIP
    >>> # xdoctest: +REQUIRES(env:TORCH_DOCTEST_CUDA)
    >>> from torch.testing import make_tensor
    >>> # Creates a float tensor with values in [-1, 1)
    >>> make_tensor((3,), device="cpu", dtype=torch.float32, low=-1, high=1)
    >>> # xdoctest: +SKIP
    tensor([ 0.1205, 0.2282, -0.6380])
    >>> # Creates a bool tensor on CUDA
    >>> make_tensor((2, 2), device="cuda", dtype=torch.bool)
    tensor([[False, False],
            [False, True]], device='cuda:0')
c                óª   € V ^8„  d   QhR\         R,          R\         R,          R\         R\         R\         R\         R\        \         \         3,          /# )	r   r   Nr   Úlowest_inclusiveÚhighest_exclusiveÚdefault_lowÚdefault_highr   )r   r!   )r   s   "r   r   Ú!make_tensor.<locals>.__annotate__   s_   € ÷ 1ñ 1Ü�T�\ð1ä�d�lð1ô  ð	1ô
 !ð1ô ð1ô ð1ô 
Œu”eˆ|Õ	ñ1r   c               ó@  <€ R R lpV e   T MTp Ve   TMTp\         ;QJ d    R W3 4       F  '       g   K   RM	  RM! R W3 4       4      '       d   \        RV : RV: 24      hW8X  d*   S\        9   d   \        P                  ! R\
        ^R	7       M>W8¼  d   \        R
V  RV 24      hW8  g   W8¼  d   \        RV  RV RS RV RV R24      hV! WV4      p V! WV4      pS\        9   d-   \        P                  ! V 4      \        P                  ! V4      3# W3# )z~
Modifies (and raises ValueError when appropriate) low and high values given by the user (input_low, input_high)
if required.
c                óH   € V ^8„  d   QhR\         R\         R\         R\         /# )r   ÚaÚlÚhr   )r   )r   s   "r   r   Ú:make_tensor.<locals>.modify_low_high.<locals>.__annotate__�   s(   € ÷ 	%ñ 	%”Uð 	%œuð 	%¬ð 	%´5ñ 	%r   c                 ó,   € \        \        W4      V4      # ©N)Úminr   )r-   r.   r/   s   &&&r   ÚclampÚ3make_tensor.<locals>.modify_low_high.<locals>.clamp�   s   € Ü”s˜1“y !Ó$Ð$r   c              3   ó~   "  € T F3  p\        V\        4      ;'       d    \        P                  ! V4      x € K5  	  R # 5ir2   )Ú
isinstancer   ÚmathÚisnan)Ú.0Úvalues   & r   Ú	<genexpr>Ú7make_tensor.<locals>.modify_low_high.<locals>.<genexpr>“   s+   é € ÐWÉ;À%Œz˜%¤Ó'×=Ð=¬D¯JªJ°uÓ,=Ô=Ë;ùs   ‚=ž=TFz,`low` and `high` cannot be NaN, but got low=z
 and high=z£Passing `low==high` to `torch.testing.make_tensor` for floating or complex types is deprecated since 2.1 and will be removed in 2.3. Use `torch.full(...)` instead.)Ú
stacklevelz(`low` must be less than `high`, but got z >= z5The value interval specified by `low` and `high` is [z, z), but z only supports [Ú))	ÚanyÚ
ValueErrorÚ_FLOATING_OR_COMPLEX_TYPESÚwarningsÚwarnÚFutureWarningÚ_BOOLEAN_OR_INTEGRAL_TYPESr8   Úceil)r   r   r&   r'   r(   r)   r4   r   s   &&$$$$ €r   Úmodify_low_highÚ$make_tensor.<locals>.modify_low_high   sA  ø€ õ	%ð ’_‰c¨+ˆØÒ'‰t¨\ˆç‹3ÑWÈCÉ;ÓW�3�3Š3ÑWÈCÉ;ÓW×WÒWÜØ?¸3¹&ÀÀdÁWÐMóð ð Œ[˜UÔ&@Ô@Ü�MŠMð1ô Øöð Œ[ÜÐGÈÀuÈDÐQUÐPVÐWÓXÐXØÔ$¨Ô(@ÜØGÈÀuÈBÈtÈfð UØ�gÐ-Ð.>Ð-?¸rÐBSÐATÐTUðWóð ñ
 �CÐ+<Ó=ˆÙ�TÐ->Ó?ˆàÔ.Ô.ô —9’9˜S“>¤4§9¢9¨T£?Ð2Ð2àˆyÐr   .NzaThe parameters `noncontiguous` and `memory_format` are mutually exclusive, but got noncontiguous=z and memory_format=zU`requires_grad=True` is not supported for boolean and integral dtypes, but got dtype=c                 ó   € W,          # r2   © )ÚxÚys   &&r   Ú<lambda>Úmake_tensor.<locals>.<lambda>Á   s   € ÀAÆEr   )r&   r'   r(   r)   )r   r   zThe requested dtype 'z‚' is not supported by torch.testing.make_tensor(). To request support, file an issue at: https://github.com/pytorch/pytorch/issues)r   éÿÿÿÿi÷ÿÿÿ).:é   Nr   ) Úlenr7   ÚcollectionsÚabcÚSequencer   r!   r   rA   rF   Ú	functoolsÚreducer	   r#   ÚrandintÚiinfor3   r   Úint64rB   r   Úemptyr   Ú_COMPLEX_TYPESÚview_as_realÚ_FLOATING_8BIT_TYPESÚfloat32ÚtoÚ	TypeErrorÚcloneÚtinyr   )r   r   r   r   r   r   r   r   r   rH   Úresults   d$$$$$$$*  r   Úmake_tensorre   -   sK  ø€ ÷d1ð 1ôf ˆ5ƒz�Q„œ: e¨A¥h´·±×0HÑ0H×IÒIØ�a•ˆÜ””s˜C�x•¤%¨£,Ó/€Eç˜Ò2Üð&Ø$Ñ&Ð&:¨MÑ+;ð=ó
ð 	
÷
 ˜Ô"<Ô<ÜØdÐ^cÑ]eÐfó
ð 	
ð "×XÐX¤i×&6Ò&6Ñ7IÈ5ÐRSÓ&TÐWXÑ&X€Mßô ”Uœ3 ˜8•_Ð&B¨¨c¨r¨
Ð&B°A¸¸b½	µMÑ&BÓCˆà”—
‘
ÓÜÜ”#”s�(�OÙØØØ!"Ø"#ØØôó

‰	ˆô —’˜s¨%ÀeÔLŠØ	Ô,Ô	,ÜÜ”#”s�(�OÙØØÜ!&§¢¨UÓ!3×!7Ñ!7Ü"'§+¢+¨eÓ"4×"8Ñ"8ð ¤U§[¡[Ó0‘1°aõ	#9ð Øôó
‰	ˆô" —’˜s¨%ÀeÔLŠØ	Ô,Ô	,Ù#ØØÜ"Ÿ[š[¨Ó/×3Ñ3Ü#Ÿkšk¨%Ó0×4Ñ4ØØô
‰	ˆô —’˜U¸Ô?ˆÜØ*/´>Ô*AŒE×Ò˜vÔ&ÀvÈsõ	
ð 
Ô&Ô	&Ù#ØØÜ"Ÿ[š[¨Ó/×3Ñ3Ü#Ÿkšk¨%Ó0×4Ñ4ØØô
‰	ˆô —’˜U¼¿¹ÔGˆÜ˜ dÔ+Ø—‘˜5Ó!‰äØ# E 7ð +_ð _ó
ð 	
÷
 à˜	Õ"‰Ø	Ò	"Ø—‘¨M�Ó:ˆçàÔ4Ô4‰A¼%¿+º+ÀeÓ:L×:QÑ:Qð 	˜‰{Ñð Ô*Ô*Ø,Ôà€Mr   )&Ú__doc__Úcollections.abcrS   rV   r8   rC   Útypingr   r	   Úuint8Úint8Úint16Úint32rZ   Úuint16Úuint32Úuint64Ú_INTEGRAL_TYPESÚfloat16Úbfloat16r_   Úfloat64Ú_FLOATING_TYPESÚfloat8_e4m3fnÚfloat8_e5m2Úfloat8_e4m3fnuzÚfloat8_e5m2fnuzr^   Ú	complex32Ú
bcomplex32Ú	complex64Ú
complex128r\   r#   rF   rB   r   re   rK   r   r   Ú<module>r}      sD  ðñó Û Û Û Ý ã ð 
‡K�KØ	‡J�JØ	‡K�KØ	‡K�KØ	‡K�KØ	‡L�LØ	‡L�LØ	‡L�Lð	€ð —=‘= %§.¡.°%·-±-ÀÇÁÐO€à	×ÑØ	×ÑØ	×ÑØ	×Ñð	Ð ð —/‘/ 5×#3Ñ#3°U·_±_Àe×FVÑFVÐW€Ø#Ÿj™jÐ;¨?Ð;Ð Ø@˜Ð@°Ð@Ð õ%ðgð ð	gð
 ðgð  ðgð  ðgð ðgð 15÷gñ gr   