o
    ?e                     @   s  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 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m Z  edej!ej"ej#ej$ej%ej&ej'ej(ej)ej*ej+ej,Z-edej&ej'Z.ddej/dfdej0e- dej0ej& de1de1de.dej0e. fddZ2ede3e2Z4dej0e- dej0ej& de1de1de.dej0e. fddZ5edej!ej"ej#ej$Z6edej&ej'Z7dndej0e7 d ej0e6 d!ej0e6 d"ej0e6 d#ej0e6 de1de1dej0e6 fd$d%Z8ed&e3e8Z9dej0e7 d ej0e6 d!ej0e6 d"ej0e6 d#ej0e6 de1de1dej0e6 fd'd(Z:ed)ej&ej'Z;ed*ej"ej#ej$Z<dndej0e; d+ej0e< de1de1dej0e< f
d,d-Z=ed.e3e=Z>dej0e; d+ej0e< de1de1dej0e< f
d/d0Z?ed1ej"ej#Z@dod+ej0e@ d2ej0e@ dej0e@ fd3d4ZAed5e3eAZBd+ej0e@ d2ej0e@ dej0e@ fd6d7ZCed8ej&ej'ZDed9ej"ej#ej$ZEdndej0eD d:ej0eE de1de1dej0eE f
d;d<ZFed=e3eFZGdej0eD d:ej0eE de1de1dej0eE f
d>d?ZHed@ej&ej'ZIedAej"ej#ej$ej&ej'ZJedBej"ej#ej$ej&ej'ZKddej/dfdej0eI d:ej0eJ de1de1dCeKdej0eK fdDdEZLedFe3eLZMdej0eI d:ej0eJ de1de1dCeKdej0eK fdGdHZNedIej!ejOejPejQejRej"ej#ej$ej%ej&ej'ej(ejSejTejUejVejWejXejYej)ej*ej+ej,ejZZ[dndJej0e[ de1de1dej0e[ fdKdLZ\edMe3e\Z]dJej0e[ de1de1dej0e[ fdNdOZ^edPej!ej"ej#ej$Z_edQej&ej'Z`dndej0e` dCe_de1de1dej0e_ f
dRdSZaedTe3eaZbdej0e` dCe_de1de1dej0e_ f
dUdVZcedWej!ej"ej#ej$ZdedXej&ej'Zedndej0ee dCedde1de1dej0ed f
dYdZZfed[e3efZgdej0ee dCedde1de1dej0ed f
d\d]Zhed^ej&ej'Zied_ej&ej'Zjdndej0ej d`ej0ei daej0ei de1de1dej0ei fdbdcZkedde3ekZldej0ej d`ej0ei daej0ei de1de1dej0ei fdedfZmedgej!ej"ej#ej$Znedhej&ej'Zodndej0eo dCende1de1dej0en f
didjZpedke3epZqdej0eo dCende1de1dej0en f
dldmZrdS )pzUPython wrappers around TensorFlow ops.

This file is MACHINE GENERATED! Do not edit.
    N)
pywrap_tfe)context)core)execute)dtypes)annotation_types)op_def_registry)ops)op_def_library)deprecated_endpoints)dispatch)	tf_export)TypeVarListTV_Multinomial_TTV_Multinomial_output_dtypelogitsnum_samplesseedseed2output_dtypereturnc                 C   s|  t j pt  }|j}|jrYzt|d|| |d|d|d|}|W S  tjy8 }	 zt	|	| W Y d}	~	nd}	~	w tj
yA   Y nw zt| ||||||dW S  tjyX   Y nw |du r_d}t|d}|du rkd}t|d}|du rxtj}t|d}tjd| |||||d\}
}
}}|dd }t rd|dd|dd	|d	d|df}|j}td||| |\}|S )
a  Draws samples from a multinomial distribution.

  Args:
    logits: A `Tensor`. Must be one of the following types: `float32`, `float64`, `int32`, `uint8`, `int16`, `int8`, `int64`, `bfloat16`, `uint16`, `half`, `uint32`, `uint64`.
      2-D Tensor with shape `[batch_size, num_classes]`.  Each slice `[i, :]`
      represents the unnormalized log probabilities for all classes.
    num_samples: A `Tensor` of type `int32`.
      0-D.  Number of independent samples to draw for each row slice.
    seed: An optional `int`. Defaults to `0`.
      If either seed or seed2 is set to be non-zero, the internal random number
      generator is seeded by the given seed.  Otherwise, a random seed is used.
    seed2: An optional `int`. Defaults to `0`.
      A second seed to avoid seed collision.
    output_dtype: An optional `tf.DType` from: `tf.int32, tf.int64`. Defaults to `tf.int64`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `output_dtype`.
  Multinomialr   r   r   N)r   r   r   namectxr   )r   r   r   r   r   r   T)_contextr   _thread_local_datais_eagerr   TFE_Py_FastPathExecute_core_NotOkStatusException_opsraise_from_not_ok_status_FallbackExceptionmultinomial_eager_fallback_SymbolicException_executemake_int_dtypesint64	make_type_op_def_library_apply_op_helpermust_record_gradient_get_attr_int_get_attr_typeinputsrecord_gradient)r   r   r   r   r   r   _ctxtld_resulte__op_outputs_attrs_inputs_flat r<   e/home/www/facesmatcher.com/pyenv/lib/python3.10/site-packages/tensorflow/python/ops/gen_random_ops.pymultinomial   s`   
