Ë
    1²jœB  ã                  ó,  — d dl mZ ddlmZmZ ddlmZ ddlmZ ed„ «       Zed„ «       Z	 eej                  «      Zej                  ed	„ «       «       Zej                  e ej                  d
«      d„ «       «       «       Zej                  e ej                  d«      dFd„«       «       «       Zej                  edGd„«       «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zej                  e ej2                  ddd¬«      dHd„«       «       «       Zej                  e ej2                  dd¬«      dId„«       «       «       Zed „ «       Zed!„ «       Zed"„ «       Zed#„ «       Zej                  e ej2                  d$dd¬«      dHd%„«       «       «       Z ej                  e ej2                  d&d¬«      dId'„«       «       «       Z!ed(„ «       Z"ed)„ «       Z#ej                  e ej2                  d*d+¬,«      dJdKd-„«       «       «       Z$ed.„ «       Z%ej                  e ej2                  d/«      dLd0„«       «       «       Z&ed1„ «       Z'ej                  e ej2                  d2«      dGd3„«       «       «       Z(ej                  e ejR                  d4d+¬,«      dMdKd5„«       «       «       Z*ed6„ «       Z+ej                  e ejR                  d7«      dNd8„«       «       «       Z,edOd9„«       Z-edPd:„«       Z.edQd;„«       Z/edRd<„«       Z0eddejb                  fdSd=„«       Z2edejb                  fdTd>„«       Z3edUdVd?„«       Z4edejb                  fdTd@„«       Z5edA„ «       Z6ej                  edUdB„«       «       Z7edC„ «       Z8edWdD„«       Z9edWdE„«       Z:y)Xé    )Úannotationsé   )ÚjitÚconstexpr_functioné   )Úcore)Úmathc                ó8   — d}| }|dkD  r|dz  }|dz  }|dkD  rŒ|S )Nr   r   © )ÚiÚlog2Úns      úW/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/triton/language/standard.pyÚ_log2r   
   s5   € à€DØ	€AØ
ˆaŠ%Ø	ˆa‰ˆØ�‰	ˆð ˆa‹%ð €Kó    c                ó&   — | | dz
  z  dk(  xr | dk7  S ©Nr   r   r   )r   s    r   Ú_is_power_of_twor      s   € à��Q‘‰K˜AÑÒ( ! q¡&Ð(r   c                ó   — | |dz
  z   |z  S )z§
    Computes the ceiling division of :code:`x` by :code:`div`

    :param x: the input number
    :type x: Block
    :param div: the divisor
    :type div: Block
    r   r   )ÚxÚdivs     r   Úcdivr       s   € ð ��q‘‰M˜cÑ!Ð!r   Úsigmoidc                ó:   — ddt        j                  |  «      z   z  S ©Nr   )r	   Úexp)r   s    r   r   r   .   s   € ð �”D—H‘H˜a˜R“LÑ Ñ!Ð!r   ÚsoftmaxNc                ó¦   — |€d}n|}| t        | ||¬«      z
  }t        j                  |«      }t        |||¬«      }t        j                  |||«      S )Nr   ©Ú	keep_dims)Úmaxr	   r   ÚsumÚfdiv)r   Údimr    Úieee_roundingÚ_dimÚzÚnumÚdens           r   r   r   5   sT   € ð €{Ø ‰à"ˆØ	ŒC��4 9Ô-Ñ-€AÜ
�(‰(�1‹+€CÜ
ˆc�4 9Ô
-€CÜ�9‰9�S˜#˜}Ó-Ð-r   c                óH   — t        j                  | | j                  g|¬«      S )zn
    Returns a contiguous flattened view of :code:`x`.

    :param x: the input tensor
    :type x: Block
    )Úcan_reorder)r   ÚreshapeÚnumel)r   r+   s     r   Úravelr.   C   s   € ô �<‰<˜˜AŸG™G˜9°+Ô>Ð>r   c                óŽ   — | |z  |z   }||z  }||z  }||z  }t        j                  ||z
  |«      }||z  }|||z  z   }	||z  }
