
    ij                         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 Z
ddZdd	Zdd
ZddZddZd ZddZddZddZddZddZy)    N)standardize_dtype)floatx)SeedGenerator)	draw_seed)make_default_seedc                     t        | j                        dk(  r| S t        j                  t        j                  j                  | t        j                  j                  dz
        d      } | S )Nint32   dtype)r   r   tfcastmathfloormodr	   maxseeds    x/var/www/html/emotional.easysim.app/public_html/venv/lib/python3.12/site-packages/keras/src/backend/tensorflow/random.py
_cast_seedr   
   sM     $/wwrww''bhhllQ.>?wO    c                     |xs
 t               }t        t        |            }t        j                  j                  | ||||      S Nshapemeanstddevr   r   )r   r   r   r   randomstateless_normalr   s        r   normalr      sC    VXEio&D99%%$vU &  r   c                     |xs
 t               }t        t        |            }t        j                  j                  | t        j                  ||      t        j                  ||      ||      S )Nr   minvalmaxvalr   r   )r   r   r   r   r   stateless_uniformr   r!   s        r   uniformr%      s]    VXEio&D99&&wwvu%wwvu% '  r   c                     t        t        |            }t        j                  j	                  | ||      }t        j
                  ||      S )Nr   )r   r   r   r   stateless_categoricalr   )logitsnum_samplesr   r   outputs        r   categoricalr+   +   s<    io&DYY,,V[t,LF7765!!r   c                     |}t        |      dvrd}t        t        |            }t        j                  j                  | ||||      }t        j                  ||      S )N)r	   int64r-   r!   )r   r   r   r   r   r$   r   )r   r"   r#   r   r   intermediate_dtyper*   s          r   randintr/   1   se    '99$io&DYY((  ) F 7765!!r   c                     |xs
 t               }t        t        |            }t        j                  j                  | ||||      S r   )r   r   r   r   r   stateless_truncated_normalr   s        r   truncated_normalr2   @   sC    VXEio&D99//$vU 0  r   c                     |t        j                  |       S t        j                  |       }g }t        |      D ]  \  }}|j                  |||   n|        |S )N)r   r   	enumerateappend)inputsnoise_shapeconcrete_inputs_shapeconcrete_noise_shapeivalues         r   _get_concrete_noise_shaper<   H   si    xxHHV,k* 
5##(-!!$5	

  r   c                     |dk(  rt        j                  |       S |dk(  r| S t        t        |            }t	        | |      }t         j
                  j                  j                  | |||      S )N      ?        )rater7   r   )r   
zeros_liker   r   r<   nnexperimentalstateless_dropout)r6   r@   r7   r   s       r   dropoutrE   U   sl    s{}}V$$s{io&D+FK@K55//	 0  r   c                     t        t        |            }t        j                  t        j                  j                  t        j                  |       |   g|            }t        j                  | ||      S )N)r   r   )axis)r   r   r   argsortr   r$   r   gather)xrG   r   indicess       r   shufflerL   d   sZ    io&Djj
		##288A;t+<*=D#IG 99Qd++r   c                     |xs
 t               }t        t        |            }|}t        |      dk(  rd}t	        j
                  t        j                  j                  | |||      |      S )Nbfloat16float32)alphar   r   )r   r   r   r   r   r   r   stateless_gamma)r   rP   r   r   r.   s        r   gammarR   l   sn    VXEio&D:-&77
		!!$	 	" 	
 	 r   c           	          |xs
 t               }t        t        |            }|}t        |      dk(  rd}t	        j
                  t        j                  j                  | ||||      |      S )NrN   rO   )r   r   countsprobsoutput_dtype)r   r   r   r   r   r   r   stateless_binomial)r   rT   probabilitiesr   r   r.   s         r   binomialrY   ~   sq    VXEio&D:-&77
		$$+ 	% 	
 		 	r   c                    |xs
 t               }t        t        |            }|dz   }|}t        |      dk(  rd}t	        j
                  ||      }t	        j
                  ||      }t	        j                  ||       }t	        j                  ||       }t	        j                  t        j                  j                  | |||      |      }t	        j                  t        j                  j                  | |||      |      }	|||	z   z  }
|
S )N   rN   rO   r   )r   r   rP   r   )
r   r   r   r   r   convert_to_tensorbroadcast_tor   r   rQ   )r   rP   betar   r   seed_1seed_2r.   gamma_agamma_bsamples              r   r^   r^      s   VXE 	$(F b[F :-&  .@AE,>?D OOE5)E??4'Dgg
		!!fE9K 	" 	
 		G gg
		!!fD8J 	" 	
 		G ')*FMr   )r?   r>   NN)r-   N)r	   N)NN)r   N)
tensorflowr   keras.src.backend.commonr   keras.src.backend.configr   keras.src.random.seed_generatorr   r   r   r   r   r%   r+   r/   r2   r<   rE   rL   rR   rY   r^    r   r   <module>ri      sS     6 + 9 5 =
	""
 ,$&1r   