o
    2gG	                     @  s  d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
mZmZ ddlmZmZmZmZ ededd ed	ee	ged
edZeegedeedZeegededZeee	egedeg ddZede
gededdZedegeded eee	e	gededZdS )zPrimitive tuple ops for *variable-length* tuples.

Note: Varying-length tuples are represented as boxed Python tuple
objects, i.e. tuple_rprimitive (RPrimitive), not RTuple.
    )annotations)	ERR_FALSE	ERR_MAGIC)bit_rprimitivec_pyssize_t_rprimitiveint_rprimitivelist_rprimitiveobject_rprimitivetuple_rprimitive)	custom_opfunction_opload_address_op	method_opzbuiltins.tuplePyTuple_Type)nametypesrc__getitem__CPySequenceTuple_GetItem)r   	arg_typesreturn_typec_function_name
error_kindPyTuple_Pack)r   r   r   r   var_arg_typePyTuple_New)r   r   r   r   CPySequenceTuple_SetItemUnsafe)FFT)r   r   r   r   stealsPyList_AsTuple   )r   r   r   r   r   priorityPySequence_TupleCPySequenceTuple_GetSliceN)__doc__
__future__r   mypyc.ir.opsr   r   mypyc.ir.rtypesr   r   r   r   r	   r
   mypyc.primitives.registryr   r   r   r   tuple_get_item_opnew_tuple_opnew_tuple_with_length_opnew_tuple_set_item_oplist_tuple_optuple_slice_op r.   r.   R/home/garg/my-data/venv/lib/python3.10/site-packages/mypyc/primitives/tuple_ops.py<module>   sl     			
	
