o
    *Îj~  ã                   @   s2   d
dd„Z dd„ Z		 ddd„Z		 ddd	„Zd S )Nc                 C   sH   |d u r| dkrd}n| dkrd}nd}n|}t |t| t|ƒ ƒ| ƒS )Né   é    é€   é   é   )ÚmaxÚroundÚfloat)ÚxÚbaseZ
round_base© r   úx/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/modelscope/models/cv/tinynas_classfication/global_utils.pyÚsmart_round   s   r   c                 C   sP   d}t | ƒD ]\}}|dkr|d7 }q|dkr$|d8 }|dkr#|  S q	 qd S )Né    ú(é   ú))Ú	enumerate)ÚsZleft_paren_countÚindexr	   r   r   r   Úget_right_parentheses_index   s   
ÿr   Fc                 K   sÌ   g }t | ƒdkrbd}| ¡ D ]I}|  d¡}|dkrW| d|… |krWd}|| }|j| fd|i|¤Ž\}	}
|	d ur=| |	¡ |
} t | ƒdkrU| d dkrU|| dd … f  S  nq|s\J ‚t | ƒdks|dfS )	Nr   Fr   TÚ	no_createú;r   Ú )ÚlenÚkeysÚfindZcreate_from_strÚappend)r   r   Únetblocks_dictÚkwargsZ
block_listZis_found_block_classZthe_block_class_nameZtmp_idxZthe_block_classZ	the_blockÚremaining_sr   r   r   Ú#create_netblock_list_from_str_inner"   s2   
ÿÿ
ÿ
€ñr    c                 K   s.   t | f||dœ|¤Ž\}}t|ƒdksJ ‚|S )N)r   r   r   )r    r   )r   r   r   r   Zthe_listr   r   r   r   Úcreate_netblock_list_from_str:   s   ÿÿ
ÿr!   )N)FN)r   r   r    r!   r   r   r   r   Ú<module>   s   

þþ