B
    ٻd@                 @   sX   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d	 Z	d
S )z4Utilities for generating Tensor-valued random seeds.    )constant_op)dtypes)ops)random_seed)	array_ops)math_opsc          	   C   s   t | \} }| dkr*tjdtjdd} ntj| tjdd} |dkrXtjdtjdd}n\tdL}tj|tjd}t	j
tt| dt|dtjdtjd||d}W dQ R X | |fS )	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   Zconstantr   Zint64r   Zconvert_to_tensorZ
name_scoper   Zwhere_v2r   logical_andequal)r   r   scope r   Y/var/www/html/venv/lib/python3.7/site-packages/tensorflow/python/data/util/random_seed.pyr      s    r   N)
__doc__Ztensorflow.python.frameworkr   r   r   r   Ztensorflow.python.opsr   r   r   r   r   r   r   <module>   s   