r>   zraw_ops.Multinomialc                 C   s   |d u rd}t |d}|d u rd}t |d}|d u rtj}t |d}t | g|tjtjtjtj	tj
tjtjtjtjtjtjtjg\}\} t|tj}| |g}d|d|d|d|f}	t jdd||	||d}
t  rtt d	||	|
 |
\}
|
S )
Nr   r   r   r   r   s   Multinomial   r1   attrsr   r   r   )r'   r(   r)   r*   r+   args_to_matching_eagerfloat32float64int32Zuint8Zint16Zint8bfloat16Zuint16halfZuint32Zuint64r"   Zconvert_to_tensorr   r.   r2   )r   r   r   r   r   r   r   _attr_Tr;   r:   r5   r<   r<   r=   r%   \   s0   F
r%   %TV_ParameterizedTruncatedNormal_dtype!TV_ParameterizedTruncatedNormal_Tshapemeansstdevsminvalsmaxvalsc                 C   sl  t j pt  }|j}	|	jr\zt|d|| ||||d|d|}
|
W S  tjy9 } zt	|| W Y d}~nd}~w tj
yB   Y nw zt| ||||||||d	W S  tjy[   Y nw |du rbd}t|d}|du rnd}t|d}tjd| |||||||d	\}}}}|dd }
t rd|dd|dd|dd	|d	f}|j}td|||
 |
\}
|
S )
a/  Outputs random values from a normal distribution. The parameters may each be a

  scalar which applies to the entire output, or a vector of length shape[0] which
  stores the parameters for each batch.

  Args:
    shape: A `Tensor`. Must be one of the following types: `int32`, `int64`.
      The shape of the output tensor. Batches are indexed by the 0th dimension.
    means: A `Tensor`. Must be one of the following types: `half`, `bfloat16`, `float32`, `float64`.
      The mean parameter of each batch.
    stdevs: A `Tensor`. Must have the same type as `means`.
      The standard deviation parameter of each batch. Must be greater than 0.
    minvals: A `Tensor`. Must have the same type as `means`.
      The minimum cutoff. May be -infinity.
    maxvals: A `Tensor`. Must have the same type as `means`.
      The maximum cutoff. May be +infinity, and must be more than the minval
      for each batch.
    seed: An optional `int`. Defaults to `0`.
      If either `seed` or `seed2` are set to be non-zero, the random number
      generator is seeded by the given seed.  Otherwise, it is seeded by a
      random seed.
    seed2: An optional `int`. Defaults to `0`.
      A second seed to avoid seed collision.
    name: A name for the operation (optional).

  Returns:
    A `Tensor`. Has the same type as `means`.
  ParameterizedTruncatedNormalr   r   Nr   r   r   r   r   )rK   rL   rM   rN   rO   r   r   r   dtyper   )r   r   r   r   r   r   r    r!   r"   r#   r$   -parameterized_truncated_normal_eager_fallbackr&   r'   r(   r,   r-   r.   r/   r0   r1   r2   )rK   rL   rM   rN   rO   r   r   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r<   r=   parameterized_truncated_normalw   s^   
