
    J/Ph                     P   d Z ddlmZmZ ddlmZmZmZmZm	Z	m
Z
mZ  edej                  d             Z eeej                   eeej        ej                  d                         Z edej                   eej                  d                         Z ee ej        ej                            d	             Z edej                   eej                  d
                         Z edej                   eej                  d                         ZdS )z8
Implementation of various iterable and iterator types.
    )typescgutils)lower_builtiniternext_implcall_iternextcall_getiterimpl_ret_borrowedimpl_ret_new_refRefTypegetiterc                 8    |\  }t          | ||j        |          S N)r	   return_type)contextbuildersigargsits        W/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/cpython/iterators.pyiterator_getiterr      s    DRWgsCCC    c                    t          |          dk    st          |          dk    sJ |j        d         }t          |          dk    r)|d         }|                     t          j        d          }nNt          |          dk    r;|d         }|                     ||d         |j        d         t          j                  }t          | |||          }|                     ||j                  }t          j
        ||j                  }	|                    ||	           |	|_        ||_        |                                }
t!          | ||j        |
          S )N      r   )lenr   get_constantr   intpcastr   make_helperr   r   alloca_oncetypestorecountiter	_getvaluer
   )r   r   r   r   srctysrc	start_valiterobjenumcountptrress              r   make_enumerate_objectr-      s!    t99>>SYY!^^^^HQKE
4yyA~~1g((Q77			Ta1gLL$q'38A;
KK	7GUC88Gw88D"7IN;;HMM)X&&&DJDI
..

CGWcosCCCr   iternextc           	         |j         \  }|\  }|                     |||          }|                    |j                  }|                    ||                     t          j        d                    }|                    ||j                   t          | ||j
        |j                  }	|	                                }
|                    |
           |                    |
          5  |	                                }|                    |                     ||j        ||g                     d d d            d S # 1 swxY w Y   d S )Nvaluer   )r   r   loadr#   addr   r   r   r"   r   source_typer$   is_valid	set_validif_thenyielded_valueyield_
make_tuple
yield_type)r   r   r   r   resultenumtyr*   r#   ncountsrcresr5   srcvals               r   iternext_enumeraterA   .   st    xHVFTwd;;DLL$$E[[ 4 4UZ C CDDFMM&$*%%%7GV-?KKF  H
X		"	" ; ;%%''g((&2C*/: : 	; 	; 	;; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s   )AD<<E E c                 `   |j         }t          |          t          |j                  k    sJ |                     ||          }t	          t          ||j                            D ]\  }\  }}t          | |||          ||<   |                                }	t          | ||j         |	          S r   )
r   r   source_typesr   	enumeratezipr   r   r%   r
   )
r   r   r   r   zip_typezipobjiargr&   r,   s
             r   make_zip_objectrJ   G   s    Ht99H1222222  (33F$Ssx%8%899 ? ?<C '5#>>q		




CGWcosCCCr   c                 8   |j         \  }|\  }|                     |||          }t          |          dk    r|                                 d S t	          j        ||                     |j                            }t	          j        |t          j	                  }t          t          ||j                            D ]\  }	\  }
}|                    |          }|                    |          5  t          | |||
          }|                    ||                                          }|                    ||           |                                }t	          j        ||d|	          }|                    ||           d d d            n# 1 swxY w Y   |                    |          }|                    |           |                    |          5  |                    |                    |                     d d d            d S # 1 swxY w Y   d S )Nr0   r   )r   r   r   set_exhaustedr   r    get_value_typer;   alloca_once_valuetrue_bitrD   rE   rC   r2   r7   r   and_r5   r"   r8   gep_inboundsr6   r9   )r   r   r   r   r<   rF   rG   	p_ret_tup
p_is_validrH   r)   r&   r5   r?   valptrs                   r   iternext_ziprV   U   sy    JXHV  (& AAF
6{{a#G$+$:$:8;N$O$OQ QI*7':JKKKJ(VX5J)K)KLL 	$ 	$GU<<
++__X&& 	$ 	$"7GUGDDF||Hfoo.?.?@@HMM(J///&&((C&w	1a@@CMM#s###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ||J''H
X		"	" / /gll9--.../ / / / / / / / / / / / / / / / / /s%   0BFF	F	)HHHc           	         |j         \  }|\  }|                     |          } || |||          \  }}	|                     t          |dd                     t	          j        ||j                  5  |                    d           |                    |	           d d d            n# 1 swxY w Y   t	          j	        ||j
                  5  |                                 d d d            n# 1 swxY w Y   t	          j	        ||                    |j        |                    |j
                                      5  | j                            ||           d d d            d S # 1 swxY w Y   d S )Nlibs T)r   get_generator_impladd_linking_libsgetattrr   	if_likelyis_okr6   r9   if_unlikelyis_stop_iterationrL   rP   is_errornot_	call_convreturn_status_propagate)
r   r   r   r   r<   gentygenimplstatusretvals
             r   rV   rV   {   sB    XFEDC%%e,,DT'7C66NFFWT6266777		7FL	1	1  f               
	Wf&>	?	?                		W$\\&/*1,,v7O*P*PR R
S 
S C C 	11'6BBBC C C C C C C C C C C C C C C C C Cs6   2+B))B-0B-C//C36C3 E))E-0E-N)__doc__
numba.corer   r   numba.core.imputilsr   r   r   r   r	   r
   r   IteratorTyper   rD   IterableTypeIntegerr-   EnumerateTypeNEWrA   rE   VarArgAnyrJ   ZipTyperV   	GeneratorBORROWEDrY   r   r   <module>rw      s    & % % % % % % %2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 y%,--D D .-D y%,--y%,em<<D D =< .-D0 z5.//w{; ;  0/;. sLEL++,,D D -,D z5=))w{/ /  *)/H z5?++w  C C !  ,+C C Cr   