|	|
fS )aÝ  
    Transforms the indices of a row-major `size_i * size_j` matrix into
    the indices of a column-major matrix for each group of `size_g` rows.

    For example, for :code:`size_i = size_j = 4` and :code:`size_g = 2`, it will
    transform ::

        [[0 , 1 , 2 , 3 ],
         [4 , 5 , 6 , 7 ],
         [8 , 9 , 10, 11],
         [12, 13, 14, 15]]

    into ::

        [[0, 2,  4 , 6 ],
         [1, 3,  5 , 7 ],
         [8, 10, 12, 14],
         [9, 11, 13, 15]]
    ©r   Úminimum)r   ÚjÚsize_iÚsize_jÚsize_gÚijÚsize_gjÚgroup_idÚoff_iÚnew_iÚnew_js              r   Ú	swizzle2dr<   O   sm   € ð, 
ˆV‰�a‰€Bð �v‰o€Gà�W‰}€Hà�vÑ€Eä�\‰\˜& 5™.¨&Ó1€Fà	ˆg‰€Bà�B˜‘KÑ€EØ�&‰L€EØ�%ˆ<Ðr   c                ó0   — t        j                  | d|«      S )a'  
    Returns a tensor filled with the scalar value 0 for the given :code:`shape` and :code:`dtype`.

    :param shape: Shape of the new array, e.g., (8, 16) or (8, )
    :type shape: tuple of ints
    :param dtype: Data-type of the new array, e.g., :code:`tl.float16`
    :type dtype: DType
    r   )r   Úfull)ÚshapeÚdtypes     r   ÚzerosrA   w   s   € ô �9‰9�U˜A˜uÓ%Ð%r   c                óB   — t        | j                  | j                  «      S )z‹
    Returns a tensor of zeros with the same shape and type as a given tensor.

    :param input: input tensor
    :type input: Tensor
    )rA   r?   r@   )Úinputs    r   Ú
zeros_likerD   „   s   € ô �—‘˜eŸk™kÓ*Ð*r   c                óš   — |r| |k(  xr ||k  }nd}| |kD  xs |}t        j                  || |«      }t        j                  |||«      }||fS ©NF©r   Úwhere)	Úvalue1Úindex1Úvalue2Úindex2Útie_break_leftÚtieÚgtÚv_retÚi_rets	            r   Ú_argmax_combinerR   ’   sY   € áØ˜ÑÒ2 6¨F¡?‰àˆØ	�&‰Ò	˜C€BÜ�J‰J�r˜6 6Ó*€EÜ�J‰J�r˜6 6Ó*€EØ�%ˆ<Ðr   c                ó    — t        | |||d«      S ©NT©rR   ©rI   rJ   rK   rL   s       r   Ú_argmax_combine_tie_break_leftrW   ž   ó   € ä˜6 6¨6°6¸4Ó@Ð@r   c                ó    — t        | |||d«      S rF   rU   rV   s       r   Ú_argmax_combine_tie_break_fastrZ   £   ó   € ä˜6 6¨6°6¸5ÓAÐAr   c                ó.   — t        j                  | |«      S ©N)r   Úmaximum©ÚaÚbs     r   Ú_elementwise_maxrb   ¨   ó   € ä�<‰<˜˜1ÓÐr   r^   Úreturn_indicesÚreturn_indices_tie_break_left)Úreturn_indices_argÚtie_break_argc                óz  — t        j                  | «      } |r<|rt        j                  | |t        |¬«      S t        j                  | |t        |¬«      S t        j
                  | j                  j                  «      t        j
                  d«      k  r�t        j
                  | j                  j                  «       «      r | j                  t         j                  «      } n@| j                  j                  «       sJ d«       ‚| j                  t         j                  «      } t        j                  | |t        |¬«      S ©Nr   é    z"Expecting input to be integer type)r   Ú_promote_bfloat16_to_float32Ú_reduce_with_indicesrW   rZ   Ú	constexprr@   Úprimitive_bitwidthÚis_floatingÚtoÚfloat32Úis_intÚint32Úreducerb   ©rC   Úaxisrd   re   r    s        r   r!   r!   ­   sß   € ô
 ×-Ñ-¨eÓ4€EÙÙ(Ü×,Ñ,¨U°DÔ:XÐdmÔnÐnä×,Ñ,¨U°DÔ:XÐdmÔnÐnä�>‰>˜%Ÿ+™+×8Ñ8Ó9¼D¿N¹NÈ2Ó<NÒNÜ�~‰~˜eŸk™k×5Ñ5Ó7Ô8ØŸ™¤§¡Ó.‘à—{‘{×)Ñ)Ô+ÐQÐ-QÓQÐ+ØŸ™¤§¡Ó,�Ü�{‰{˜5 $Ô(8ÀIÔNÐNr   zmaximum indexrM   )rg   c                ó,   — t        | |d||¬«      \  }}|S ©NT)rd   re   r    )r!   ©rC   rv   rM   r    Ú_Úrets         r   Úargmaxr|   Â   s!   € ô �5˜$¨tÐSaÐmvÔw�H€QˆØ€Jr   c                óš   — |r| |k(  xr ||k  }nd}| |k  xs |}t        j                  || |«      }t        j                  |||«      }||fS rF   rG   )	rI   rJ   rK   rL   rM   rN   ÚltÚ	value_retÚ	index_rets	            r   Ú_argmin_combiner�   Í   sZ   € áØ˜ÑÒ2 6¨F¡?‰àˆØ	�&‰Ò	˜C€BÜ—