rT   z$raw_ops.ParameterizedTruncatedNormalc	                 C   s   |d u rd}t |d}|d u rd}t |d}t ||||g|tjtjtjtjg\}	}
|
\}}}}t | g|tjtj	g\}\} | ||||g}d|d|d|	d|f}t j
dd||||d}t  rjt d	||| |\}|S )
Nr   r   r   rR   r   s   ParameterizedTruncatedNormalr?   r@   rP   )r'   r(   rB   r)   rG   rF   rC   rD   rE   r*   r   r.   r2   )rK   rL   rM   rN   rO   r   r   r   r   _attr_dtypeZ_inputs_dtyperH   r;   r:   r5   r<   r<   r=   rS      s*   *rS   TV_RandomGamma_STV_RandomGamma_Talphac                 C   Z  t j pt  }|j}|jrVzt|d|| |d|d|	}|W S  tjy6 } zt	|| W Y d}~nd}~w tj
y?   Y nw zt| |||||dW S  tjyU   Y nw |du r\d}t|d}|du rhd}t|d}tjd| ||||d\}	}	}
}|dd }t rd|
dd|
dd|
dd	|
d	f}|
j}td||| |\}|S )
aZ  Outputs random values from the Gamma distribution(s) described by alpha.

  This op uses the algorithm by Marsaglia et al. to acquire samples via
  transformation-rejection from pairs of uniform and normal random variables.
  See http://dl.acm.org/citation.cfm?id=358414

  Args:
    shape: A `Tensor`. Must be one of the following types: `int32`, `int64`.
      1-D integer tensor. Shape of independent samples to draw from each
      distribution described by the shape parameters given in alpha.
    alpha: A `Tensor`. Must be one of the following types: `half`, `float32`, `float64`.
      A tensor in which each scalar is a "shape" parameter describing the
      associated gamma distribution.
    seed: An optional `int`. Defaults to `0`.
      If either `seed` or `seed2` are set to be non-zero, the random number
      generator is seeded by the given seed.  Otherwise, it is seeded by a
      random seed.
    seed2: An optional `int`. Defaults to `0`.
      A second seed to avoid seed collision.
    name: A name for the operation (optional).

  Returns:
    A `Tensor`. Has the same type as `alpha`.
  RandomGammar   r   NrQ   r   )rK   rX   r   r   r   Sr   )r   r   r   r   r   r   r    r!   r"   r#   r$   random_gamma_eager_fallbackr&   r'   r(   r,   r-   r.   r/   r0   r1   r2   )rK   rX   r   r   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r<   r=   random_gamma   sV   
r]   zraw_ops.RandomGammac                 C      |d u rd}t |d}|d u rd}t |d}t | g|tjtjg\}\} t |g|tjtjtjg\}\}| |g}d|d|d|d|f}	t j	dd||	||d}
t 
 r]t d	||	|
 |
\}
|
S )
Nr   r   r   r[   r   s   RandomGammar?   r@   rZ   r'   r(   rB   r)   rE   r*   rG   rC   rD   r   r.   r2   )rK   rX   r   r   r   r   _attr_SrH   r;   r:   r5   r<   r<   r=   r\     &   "
r\   TV_RandomGammaGrad_Tsamplec              
   C   s   t j pt  }|j}|jrPzt|d|| |}|W S  tjy2 } zt	|| W Y d}~nd}~w tj
