
    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 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 m!Z! ddl"m#Z#  ejH                  dddg      Z% edddddd      Z& eddd      Z'ejP                  dfde#e!e&f   de#e!e&f   de#e!e&f   de'fdZ)  ed        ejT                  e)            Z+de#e!e&f   de#e!e&f   de#e!e&f   de'fd!Z,y)"zUPython 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Any)	AnnotatedRaggedRangert_nested_splitsrt_dense_valuesTV_RaggedRange_Tz_atypes.BFloat16z_atypes.Float32z_atypes.Float64z_atypes.Int32z_atypes.Int64TV_RaggedRange_TsplitsstartslimitsdeltasTsplitsc           
      R   t         j                   xs t        j                         }|j                  }|j                  r4	 t	        j
                  |d|| ||d|      }t        j                  |      }|S |t        j                   }t#        j$                  |d      }t'        j(                  d| ||||      \  }	}	}
}|dd }t#        j*                         rHd|
j-                  d      d|
j-                  d      f}|
j.                  }t#        j0                  d|||       t        j                  |      }|S # t        j                  $ r }t        j                  ||       Y d}~nd}~wt        j                  $ r Y nw xY w	 t        | |||||      S # t        j                  $ r Y 2w xY w)a^  Returns a `RaggedTensor` containing the specified sequences of numbers.

  
  Returns a `RaggedTensor` `result` composed from `rt_dense_values` and
  `rt_nested_splits`, such that
  `result[i] = range(starts[i], limits[i], deltas[i])`.

  ```python
  (rt_nested_splits, rt_dense_values) = ragged_range(
        starts=[2, 5, 8], limits=[3, 5, 12], deltas=1)
  result = tf.ragged.from_row_splits(rt_dense_values, rt_nested_splits)
  print(result)
  <tf.RaggedTensor [[2], [], [8, 9, 10, 11]] >
  ```

  The input tensors `starts`, `limits`, and `deltas` may be scalars or vectors.
  The vector inputs must all have the same size.  Scalar inputs are broadcast
  to match the size of the vector inputs.

  Args:
    starts: A `Tensor`. Must be one of the following types: `bfloat16`, `float32`, `float64`, `int32`, `int64`.
      The starts of each range.
    limits: A `Tensor`. Must have the same type as `starts`.
      The limits of each range.
    deltas: A `Tensor`. Must have the same type as `starts`.
      The deltas of each range.
    Tsplits: An optional `tf.DType` from: `tf.int32, tf.int64`. Defaults to `tf.int64`.
    name: A name for the operation (optional).

  Returns:
    A tuple of `Tensor` objects (rt_nested_splits, rt_dense_values).

    rt_nested_splits: A `Tensor` of type `Tsplits`.
    rt_dense_values: A `Tensor`. Has the same type as `starts`.
  r   r   N)r   namectx)r   r   r   r   r   T)_contextr   _thread_local_datais_eagerr   TFE_Py_FastPathExecute_RaggedRangeOutput_make_core_NotOkStatusException_opsraise_from_not_ok_status_FallbackExceptionragged_range_eager_fallback_SymbolicException_dtypesint64_execute	make_type_op_def_library_apply_op_helpermust_record_gradient_get_attr_typeinputsrecord_gradient)r   r   r   r   r   _ctxtld_resulte__op_outputs_attrs_inputs_flats                 Y/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/ops/gen_ragged_math_ops.pyragged_rangerA       s   H 
			0h..0$#\\11mT6669gOg"((1gn _mmGw	2''88fVF&T3!QX QK'""$3%%c*I  +-F::L|VW6$$W-'	.1 && -
##At,,## 
(
&&'$H H## 
s0    2D3 3E:E!!E:9E:>F F&%F&zraw_ops.RaggedRangec           	         |t         j                  }t        j                  |d      }t        j                  | ||g|t         j
                  t         j                  t         j                  t         j                  t         j                  gt         j                        \  }}|\  } }}| ||g}d|d|f}	t        j                  dd||	||      }
t        j                         rt        j                  d||	|
       t        j                  |
      }
|
S )Nr   r   s   RaggedRange   )r5   attrsr   r   r   )r-   r.   r/   r0   args_to_matching_eagerbfloat16float32float64int32r   r3   r6   r$   r%   )r   r   r   r   r   r   _attr_T	_inputs_Tr?   r>   r9   s              r@   r+   r+   i   s,   _mmGw	2'667OQTW^WgWgipixix  {B  {J  {J  LS  LY  LY  [b  [h  [h  Wk  mt  mz  mz  {'9&666&&),)W-&^Q|#)s?'""$|VW6$$W-'	.    )-__doc__collectionstensorflow.pythonr   tensorflow.python.eagerr   r    r   r&   r   r/   tensorflow.python.frameworkr   r-   tensorflow.security.fuzzing.pyr   _atypesr	   _op_def_registryr
   r(   r   r1   "tensorflow.python.util.deprecationr   tensorflow.python.utilr   	_dispatch tensorflow.python.util.tf_exportr   typingr   r   r   typing_extensionsr   
namedtupler$   r   r   r.   rA   	to_raw_opr   r+    rL   r@   <module>r^      s  
  6 7 1 7 9 F K 3 I C 8 6 % % '+[++*+- 
 -/ACTVgix  {J  K  !9?O\  ov  o|  o|  CG D3(8#89 D9SRbMbCc Dmvwz  }M  xM  nN D  Xn DL /i-.~t~~l/KL	#7G2G(H R[\_aq\qRr   }F  GJ  L\  G\  }]   h~ rL   