
    BVhK                     P    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 Zd Z	y	)
z5Miscellaneous utilities that don't fit anywhere else.    )ops)tensor)	array_ops)gen_math_ops)math_opsc                      d t        |       dkD  rf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                 d    t        | t        j                        rt        j                  |       S | S N)
isinstancer   Tensorr   identity)as    V/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/autograph/utils/misc.pyalias_if_tensorz&alias_tensors.<locals>.alias_if_tensor'   s%    $.q&--$@9a GaG       c              3   .   K   | ]  } |        y wr
    ).0r   r   s     r   	<genexpr>z alias_tensors.<locals>.<genexpr>-   s     -1OA-s   r   zat least one argument required)len
ValueError)argsr   s    @r   alias_tensorsr      sG    H
 	Y]---
4yA~47##344r   c                 ,   t        j                  || z
        }||z  }t        j                  t	        j
                  ||z  t        j                  |            |j                        }||z   }t	        j                  |t        j                  |            S r
   )
r   convert_to_tensorr   castr   	not_equalr   
zeros_likedtypemaximum)startlimitdeltadistunadjusted_len
adjustment	final_lens          r   get_range_lenr)   4   s    			uu}	-$5=.}}TE\&11.ACDHJJP* z))			i)=)=i)H	IIr   N)
__doc__tensorflow.python.frameworkr   r   tensorflow.python.opsr   r   r   r   r)   r   r   r   <module>r-      s$    < + . + . *58Jr   