y;   Y nw z	t| |||dW S  tjyO   Y nw tjd| ||d\}}}}	|	dd }t ryd|df}
|j}td||
| |\}|S )aB  Computes the derivative of a Gamma random sample w.r.t. `alpha`.

  Args:
    alpha: A `Tensor`. Must be one of the following types: `float32`, `float64`.
    sample: A `Tensor`. Must have the same type as `alpha`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor`. Has the same type as `alpha`.
  RandomGammaGradN)r   r   )rX   rc   r   r   )r   r   r   r   r   r   r    r!   r"   r#   r$    random_gamma_grad_eager_fallbackr&   r,   r-   r'   r.   r0   r1   r2   )rX   rc   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r<   r=   random_gamma_grad0  sB   
rf   zraw_ops.RandomGammaGradc           	      C   sn   t | |g|tjtjg\}}|\} }| |g}d|f}t jdd||||d}t  r2t d||| |\}|S )Nr   s   RandomGammaGradr?   r@   rd   )r'   rB   r)   rC   rD   r   r.   r2   )	rX   rc   r   r   rH   Z	_inputs_Tr;   r:   r5   r<   r<   r=   re   Z  s   
re   TV_RandomPoisson_STV_RandomPoisson_dtyperatec                 C   rY   )
a  Use RandomPoissonV2 instead.

  Args:
    shape: A `Tensor`. Must be one of the following types: `int32`, `int64`.
    rate: A `Tensor`. Must be one of the following types: `half`, `float32`, `float64`.
    seed: An optional `int`. Defaults to `0`.
    seed2: An optional `int`. Defaults to `0`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor`. Has the same type as `rate`.
  RandomPoissonr   r   NrQ   r   )rK   ri   r   r   r   r[   rR   )r   r   r   r   r   r   r    r!   r"   r#   r$   random_poisson_eager_fallbackr&   r'   r(   r,   r-   r.   r/   r0   r1   r2   )rK   ri   r   r   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r<   r=   random_poissonk  sX   

rl   zraw_ops.RandomPoissonc                 C   r^   )
Nr   r   r   r[   rR   s   RandomPoissonr?   r@   rj   r_   )rK   ri   r   r   r   r   r`   rU   r;   r:   r5   r<   r<   r=   rk     ra   rk   TV_RandomPoissonV2_STV_RandomPoissonV2_RTV_RandomPoissonV2_dtyperR   c                 C   s  t j pt  }|j}|jrYzt|d|| |d|d|d|}|W S  tjy8 }	 zt	|	| W Y d}	~	nd}	~	w tj
yA   Y nw zt| ||||||dW S  tjyX   Y nw |du r_d}t|d}|du rkd}t|d}|du rxtj}t|d}tjd| |||||d\}
}
}}|dd }t rd|dd|dd	|d	d
|d
d|df
}|j}td||| |\}|S )a  Outputs random values from the Poisson distribution(s) described by rate.

  This op uses two algorithms, depending on rate. If rate >= 10, then
  the algorithm by Hormann is used to acquire samples via
  transformation-rejection.
  See http://www.sciencedirect.com/science/article/pii/0167668793909974.

  Otherwise, Knuth's algorithm is used to acquire samples via multiplying uniform
  random variables.
  See Donald E. Knuth (1969). Seminumerical Algorithms. The Art of Computer
  Programming, Volume 2. Addison Wesley

  Args:
    shape: A `Tensor`. Must be one of the following types: `int32`, `int64`.
      1-D integer tensor. Shape of independent samples to draw from each
      distribution described by the shape parameters given in rate.
    rate: A `Tensor`. Must be one of the following types: `half`, `float32`, `float64`, `int32`, `int64`.
      A tensor in which each scalar is a "rate" parameter describing the
      associated poisson distribution.
    seed: An optional `int`. Defaults to `0`.
      If either `seed` or `seed2` are set to be non-zero, the random number
      generator is seeded by the given seed.  Otherwise, it is seeded by a
      random seed.
    seed2: An optional `int`. Defaults to `0`.
      A second seed to avoid seed collision.
    dtype: An optional `tf.DType` from: `tf.half, tf.float32, tf.float64, tf.int32, tf.int64`. Defaults to `tf.int64`.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `dtype`.
  RandomPoissonV2r   r   rR   Nr   r   rR   r   r   r   )rK   ri   r   r   rR   r   r[   R)r   r   r   r   r   r   r    r!   r"   r#   r$    random_poisson_v2_eager_fallbackr&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   )rK   ri   r   r   rR   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r<   r=   random_poisson_v2  s`    
