o
    oh>                     @   sb   d Z ddlmZ ddddddddddd	d
dZi Zedd ZdddZdd Zdd Ze  dS )z@Configuration utilities for polynomial manipulation algorithms.     )contextmanagerFT         rabin
zassenhaus
buchberger)USE_COLLINS_RESULTANTUSE_SIMPLIFY_GCDUSE_HEU_GCDUSE_IRREDUCIBLE_IN_FACTORUSE_CYCLOTOMIC_FACTOREEZ_RESTART_IF_NEEDEDEEZ_NUMBER_OF_CONFIGSEEZ_NUMBER_OF_TRIESEEZ_MODULUS_STEPGF_IRRED_METHODGF_FACTOR_METHODGROEBNERc                  k   s>    |   D ]	\}}t|| qd V  |  D ]}t| qd S N)itemssetupkeys)kwargskv r   j/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/sympy/polys/polyconfig.pyusing   s   
r   Nc                 C   s,   |   } |dur|t| < dS t|  t| < dS )z3Assign a value to (or reset) a configuration item. N)upper_current_config_default_config)keyvaluer   r   r   r   %   s   r   c                 C   s   t |  dS )z1Ask for a value of the given configuration item. N)r    getr   )r"   r   r   r   query/   s   r%   c               	   C   sj   ddl m}  t D ](\}}| d| }|dur.zt|t|< W q
 ty-   |t|< Y q
w |t|< q
dS )z+Initialized configuration of polys module. r   )getenvSYMPY_N)osr&   r!   r   evalr    	NameError)r&   r"   defaultr#   r   r   r   	configure4   s   
r,   r   )	__doc__
contextlibr   r!   r    r   r   r%   r,   r   r   r   r   <module>   s,    

	

