o
    ?eK                     @   sT   d 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 Zd	d
 Z	dS )z5Miscellaneous utilities that don't fit anywhere else.    )ops)tensor)	array_ops)gen_math_ops)math_opsc                     sF   dd  t | dkr fdd| D S t | dkr | d S td)aI  Wraps any Tensor arguments with an identity op.

  Any other argument, including Variables, is returned unchanged.

  Args:
    *args: Any arguments. Must contain at least one element.

  Returns:
    Same as *args, with Tensor instances replaced as described.

  Raises:
    ValueError: If args doesn't meet the requirements.
  c                 S   s   t | tjrt| S | S N)
isinstancer   ZTensorr   identity)a r   g/home/www/facesmatcher.com/pyenv/lib/python3.10/site-packages/tensorflow/python/autograph/utils/misc.pyalias_if_tensor'   s   z&alias_tensors.<locals>.alias_if_tensor   c                 3   s    | ]} |V  qd S r   r   ).0r
   r   r   r   	<genexpr>-   s    z alias_tensors.<locals>.<genexpr>r   zat least one argument required)len
ValueError)argsr   r   r   alias_tensors   s   r   c                 C   sP   t ||  }|| }tt|| t||j}|| }t	|t|S r   )
r   Zconvert_to_tensorr   castr   	not_equalr   Z
zeros_likeZdtypemaximum)startlimitdeltadistZunadjusted_lenZ
adjustmentZ	final_lenr   r   r   get_range_len4   s   
r   N)
__doc__Ztensorflow.python.frameworkr   r   Ztensorflow.python.opsr   r   r   r   r   r   r   r   r   <module>   s   