rt   zraw_ops.RandomPoissonV2c              
   C   s   |d u rd}t |d}|d u rd}t |d}|d u rtj}t |d}t | g|tjtjg\}\} t |g|tjtjtj	tjtjgtj	\}\}| |g}	d|d|d|d|d|f
}
t j
dd|	|
||d	}t  rrt d
|	|
| |\}|S )Nr   r   r   rR   r[   rr   s   RandomPoissonV2r?   r@   rp   )r'   r(   r)   r*   r+   rB   rE   rG   rC   rD   r   r.   r2   )rK   ri   r   r   rR   r   r   r`   Z_attr_Rr;   r:   r5   r<   r<   r=   rs     s0   .
rs   TV_RandomShuffle_Tvaluec              
   C   sJ  t j pt  }|j}|jrTzt|d|| d|d|}|W S  tjy5 } zt	|| W Y d}~nd}~w tj
y>   Y nw z
t| ||||dW S  tjyS   Y nw |du rZd}t|d}|du rfd}t|d}tjd| |||d\}}}	}
|
dd }t rd|	dd|	dd|	df}|	j}td||| |\}|S )	a$  Randomly shuffles a tensor along its first dimension.

    The tensor is shuffled along dimension 0, such that each `value[j]` is mapped
    to one and only one `output[i]`. For example, a mapping that might occur for a
    3x2 tensor is:

  ```
  [[1, 2],       [[5, 6],
   [3, 4],  ==>   [1, 2],
   [5, 6]]        [3, 4]]
  ```

  Args:
    value: A `Tensor`. The tensor to be shuffled.
    seed: An optional `int`. Defaults to `0`.
      If either `seed` or `seed2` are set to be non-zero, the random number
      generator is seeded by the given seed.  Otherwise, it is seeded by a
      random seed.
    seed2: An optional `int`. Defaults to `0`.
      A second seed to avoid seed collision.
    name: A name for the operation (optional).

  Returns:
    A `Tensor`. Has the same type as `value`.
  RandomShuffler   r   NrQ   r   )rv   r   r   r   r   )r   r   r   r   r   r   r    r!   r"   r#   r$   random_shuffle_eager_fallbackr&   r'   r(   r,   r-   r.   r/   r0   r1   r2   )rv   r   r   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r<   r=   random_shuffle   sR   

ry   zraw_ops.RandomShufflec           	      C   s   |d u rd}t |d}|d u rd}t |d}t | g|g \}\} | g}d|d|d|f}t jdd||||d}t  rEt d||| |\}|S )	Nr   r   r   r   s   RandomShuffler?   r@   rw   )r'   r(   rB   r   r.   r2   )	rv   r   r   r   r   rH   r;   r:   r5   r<   r<   r=   rx   `  s$   
rx   TV_RandomStandardNormal_dtypeTV_RandomStandardNormal_Tc                 C   h  t j pt  }|j}|jrWzt|d|| d|d|d|
}|W S  tjy7 } zt	|| W Y d}~nd}~w tj
y@   Y nw zt| |||||dW S  tjyV   Y nw t|d}|du rcd}t|d}|du rod}t|d}tjd| ||||d\}	}	}
}|dd }t rd|
dd|
dd|
dd	|
d	f}|
j}td||| |\}|S )
a  Outputs random values from a normal distribution.

  The generated values will have mean 0 and standard deviation 1.

  Args:
    shape: A `Tensor`. Must be one of the following types: `int32`, `int64`.
      The shape of the output tensor.
    dtype: A `tf.DType` from: `tf.half, tf.bfloat16, tf.float32, tf.float64`.
      The type of the output.
    seed: An optional `int`. Defaults to `0`.
      If either `seed` or `seed2` are set to be non-zero, the random number
      generator is seeded by the given seed.  Otherwise, it is seeded by a
      random seed.
    seed2: An optional `int`. Defaults to `0`.
      A second seed to avoid seed collision.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `dtype`.
  RandomStandardNormalr   r   rR   Nrq   r   rK   rR   r   r   r   r   )r   r   r   r   r   r   r    r!   r"   r#   r$   %random_standard_normal_eager_fallbackr&   r'   r+   r(   r,   r-   r.   r/   r0   r1   r2   rK   rR   r   r   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r<   r=   random_standard_normalv  sZ   
