
    BVh@                     V    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lmZ d Z	y	)
z4Utilities for generating Tensor-valued random seeds.    )constant_op)dtypes)ops)random_seed)	array_ops)math_opsc           
         t        j                  |       \  } }| 't        j                  dt        j
                  d      } n&t        j                  | t        j
                  d      } |*t        j                  dt        j
                  d      }| |fS t        j                  d      5 }t        j                  |t        j
                        }t        j                  t        j                  t        j                  | d      t        j                  |d            t        j                  dt        j
                        ||      }ddd       | |fS # 1 sw Y   | |fS xY w)	a}  Returns the local seeds an operation should use given an op-specific seed.

  See `random_seed.get_seed` for more details. This wrapper adds support for
  the case where `seed` may be a tensor.

  Args:
    seed: An integer or a `tf.int64` scalar tensor.

  Returns:
    A tuple of two `tf.int64` scalar tensors that should be used for the local
    seed of the calling dataset.
  Nr   seed)dtypenameseed2)r   i)r   )r   get_seedr   constantr   int64r   convert_to_tensor
name_scoper   where_v2r   logical_andequal)r
   r   scopes      W/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/data/util/random_seed.pyr   r      s    $$T*+$	\FCD  V\\GD
]  &,,WEE 
u 
	  E##E>e  


nnT1%x~~eQ'?A


y
=
e 
u 
us   )BEEN)
__doc__tensorflow.python.frameworkr   r   r   r   tensorflow.python.opsr   r   r        r   <module>r      s!    ; 3 . + 3 + *r   