
    BVh	                     v    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Z
 G d	 d
ej                        Zy)z3The implementation of `tf.data.Dataset.take_while`.    )dataset_ops)structured_function)dtypes)tensor_spec)gen_experimental_dataset_opsNc                     t        | ||      S )z'See `Dataset.take_while()` for details.)name)_TakeWhileDataset)input_dataset	predicater	   s      X/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/data/ops/take_while_op.py_take_whiler      s    	=)$	??    c                   0     e Zd ZdZd fd	Zd Zd Z xZS )r
   z>A dataset that stops iteration when `predicate` returns false.c                 .   || _         t        j                  || j                         | j                         }|j                  j                  t        j                  g t        j                              st        d|j                   d      || _        || _        t        j                  | j                   j                  f| j                  j                   j"                  | j                  j                   d| j$                  }t&        | Q  ||       y)zSee `take_while()` for details.)datasetz]Invalid `predicate`. `predicate` must return a `tf.bool` scalar tensor but its return type is.)other_argumentsr   N)_input_datasetr   StructuredFunctionWrapper_transformation_nameoutput_structureis_compatible_withr   
TensorSpecr   bool
ValueError
_predicate_nameged_opstake_while_dataset_variant_tensorfunctioncaptured_inputs_common_argssuper__init__)selfr   r   r	   wrapped_funcvariant_tensor	__class__s         r   r&   z_TakeWhileDataset.__init__    s     (D&@@4,,.8K8KML ((;;r6;;/1 H&778; < < #DODJ//++00@@//** 

	N
 
G]N3r   c                     | j                   gS N)r   r'   s    r   
_functionsz_TakeWhileDataset._functions6   s    OOr   c                      y)NzDataset.take_while() r-   s    r   r   z&_TakeWhileDataset._transformation_name9   s    !r   r,   )__name__
__module____qualname____doc__r&   r.   r   __classcell__)r*   s   @r   r
   r
      s    F4,"r   r
   r,   )r4   tensorflow.python.data.opsr   r   tensorflow.python.frameworkr   r   tensorflow.python.opsr   r   r   UnaryUnchangedStructureDatasetr
   r0   r   r   <module>r:      s1    : 2 : . 3 I@
"BB "r   