r   zraw_ops.RandomStandardNormalc           
      C      t |d}|d u rd}t |d}|d u rd}t |d}t | g|tjtjg\}\} | g}d|d|d|d|f}t jdd||||d}	t  rQt 	d	|||	 |	\}	|	S )
NrR   r   r   r   r   s   RandomStandardNormalr?   r@   r}   
r'   r+   r(   rB   r)   rE   r*   r   r.   r2   
rK   rR   r   r   r   r   rH   r;   r:   r5   r<   r<   r=   r     &   
r   TV_RandomUniform_dtypeTV_RandomUniform_Tc                 C   r|   )
aL  Outputs random values from a uniform distribution.

  The generated values follow a uniform distribution in the range `[0, 1)`. The
  lower bound 0 is included in the range, while the upper bound 1 is excluded.

  Args:
    shape: A `Tensor`. Must be one of the following types: `int32`, `int64`.
      The shape of the output tensor.
    dtype: A `tf.DType` from: `tf.half, tf.bfloat16, tf.float32, tf.float64`.
      The type of the output.
    seed: An optional `int`. Defaults to `0`.
      If either `seed` or `seed2` are set to be non-zero, the random number
      generator is seeded by the given seed.  Otherwise, it is seeded by a
      random seed.
    seed2: An optional `int`. Defaults to `0`.
      A second seed to avoid seed collision.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `dtype`.
  RandomUniformr   r   rR   Nrq   r   r~   r   )r   r   r   r   r   r   r    r!   r"   r#   r$   random_uniform_eager_fallbackr&   r'   r+   r(   r,   r-   r.   r/   r0   r1   r2   r   r<   r<   r=   random_uniform  sZ   

r   zraw_ops.RandomUniformc           
      C   r   )