‘
˜2˜v vÓ.€IÜ—
‘
˜2˜v vÓ.€IØ�iÐÐr   c                ó    — t        | |||d«      S rT   ©r�   rV   s       r   Ú_argmin_combine_tie_break_leftr„   Ù   rX   r   c                ó    — t        | |||d«      S rF   rƒ   rV   s       r   Ú_argmin_combine_tie_break_fastr†   Þ   r[   r   c                ó.   — t        j                  | |«      S r]   r0   r_   s     r   Ú_elementwise_minrˆ   ã   rc   r   r1   c                óT  — t        j                  | «      } |r<|rt        j                  | |t        |¬«      S t        j                  | |t        |¬«      S t        j
                  | j                  j                  «      dk  r�t        j
                  | j                  j                  «       «      r | j                  t         j                  «      } n@| j                  j                  «       sJ d«       ‚| j                  t         j                  «      } t        j                  | |t        |¬«      S ri   )r   rk   rl   r„   r†   rm   r@   rn   ro   rp   rq   rr   rs   rt   rˆ   ru   s        r   ÚminrŠ   è   sÖ   € ô
 ×-Ñ-¨eÓ4€EÙÙ(Ü×,Ñ,¨U°DÔ:XÐdmÔnÐnä×,Ñ,¨U°DÔ:XÐdmÔnÐnä�>‰>˜%Ÿ+™+×8Ñ8Ó9¸BÒ>Ü�~‰~˜eŸk™k×5Ñ5Ó7Ô8ØŸ™¤§¡Ó.‘à—{‘{×)Ñ)Ô+ÐQÐ-QÓQÐ+ØŸ™¤§¡Ó,�Ü�{‰{˜5 $Ô(8ÀIÔNÐNr   zminimum indexc                ó,   — t        | |d||¬«      \  }}|S rx   )rŠ   ry   s         r   ÚargminrŒ   ý   s!   € ô �˜¨TÐQ_ÐktÔu�F€A€sØ€Jr   c                ó   — | |z   S r]   r   r_   s     r   Ú_sum_combinerŽ     ó   € àˆq‰5€Lr   c                óÞ   — |�|S d }| j                  «       r%| j                  dk  rt        j                  }|S d }|S | j	                  «       r!| j                  dk  rt        j
                  nd }|S )Nrj   )Úis_int_signedÚint_bitwidthr   rs   Úis_int_unsignedÚuint32)Úin_dtyper@   Ú	out_dtypes      r   Ú_pick_sum_dtyper—     s{   € àÐØˆð €IØ×ÑÔØ"*×"7Ñ"7¸"Ò"<”D—J‘Jˆ	ð Ðð CGˆ	ð Ðð 
×	!Ñ	!Ô	#Ø#+×#8Ñ#8¸2Ò#=”D—K’KÀ4ˆ	ØÐr   r"   r@   )Ú	dtype_argc                óŽ   — t        | j                  |«      }|�| j                  |«      } t        j                  | |t
        |¬«      S )Nr   )r—   r@   rp   r   rt   rŽ   )rC   rv   r    r@   r–   s        r   r"   r"     s=   € ô
 !0°·±¸UÓ C€IàÐØ—‘˜Ó#ˆÜ�;‰;�u˜d¤L¸IÔFÐFr   c                ó   — | |z  S r]   r   r_   s     r   Ú_xor_combiner›   (  r�   r   zxor sumc                ó¬   — t        j                  | j                  j                  j	                  «       d«       t        j
                  | |t        |¬«      S )Nz#xor_sum only supported for integersr   )r   Ústatic_assertÚtypeÚscalarrr   rt   r›   ©rC   rv   r    s      r   Úxor_sumr¡   0  s=   € ô 	×Ñ�u—z‘z×(Ñ(×/Ñ/Ó1Ð3XÔYÜ�;‰;�u˜d¤L¸IÔFÐFr   c                ó   — | |z  S r]   r   )r   Úys     r   Ú_or_combiner¤   ;  r�   r   Ú	reduce_orc                ó¬   — t        j                  | j                  j                  j	                  «       d«       t        j
                  | |t        |¬«      S )Nz%reduce_or only supported for integersr   )r   r�   rž   rŸ   rr   rt   r¤   r    s      r   r¥   r¥   @  s=   € ô 	×Ñ�u—z‘z×(Ñ(×/Ñ/Ó1Ð3ZÔ[Ü�;‰;�u˜d¤K¸9ÔEÐEr   Úcumsumc                ó¶   — t        j                  | «      } t        | j                  |«      }|�| j	                  |«      } t        j
                  | |t        |«      S r]   )r   rk   r—   r@   rp   Úassociative_scanrŽ   )rC   rv   Úreverser@   r–   s        r   r§   r§   K  sO   € ô ×-Ñ-¨eÓ4€EÜ /°·±¸UÓ C€IàÐØ—‘˜Ó#ˆä× Ñ  ¨¬l¸GÓDÐDr   c                ó   — | |z  S r]   r   r_   s     r   Ú_prod_combiner¬   ]  r�   r   Úcumprodc                ód   — t        j                  | «      } t        j                  | |t        |«      S r]   )r   rk   r©   r¬   )rC   rv   rª   s      r   r­   r­   b  s+   € ô
 ×-Ñ-¨eÓ4€EÜ× Ñ  ¨¬m¸WÓEÐEr   c                óˆ   — t        j                  dd«      }t        j                  |dg| |z
  dz
  z  dgz   dg|z  z   «      }|S )Nr   r   r   )r   Úaranger,   )Ún_dimsr2   Úars      r   Ú
