
    AVh=                        d Z ddl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	lmZ ej                  Z ej                  d
g        ej                   d      d               Z ej                  dg        ej                   d      d               Z ej                  dg        ej                   d      d#d              Z ej                  dg        ej                   d      d$d              Z ej                  dg        ej                   d      d%d              Z ej                  dg        ej                   d      d#d              Z ej                  dg        ej                   d      d               Z ej                  d g        ej                   d!      ddej0                  fd"              Zy)&zRandom functions.    N)random_seed)	array_ops)
random_ops)np_array_ops)	np_dtypes)np_utils)	tf_exportzexperimental.numpy.random.seed)v1zrandom.seedc                 ~    	 t        |       } t        j                  |        y# t        $ r t        d|  d      w xY w)zkSets the seed for the random number generator.

  Uses `tf.set_random_seed`.

  Args:
    s: an integer.
  z"Argument `s` got an invalid value z. Only integers are supported.N)int	TypeError
ValueErrorr   set_seed)ss    Y/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/ops/numpy_ops/np_random.pyseedr   !   sK    AA q 
 

,QC/MN s   # <zexperimental.numpy.random.randnzrandom.randnc                      t        |       S )zReturns samples from a normal distribution.

  Uses `tf.random_normal`.

  Args:
    *args: The shape of the output array.

  Returns:
    An ndarray with shape `args` and dtype `float64`.
  size)standard_normal)argss    r   randnr   5   s     
d	##    z)experimental.numpy.random.standard_normalzrandom.standard_normalc                     | d} nt        j                  |       r| f} t        j                  t              }t	        j
                  | |      S )N dtype)r   isscalarresult_typefloatr   random_normal)r   r   s     r   r   r   E   sF     
\D7D


u
%%		!	!$e	44r   z!experimental.numpy.random.uniformzrandom.uniformc                    t        j                  t              }t        j                  | |      } t        j                  ||      }|*t        j                  | j                  |j                        }t        j                  || ||      S )Nr   shapeminvalmaxvalr   )
r   r   r    r   asarrayr   broadcast_dynamic_shaper$   r   random_uniform)lowhighr   r   s       r   uniformr,   Q   ss     

u
%%S.#			d%	0$	\,,SYY

CD		"	"T
 r   z!experimental.numpy.random.poissonzrandom.poissonc                     |d}nt        j                  |      r|f}t        j                  || t        j
                        S )Nr   )r$   lamr   )r   r   r   random_poissonr   int_)r.   r   s     r   poissonr1   ^   s<     
\D7D		"	"3inn	MMr   z experimental.numpy.random.randomzrandom.randomc                     t        dd|       S N              ?r,   r   s    r   randomr7   h        
c4	  r   zexperimental.numpy.random.randzrandom.randc                      t        dd|       S r3   r6   r   s    r   randr:   n   r8   r   z!experimental.numpy.random.randintzrandom.randintc                     t        |       } || }d} |d}nt        |t               r|f}|}t        j                  |      }t        j
                  t        j                  f}||vrt        d| d| d      t        j                  || ||      S )Nr   r   z&Argument `dtype` got an invalid value z. Only those convertible to z are supported.r#   )
r   
isinstancer   r   onpint32int64r   r   r)   )r*   r+   r   r   
dtype_origaccepted_dtypess         r   randintrB   t   s     	C#	\D
C	\D$7D*


u
%%YY		*/
/!

0 =)*/	;  
	"	"T
 r   )N)r4   r5   N)r5   N)__doc__numpyr=   tensorflow.python.frameworkr   tensorflow.python.opsr   r   tensorflow.python.ops.numpy_opsr   r   r   tensorflow.python.utilr	   float32DEFAULT_RANDN_DTYPEnp_docr   r   r   r,   r1   r7   r:   r?   rB   r   r   r   <module>rL      s     3 + , 8 5 4 , kk  5"=   >$ 62> $ ! ?$ @RH)*5 + I5 8R@!" # A 8R@!"N # AN 7B?!! " @! 5"=!   >! 8R@!"SYY  # Ar   