
    BVh:
                     z    d Z ddlmZ ddlmZ ddlmZ d Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zy)z(Logical boolean operators: not, and, or.    )tensor_utilcond)gen_math_opsc                 X    t        j                  |       rt        |       S t        |       S )zFunctional form of "not".)r   
is_tf_type_tf_not_py_notas    ]/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/autograph/operators/logical.pynot_r      s$    A1:	    c                 ,    t        j                  |       S )z5Implementation of the "not_" operator for TensorFlow.)r   logical_notr   s    r   r	   r	      s    		!	!!	$$r   c                     |  S )z5Default Python implementation of the "not_" operator. r   s    r   r
   r
   "   s	    ,r   c                 j     |        }t        j                  |      rt        ||      S t        ||      S )z9Functional form of "and". Uses lazy evaluation semantics.)r   r   _tf_lazy_and_py_lazy_andr   ba_vals      r   and_r   '   s1    
#%E"q!!	eQ	r   c                 8     t        j                   | fd      S )z*Lazy-eval equivalent of "and" for Tensors.c                       S Nr   r   s   r   <lambda>z_tf_lazy_and.<locals>.<lambda>2   s    t r   tf_condr   r   r   s   ` r   r   r   /   s     
dA|	,,r   c                     | xr  |       S )z(Lazy-eval equivalent of "and" in Python.r   r!   s     r   r   r   5   s    	!#r   c                 j     |        }t        j                  |      rt        ||      S t        ||      S )z8Functional form of "or". Uses lazy evaluation semantics.)r   r   _tf_lazy_or_py_lazy_orr   s      r   or_r&   :   s1    
#%E"ua  	UA	r   c                 8     t        j                    fd|      S )z)Lazy-eval equivalent of "or" for Tensors.c                       S r   r   r   s   r   r   z_tf_lazy_or.<locals>.<lambda>E   s    D r   r   r!   s   ` r   r$   r$   B   s     
dL!	,,r   c                     | xs  |       S )z'Lazy-eval equivalent of "or" in Python.r   r!   s     r   r%   r%   H   s    	r   c                     t        j                  |       st        j                  |      rt        | |      S t        | |      S )zFunctional form of "equal".)r   r   	_tf_equal	_py_equalr   r   s     r   eqr.   M   s5    A+"8"8";Q?	1ar   c                 .    t        j                  | |      S )z Overload of "equal" for Tensors.)r   equalr-   s     r   r+   r+   T   s    			Aq	!!r   c                     | |k(  S )zGOverload of "equal" that falls back to Python's default implementation.r   r-   s     r   r,   r,   Y   s    	
a-r   c                 ,    t        t        | |            S )zFunctional form of "not-equal".)r   r.   r-   s     r   not_eqr3   ^   s    	bAhr   N)__doc__tensorflow.python.frameworkr   tensorflow.python.opsr   r    r   r   r	   r
   r   r   r   r&   r$   r%   r.   r+   r,   r3   r   r   r   <module>r7      sT    / 3 1 .%

 -
-
"

r   