_indicatorr³   n  sH   € ä	�‰�Q˜Ó	€BÜ	�‰�b˜1˜# ¨!¡¨a¡Ñ0°A°3Ñ6¸!¸¸q¹Ñ@Ó	A€BØ€Ir   c                óV  — t        | j                  «      }t        | j                  j                  d¬«      }| j                  |d¬«      }|t        ||dz
  |z
  d«      z  }|j                  | j                  d¬«      }t        ||«      }t        j                  | |kD  ||z  k7  || «      }	|	S )NT©ÚbitwidthÚsigned©Úbitcastr   )
r   r-   Ú_get_int_dtyper@   rn   rp   r¡   r³   r   rH   )
r   Úflipr   r±   ÚidtypeÚixÚiyr£   Úis_rightr{   s
             r   Ú_compare_and_swaprÀ   u  s    € ô # 1§7¡7›^€Fô  Q§W¡W×%?Ñ%?ÈÔM€FØ	
�‰ˆf˜dˆÓ	#€BØ	Œg�b˜& 1™* q™.¨$Ó/Ñ	/€BØ
�‰ˆa�g‰g˜tˆÓ$€Aô ˜& !Ó$€Hô �*‰*�a˜!‘e ¨¡Ñ1°1°aÓ
8€CØ€Jr   c                ó®   — |dk(  r t        t        | j                  «      |«      }n|}t        j                  |«      D ]  }t        | ||dz
  |z
  «      } Œ | S )zb
    order_type 0 == ascending
    order_type 1 == descending
    order_type 2 == alternating
    r   r   )r³   r   r-   r   Ústatic_rangerÀ   )r   ÚstageÚorderr»   r   s        r   Ú_bitonic_merge_hypercuberÅ   ˆ  sY   € ð �‚zÜœ% §¡›.¨%Ó0‰àˆä×Ñ˜uÓ%ò 6ˆÜ˜a  u¨q¡y°1¡}Ó5‰ð6à€Hr   c                óº   — t        j                  | dgt        | j                  «      z  «      }t	        |||«      }t        j                  || j
                  «      } | S )Nr   )r   r,   r   r-   rÅ   r?   )r   rÃ   rÄ   r±   Úhs        r   Ú_bitonic_mergerÈ   ž  sH   € ä�‰�Q˜˜œe A§G¡G›nÑ,Ó-€AÜ   E¨5Ó1€AÜ�‰�Q˜Ÿ™Ó €AØ€Hr   c                ó  — |€t        | j                  «      dz
  n|}t        j                  |t        | j                  «      dz
  k(  d«       t	        | j                  |   «      }|€|n
