a
    &ñ»j…  ã                   @   s’   d Z ddlZddlZddlmZ ddgiZg d¢Zdedœd	d
„Zddedœdd„Z	ddefdd„Z
defdd„Zdefdd„Zdefdd„ZdS )z#
Thin wrappers around `itertools`.
é    Né   )Útqdmzgithub.com/Z	casperdcl)ÚchainÚproductÚpermutationsÚcombinationsÚcombinations_with_replacementÚbatched)ÚtotalÚ
tqdm_classc              	   O   sL   | du r2zt tt|ƒƒ} W n ttfy0   Y n0 |tj|Ž fd| i|¤ŽS )z Equivalent of `itertools.chain`.Nr
   )ÚsumÚmapÚlenÚ	TypeErrorÚAttributeErrorÚ	itertoolsr   )r
   r   Ú	iterablesÚkwargs© r   ú<E:\soccer\ml_env\Lib\site-packages\tqdm/contrib/itertools.pyr      s    r   é   )Úrepeatr
   r   c              	   o   sj   |du r@zt tt|ƒƒ}W n ttfy0   Y n0 t |¡|  }|tj|d| iŽfd|i|¤ŽE dH  dS )z"Equivalent of `itertools.product`.Nr   r
   )	Úlistr   r   r   r   ÚmathÚprodr   r   )r   r
   r   r   r   Zlensr   r   r   r      s    r   c              	   K   sr   |du rVzt | ƒ}W n ttfy*   Y n,0 |du r8|n|}||krJd}nt ||¡}|t | |¡fd|i|¤ŽS )z'Equivalent of `itertools.permutations`.Nr   r
   )r   r   r   r   Úpermr   r   ©ÚiterableÚrr
   r   r   Únr   r   r   r   $   s    r   c              	   K   sb   |du rFzt | ƒ}W n ttfy*   Y n0 ||kr:d}nt ||¡}|t | |¡fd|i|¤ŽS )z'Equivalent of `itertools.combinations`.Nr   r
   )r   r   r   r   Úcombr   r   r   r   r   r   r   4   s    r   c              	   K   sŽ   |du rrzt | ƒ}W n ttfy*   Y nH0 d}t|| d |d dƒD ]}||9 }qHtd|d ƒD ]}|| }qd|t | |¡fd|i|¤ŽS )z8Equivalent of `itertools.combinations_with_replacement`.Nr   éÿÿÿÿr
   )r   r   r   Úranger   r   )r   r   r
   r   r   r   Úir   r   r   r   C   s    

r   c              	   K   sb   |du r,zt | ƒ}W n ttfy*   Y n0 |t | |¡f||durT|| d | nddœ|¤ŽS )z"Equivalent of `itertools.batched`.Nr   )Z
unit_scaler
   )r   r   r   r   r	   )r   r   r
   r   r   r   r   r   r	   S   s    ÿþr	   )Ú__doc__r   r   Úautor   Z	tqdm_autoÚ
__author__Ú__all__r   r   r   r   r   r	   r   r   r   r   Ú<module>   s   