NrR   r   r   r   r   s   RandomUniformr?   r@   r   r   r   r<   r<   r=   r     r   r   TV_RandomUniformInt_ToutTV_RandomUniformInt_Tminvalmaxvalc                 C   s`  t j pt  }|j}|jrXzt|d|| ||d|d|
}|W S  tjy7 }	 zt	|	| W Y d}	~	nd}	~	w tj
y@   Y nw zt| ||||||dW S  tjyW   Y nw |du r^d}t|d}|du rjd}t|d}tjd| |||||d\}
}
}}|dd }t rd|dd|dd|dd	|d	f}|j}td||| |\}|S )
a  Outputs random integers from a uniform distribution.

  The generated values are uniform integers in the range `[minval, maxval)`.
  The lower bound `minval` is included in the range, while the upper bound
  `maxval` is excluded.

  The random integers are slightly biased unless `maxval - minval` is an exact
  power of two.  The bias is small for values of `maxval - minval` significantly
  smaller than the range of the output (either `2^32` or `2^64`).

  Args:
    shape: A `Tensor`. Must be one of the following types: `int32`, `int64`.
      The shape of the output tensor.
    minval: A `Tensor`. Must be one of the following types: `int32`, `int64`.
      0-D.  Inclusive lower bound on the generated integers.
    maxval: A `Tensor`. Must have the same type as `minval`.
      0-D.  Exclusive upper bound on the generated integers.
    seed: An optional `int`. Defaults to `0`.
      If either `seed` or `seed2` are set to be non-zero, the random number
      generator is seeded by the given seed.  Otherwise, it is seeded by a
      random seed.
    seed2: An optional `int`. Defaults to `0`.
      A second seed to avoid seed collision.
    name: A name for the operation (optional).

  Returns:
    A `Tensor`. Has the same type as `minval`.
  RandomUniformIntr   r   NrQ   r   )rK   r   r   r   r   r   Toutr   )r   r   r   r   r   r   r    r!   r"   r#   r$   !random_uniform_int_eager_fallbackr&   r'   r(   r,   r-   r.   r/   r0   r1   r2   )rK   r   r   r   r   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r<   r=   random_uniform_int#  sX   
r   zraw_ops.RandomUniformIntc                 C   s   |d u rd}t |d}|d u rd}t |d}t ||g|tjtjg\}}|\}}t | g|tjtjg\}	\} | ||g}
d|d|d|d|	f}t jdd|
|||d}t  r`t d	|
|| |\}|S )
Nr   r   r   r   r   s   RandomUniformIntr?   r@   r   )	r'   r(   rB   r)   rE   r*   r   r.   r2   )rK   r   r   r   r   r   r   Z
_attr_ToutZ_inputs_ToutrH   r;   r:   r5   r<   r<   r=   r   i  s(   

r   TV_TruncatedNormal_dtypeTV_TruncatedNormal_Tc                 C   r|   )
a  Outputs random values from a truncated normal distribution.

  The generated values follow a normal distribution with mean 0 and standard
  deviation 1, except that values whose magnitude is more than 2 standard
  deviations from the mean are dropped and re-picked.

  Args:
    shape: A `Tensor`. Must be one of the following types: `int32`, `int64`.
      The shape of the output tensor.
    dtype: A `tf.DType` from: `tf.half, tf.bfloat16, tf.float32, tf.float64`.
      The type of the output.
    seed: An optional `int`. Defaults to `0`.
      If either `seed` or `seed2` are set to be non-zero, the random number
      generator is seeded by the given seed.  Otherwise, it is seeded by a
      random seed.
    seed2: An optional `int`. Defaults to `0`.
      A second seed to avoid seed collision.
    name: A name for the operation (optional).

  Returns:
    A `Tensor` of type `dtype`.
  TruncatedNormalr   r   rR   Nrq   r   r~   r   )r   r   r   r   r   r   r    r!   r"   r#   r$   truncated_normal_eager_fallbackr&   r'   r+   r(   r,   r-   r.   r/   r0   r1   r2   r   r<   r<   r=   truncated_normal  sZ   

r   zraw_ops.TruncatedNormalc           
      C   r   )
NrR   r   r   r   r   s   TruncatedNormalr?   r@   r   r   r   r<   r<   r=   r     r   r   )r   r   N)N)s__doc__collectionsZtensorflow.pythonr   Ztensorflow.python.eagerr   r   r   r    r   r'   Ztensorflow.python.frameworkr   r)   Ztensorflow.security.fuzzing.pyr   Z_atypesr   Z_op_def_registryr	   r"   r
   r,   Z"tensorflow.python.util.deprecationr   Ztensorflow.python.utilr   	_dispatchZ tensorflow.python.util.tf_exportr   typingr   r   ZBFloat16ZFloat32ZFloat64ZHalfZInt16ZInt32ZInt64ZInt8ZUInt16ZUInt32ZUInt64ZUInt8r   r   r*   ZTensorFuzzingAnnotationintr>   Z	to_raw_opr   r%   rI   rJ   rT   rP   rS   rV   rW   r]   rZ   r\   rb   rf   rd   re   rg   rh   rl   rj   rk   rm   rn   ro   rt   rp   rs   ZBoolZ
Complex128Z	Complex64ZFloat16ZQInt16ZQInt32ZQInt8ZQUInt16ZQUInt8ResourceStringZVariantru   ry   rw   rx   rz   r{   r   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r<   r<   r<   r=   <module>   s    8B>6PFN2>0*'(230@J4h(=&,<*,=*<C:,>.