t	        |«      }t	        | j
                  «      }t        j                  | |rdg|z  ndg«      }t        j                  d|dz   «      D ]  }	t        ||	|	|k  rdn|«      }Œ t        j                  |dz   |dz   «      D ]d  }	|r&t        |t	        |j
                  «      dz
  |z
  ¬«      n%t        |t	        |j
                  «      dz
  |z
  ¬«      }t        |||	|k  rdn|«      }Œf t        j                  || j                  dd d|z  gz   «      } | S )ai  
    Sorts a tensor along a specified dimension.

    :param x: The input tensor to be sorted.
    :type x: Tensor
    :param dim: The dimension along which to sort the tensor. If None, the tensor is sorted along the last dimension. Currently, only sorting along the last dimension is supported.
    :type dim: int, optional
    :param k: the number of top elements to select. If none, assume k = x.shape[dim]
    :type k: int, optional
    :param descending: If set to True, the tensor is sorted in descending order. If set to False, the tensor is sorted in ascending order.
    :type descending: bool, optional
    Nr   ú+only minor dimension is currently supportedr   )rv   éÿÿÿÿ)Úlenr?   r   r�   r   r-   r,   rÂ   rÅ   r!   rŠ   )
r   Úkr$   Ú
descendingr&   Úlog_nÚlog_kr±   rÇ   r   s
             r   Ú	sort_implrÑ   ¦  sq  € ð 03¨{œ3˜qŸw™w›<¨!Ò+À€DÜ×Ñ�tœs 1§7¡7›|¨aÑ/Ñ/Ð1^Ô_ä! !§'¡'¨$¡-Ó0€EØ%& Y™E´E¸!³H€Eä" 1§7¡7›^€Fô 	�‰�Q©˜˜˜fš°Q°CÓ8€Aô ×Ñ˜q %¨!¡)Ó,ò KˆÜ$ Q¨°°E²	©1¸zÓJ‰ðKô
 ×Ñ˜u q™y¨%°!©)Ó4ò OˆÙ9CŒC�œ˜qŸw™w›¨!Ñ+¨eÑ3Õ5ÌÈQÔV[Ð\]×\cÑ\cÓVdÐghÑVhÐkpÑVpÔIrˆÜ$ Q¨°A¸²I©qÀ:ÓN‰ðOô
 	�‰�Q˜Ÿ™  ˜¨¨5© zÑ1Ó2€AØ€Hr   c                ó   — t        | ||¬«      S )N)r$   rÎ   ©rÑ   )r   r$   rÎ   s      r   ÚsortrÔ   Ï  s   € ä�Q˜C¨JÔ7Ð7r   c                ó    — t        | ||d¬«      S )að  
    Returns the k largest elements of the input tensor along the specified dimension.

    The elements are returned in sorted order (largest first).

    :param x: The input tensor.
    :type x: Tensor
    :param k: The number of top elements to return. Must be a power of two.
    :type k: int
    :param dim: The dimension along which to find the top k elements.
                If None, uses the last dimension. Currently only the last dimension is supported.
    :type dim: int, optional
    :return: A tensor containing the k largest elements along the specified dimension.
    :rtype: Tensor

    Example::

        # Get top 4 elements from a 1D tensor
        x = tl.arange(0, 16)
        top4 = tl.topk(x, 4)  # Returns [15, 14, 13, 12]
    T)rÍ   r$   rÎ   rÓ   )r   rÍ   r$   s      r   ÚtopkrÖ   Ô  s   € ô. �Q˜! °Ô6Ð6r   c                óä   — |€t        | j                  «      dz
  n|}t        j                  |t        | j                  «      dz
  k(  d«       t	        | j                  d   «      }t        | |||«      S )Nr   rÊ   rË   )rÌ   r?   r   r�   r   rÈ   )r   r$   rÎ   r&   r±   s        r   Úbitonic_mergerØ   î  sb   € ð 03¨{œ3˜qŸw™w›<¨!Ò+À€DÜ×Ñ�tœs 1§7¡7›|¨aÑ/Ñ/Ð1^Ô_Ü" 1§7¡7¨2¡;Ó/€FÜ˜!˜V Z°Ó8Ð8r   c                óL   — | €t        |«      dz
  } | dk  r| t        |«      z  } | S r   )rÌ   )r$   r?   s     r   Ú_get_flip_dimrÚ   ÷  s.   € à
