
    VhO                         d Z ddlZddlmZmZmZmZmZmZ	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z(m)Z)m)Z*m+Z+m,Z, ddl-m.Z.m/Z/ d Z0d Z1y)zExport torch work functions for binary ufuncs, rename/tweak to match numpy.
This listing is further exported to public symbols in the `torch._numpy/_ufuncs.py` module.
    N)'addarctan2bitwise_andbitwise_left_shift
bitwise_orbitwise_right_shiftbitwise_xorcopysigndivideeqfloat_powerfloor_dividefmaxfminfmodgcdgreatergreater_equal	heavisidehypotlcmldexpless
less_equal	logaddexp
logaddexp2logical_and
logical_orlogical_xormaximumminimummultiply	nextafter	not_equalpow	remainderr&   subtracttrue_divide   )_dtypes_impl_utilc                    t        j                  | |      }|t        j                  k(  }| j                  t        j
                  k(  xs |j                  t        j
                  k(  xr | j                  xs |j                  }|}|rt        j                  }|rt        j                  }t        j                  | |      } t        j                  ||      }t        j                  | |      }||k7  r|j                  |      }|S N)r*   result_type_impltorchbooldtypefloat16is_cpuuint8float32r+   cast_if_neededmatmulto)xyr1   is_boolis_half
work_dtyperesults          P/home/dcms/DCMS/lib/python3.12/site-packages/torch/_numpy/_binary_ufuncs_impl.pyr7   r7   6   s    
 ))!Q/Euzz!Gww%--'C177emm+C 	AHH  J[[
]]
Q
+AQ
+A\\!QFU5!M    c                     | |z  | |z  fS r-    )r9   r:   s     r?   divmodrC   T   s    61q5=r@   )2__doc__r/   r   r   r   r   
left_shiftr   r   right_shiftr	   r
   r   r   equalr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   powerr&   modr'   r(    r*   r+   r7   rC   rB   r@   r?   <module>rK      sV    ( ( ( ( ( ( ( ( ( ( (T "<r@   