€{Ü�%‹j˜1‰nˆØ
ˆQ‚wØŒs�5‹zÑˆØ€Jr   c                óò  — t        j                  t        | j                  «       |k  xr |t        | j                  «      k  «       t	        || j                  «      }t        j                  t        | j                  |   «      «       t        | j                  |   «      }t        | j                  j                  d¬«      }t        j                  | j                  |d¬«      | j                  d| dg|z  z   | j                  |dz   d z   «      }t        j                  |«      D ]  }|t        |||z   d«      z  }Œ t        j                  || j                  «      j                  | j                  d¬«      } | S )z¯
    Flips a tensor `x` along the dimension `dim`.

    :param x: the first input tensor
    :type x: Block
    :param dim: the dimension to flip along
    :type dim: int
    Trµ   r¸   Nr   r   )r   r�   rÌ   r?   rÚ   r   r   rº   r@   rn   r,   rp   rÂ   r¡   )r   r$   r&   Ústepsr¼   r£   r   s          r   r»   r»      s4  € ô 	×Ñœ˜AŸG™G›�}¨Ñ+ÒB°´c¸!¿'¹'³lÑ0BÔCÜ(¨¨a¯g©gÓ6€DÜ×ÑÔ'¨¯©°©Ó6Ô7Ü! !§'¡'¨$¡-Ó0€Eô  Q§W¡W×%?Ñ%?ÈÔM€FÜ�‰�Q—T‘T˜&¨$�TÓ/°·±¸¸$°À1À#ÈÁ+Ñ1MÐPQ×PWÑPWÐX\Ð_`ÑX`ÐXaÐPbÑ1bÓc€AÜ×Ñ˜uÓ%ò +ˆØ”˜˜4 !™8 TÓ*Ñ*‰ð+ä�‰�Q˜Ÿ™Ó ×#Ñ# A§G¡G°TÐ#Ó:€AØ€Hr   c                óÐ   — t        j                  | |«      }t        |j                  «      dk(  r|S t        j                  ||j                  dd d|j                  d   z  gz   «      S )a7  
    Interleaves the values of two tensors along their last dimension. The two tensors must have the same shape.
    Equivalent to `tl.join(a, b).reshape(a.shape[:-1] + [2 * a.shape[-1]])`

    :param a: The first input tensor.
    :type a: Tensor
    :param b: The second input tensor.
    :type b: Tensor
    r   Néþÿÿÿr   )r   ÚjoinrÌ   r?   r,   )r`   ra   Úcs      r   Ú
interleaverá     sY   € ô 	�	‰	�!�Q‹€Aä
ˆ1�7‰7ƒ|�qÒàˆô
 �|‰|˜A˜qŸw™w s¨˜|¨q°1·7±7¸2±;©Ð.?Ñ?Ó@Ð@r   c                ó®   — t        j                  | j                  |   dk(  «       | j                  | j                  d | | j                  |dz   d  z   «      S r   )r   r�   r?   r,   ©r   r$   s     r   Úsqueezerä   0  sJ   € ä×Ñ�q—w‘w˜s‘| qÑ(Ô)Ø�9‰9�Q—W‘W˜T˜c�] Q§W¡W¨S°1©W¨XÐ%6Ñ6Ó7Ð7r   c                ód   — | j                  | j                  d | dz   | j                  |d  z   «      S )N)r   )r,   r?   rã   s     r   Ú	unsqueezeræ   6  s/   € à�9‰9�Q—W‘W˜T˜c�] UÑ*¨Q¯W©W°S°T¨]Ñ:Ó;Ð;r   )NFF)F)NFTF)TF)NFN)r@   úcore.constexprrF   )r   FN)r   F)r±   rç   r2   rç   )r   rç   )rÃ   rç   rÄ   rç   )rÃ   rç   rÄ   rç   r±   rç   )rÍ   rç   r$   rç   rÎ   rç   )r$   rç   rÎ   rç   r]   )rÍ   rç   r$   rç   )r$   rç   );Ú
__future__r   Úruntime.jitr   r   Ú r   r	   r   r   Úget_int_dtyperº   Ú_tensor_member_fnr   Ú_add_math_1arg_docstrr   r   r.   r<   rA   rD   rR   rW   rZ   rb   Ú_add_reduction_docstrr!   r|   r�   r„   r†   rˆ   rŠ   rŒ   rŽ   r—   r"   r›   r¡   r¤   r¥   Ú_add_scan_docstrr§   r¬   r­   r³   rÀ   rÅ   rÈ   ÚCONSTEXPR_0rÑ   rÔ   rÖ   rØ   rÚ   r»   rá   rä   ræ   r   r   r   ú<module>rñ      sœ  ðÝ "ç 1Ý Ý ð
 ñó ðð ñ)ó ð)ñ $ D×$6Ñ$6Ó7€ð ×ÑØñ	"ó ó ð	"ð ×ÑØØ€×Ñ˜IÓ&ñ"ó 'ó ó ð"ð ×ÑØØ€×Ñ˜IÓ&ò.ó 'ó ó ð.ð ×ÑØò?ó ó ð?ð ñ$ó ð$ðN ñ	&ó ð	&ð ñ+ó ð+ð ñó ðð ñAó ðAð ñBó ðBð ñó ðð ×ÑØØ€×Ñ˜IÐ:JØ*IôKòOóKó ó ðOð" ×ÑØØ€×Ñ˜OÐ;KÔLòó Mó ó ðð ñ ó ð ð ñAó ðAð ñBó ðBð ñó ðð ×ÑØØ€×Ñ˜IÐ:JØ*IôKòOóKó ó ðOð" ×ÑØØ€×Ñ˜OÐ;KÔLòó Mó ó ðð
 ñó ðð ñó ðð ×ÑØØ€×Ñ˜E¨WÔ5óGó 6ó ó ðGð ñó ðð ×ÑØØ€×Ñ˜IÓ&òGó 'ó ó ðGð ñó ðð ×ÑØØ€×Ñ˜KÓ(òFó )ó ó ðFð ×ÑØØ€×Ñ�x¨7Ô3ó	Eó 4ó ó ð	Eð ñó ðð ×ÑØØ€×Ñ�yÓ!òFó "ó ó ðFð òó ðð òó ðð$ òó ðð* òó ðð Ø%)ÀÐdh×dtÑdtó %ó ð%ðP Ø"&ÀT×EUÑEUó 8ó ð8ð ó7ó ð7ð2 Ø+/Èd×N^ÑN^ó 9ó ð9ð ñó ðð ×ÑØòó ó ðð. ñAó ðAð, ò8ó ð8ð
 ò<ó ñ<r   